![]() |
Notes on Procedures
The DO procedure described below creates a console that performs the following functions:
1) System dumps will be automatically answered with tsn.Y.
2) Those users logged on as TSOS or TT08 are allowed to enter any console command via a /TYPE CFSCON:/cmd or /TYPE CFSCON:tsn.xxxx command.
3) The DO procedure will be terminated by entering a /TYPE TERMINATE CONSOLE command.
/PROC N
/SYSFILE SYSDTA=(SYSCMD)
/SETSW ON=(1,4)
/EXEC $CFS.CFS
*002 FILE=NO
OC9$CONSOLE,,,R
xxxxx,C'sssss'
*ON %OUT=($CFS.CFS.PROCLIB(X/SRCITEM)) RESUME
CC9/STA MSG check if any messages are outstanding
*SKIP .SETTSN
.LOOP
*ON %OUT activate last *ON %OUT condition
CC9
.SETTSN
*&TEXT=%PTR(1,80) mark message text
*WRITE '&TEXT' display message text
*&TASK=%PTR(1,4)
*SKIP &SLABEL
.SYSDUMP
*WRITE '--------> &TASK..Y'
*SEND '&TASK..Y'
*SKIP .LOOP
.CFSCONSOLE
*IF %OUT=:1:'%' &TASK=%PTR(1,4)
*&VAR='USER-ID('&TASK.')'
*IF &&VAR='TSOS' SKIP .ALLOW-CONSINPUT
*IF &&VAR='TT08' SKIP .ALLOW-CONSINPUT
*WRITE '/MESS TSN=&TASK,USER-ID &&VAR. CONSOLE INPUT NOT ALLOWED'
*SEND '/MESS TSN=&TASK,USER-ID &&VAR. CONSOLE INPUT NOT ALLOWED'
*SKIP .LOOP
.ALLOW-CONSINPUT
*&TEXT2=&TEXT(1,50)
*WRITE 'COMMAND EXECUTED: &TEXT2'
*SEND '&TEXT'
*SEND '/MESS TSN=&TASK,COMMAND EXECUTED: &TEXT2'
*SKIP .LOOP
.EXIT
*ON %TIME=0 RETURN Return to the CFS command field
DC9
END Terminate CFS
/SETSW OFF=(1,4)
/ENDP
The conditions determining which console messages should act as a catalyst are stored in the element X/SRC ITEM in the $CFS.CFS.PROCLIB PLAM library. In this example, the element will have the following contents:
'SYSTEMDUMP DESIRED'+:1-20:'?' .SYSDUMP
'CFSCON:' .CFSCONSOLE
'TERMINATE CFSCONSOLE' .EXIT