?TACL ROUTINE #FRAME #PUSH mcgutils { The volume.subvol of the MCGUTILS library. } #PUSH process { The process name used during various processing stages.} #PUSH log { The log file to be reSHOWLOGed. } #PUSH out { Where the output should go. } #PUSH monitor { Contains MONITOR when the monitor option was selected. } =============================================================================== #SET mcgutils $DISK1.MCGUTILS =============================================================================== [#DEF display^help MACRO |BODY| #OUTPUT #OUTPUT SHOWLOG #OUTPUT #OUTPUT Shows the contents of the specified log file. #OUTPUT #OUTPUT FORMAT: SHOWLOG ~[output-location~] ~[MONITOR~] #OUTPUT EXAMPLE: SHOWLOG mylog #OUTPUT EXAMPLE: SHOWLOG mylog $S.#PLINE #OUTPUT EXAMPLE: SHOWLOG mylog MONITOR #OUTPUT ] [#DEF STOPPROC ROUTINE |BODY| #FRAME #PUSH #BREAKMODE #SET #BREAKMODE DISABLE #PUSH process [#CASE [#ARGUMENT/TEXT process/PROCESSNAME TEXT END] |1| SINK [#STOP [process]] |OTHERWISE| ] #UNFRAME ] [#DEF clean ROUTINE |BODY| #FILTER _ERROR [#CASE [#EXCEPTION] |_CALL| STOPPROC [process] |_ERROR| #OUTPUT Severe error. #PUSH error^text #ERRORTEXT/CAPTURE error^text/ OUTVAR error^text #POP error^text #RESET FRAMES #RETURN ] ] [#DEF do^work MACRO |BODY| #SET process [#CREATEPROCESSNAME] CLEAR ALL [#IF [#MATCH [monitor] MONITOR] |THEN| PARAM MONITOR-Y-N Y ] PARAM TARGET REPORT PARAM ASSUME-BLOCK-MODE-Y-N N PARAM DISPLAY-BLOCK-MODE-Y-N Y PARAM DISPLAY-CONV-MODE-Y-N Y PARAM PAGE-SIZE 80 PARAM DISPLAY-HEADINGS-Y-N Y PARAM DISPLAY-TIMESTAMP-Y-N Y [mcgutils].REPLAY/IN [log],OUT [out],NAME [process]/ ] [#DEF do^work^filter ROUTINE |BODY| #FILTER _ERROR _BREAK [#CASE [#EXCEPTION] |_CALL| do^work |_ERROR| #OUTPUT Routine error! #PUSH error^text #ERRORTEXT/CAPTURE error^text/ OUTVAR error^text #POP error^text clean #RESET FRAMES #RETURN |_BREAK| #OUTPUT detected. clean #RESET FRAMES #RETURN |OTHERWISE| #OUTPUT Otherwise!!?? ] ] [#CASE [#ARGUMENT/VALUE log/FILENAME END] |1| [#CASE [#ARGUMENT/VALUE out/PROCESSNAME/SYNTAX/ DEVICE FILENAME KEYWORD/WORDLIST monitor/ END] |1| SINK [#ARGUMENT/TEXT monitor/KEYWORD/WORDLIST monitor/ END] |2| SINK [#ARGUMENT/TEXT monitor/KEYWORD/WORDLIST monitor/ END] |3| SINK [#ARGUMENT/TEXT monitor/KEYWORD/WORDLIST monitor/ END] |4| #SETV monitor out #SET out [#MYTERM] |5| #SET out [#MYTERM] ] do^work^filter |2| display^help ] #UNFRAME