Hinweise zu Prozeduren |
Die nachfolgend beschriebene DO-Prozedur realisiert eine Konsole, die die folgenden Funktionen ausführt: |
1) | Systemdumps werden automatisch mit tsn.Y beantwortet. |
2) | Über das Kommando /TYPE CFSCON:/cmd bzw. /TYPE CFSCON:tsn.xxxx können von Benutzertasks, die unter den Kennungen TSOS oder TT08 angeloggt sind, beliebige Konsoleingaben getätigt werden. |
3) | Die DO-Prozedur wird durch Eingabe des Kommandos /TYPE TERMINATE CONSOLE beendet. |
/PROC N /SYSFILE SYSDTA=(SYSCMD) /SETSW ON=(1,4) /EXEC $CFS.CFS *002 FILE=NO OC9$CONSOLE,,,R xxxxx,C'sssss' *&STAM='Y' *ON %OUT=($CFS.CFS.PROCLIB(X/SRCITEM)) RESUME CC9/STA MSG nachschauen, ob Anfragen ausstehen *SKIP .SETTSN |
.LOOP *IF &STAM='N' SKIP .ONOUT *SEND '/STA MSG' .ONOUT *ON %OUT letzte *ON %OUT-Bedingung aktivieren .SETTSN *&TEXT=%PTR(1,80) Meldungstext merken *WRITE '&TEXT' Meldungstext ausgeben *&TASK=%PTR(1,4) *SKIP &SLABEL .NOMSG *&STAM='N' *SKIP .LOOP .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. NICHT ZUR KONSOLEINGABE BERECHTIGT' *SEND '/MESS TSN=&TASK,USER-ID &&VAR. NICHT ZUR KONSOLEINGABE BERECHTIGT' *SKIP .LOOP .ALLOW-CONSINPUT *&TEXT2=&TEXT(1,50) *WRITE 'KOMMANDO AUSGEFUEHRT: &TEXT2' *SEND '&TEXT' *SEND '/MESS TSN=&TASK,KOMMANDO AUSGEFUEHRT: &TEXT2' *SKIP .LOOP .EXIT *ON %TIME=0 RETURN Rückkehr in das Kommandofeld von CFS DC9 END CFS beenden /SETSW OFF=(1,4) /ENDP |
Die Bedingungen, auf welche Konsolmeldungen reagiert werden soll, sind in dem Element X/SRC ITEM der PLAM-Bibliothek $CFS.CFS.PROCLIB gespeichert. In unserem Beispiel hat das Element den folgenden Inhalt: |
'SYSTEMDUMP DESIRED'+:1-20:'?' .SYSDUMP 'CFSCON:' .CFSCONSOLE 'NO MESSAGE OUTSTANDING ON THE CONSOLE' .NOMSG 'TERMINATE CFSCONSOLE' .EXIT |