Programmüberwachung TERM-Makro
Das Beispiel zeigt die Benutzung des TERM-Makros, mit dem ein vom Benutzer definierter Rückkehrcode in die das Programm überwachende Jobvariable eingetragen werden kann. Ein Programm PROG1 setzt im Fehlerfall die überwachende Jobvariable auf einen Wert größer 1. Der Benutzer kann nun diesen Wert abfragen, um zu entscheiden, ob es sinnvoll ist, ein weiteres Programm (PROG2) ausführen zu lassen oder nicht. Man beachte, dass vom System die Zustandsanzeige (3 Stellen) gesetzt wird, sodass der vom Benutzer geänderte Wert bei Position 4 anfängt. Seine Länge ist 4 Zeichen. Soll PROG2 von einem anderen Auftrag gestartet werden, so muss dort vorher auf das Programmende von PROG1 gewartet werden:
/WAIT-EVENT UNTIL=*JV(CONDITION=((ERROR,1,2)=C'$T') OR ((ERROR,1,2)=C'$A'),
TIME-LIMIT=...,TIMEOUT-LABEL=...)
Programm PROG1
PROG1 START : FEHL3 LR R9,R15 : TERM URETCD=(R9) ——————————————————————————————————————————————— (1) END : / SET-LOGON-PARAMETERS JOB-NAME=BEISP3 / SET-JV-LINK JV-NAME=ERROR / START-ASSEMBH // COMPILE SOURCE=PROG1,... // END / START-EXE FROM-FILE=*OMF,MONJV=ERROR ——————————————————————————— (2) / SET-JOB-STEP / SKIP-COMMANDS TO-LABEL=EXIT,IF=*JV(CONDITION=((ERROR,4,4)>C'0001') / START-EXE FROM-FILE=PROG2 /.EXIT EXIT-JOB
(1) | Der Operand URETCD im Term-Makro sorgt dafür, dass in der programmüberwachenden Jobvariablen hinter der Zustandsanzeige in Byte 4-7 des Wert-Feldes der Inhalt des genannten Registers aufbereitet in 4 Dezimalstellen abgelegt wird (siehe auch Handbuch „Makroaufrufe an den Ablaufteil“ [4]). |
(2) | Das Kommando START-EXECUTABLE-PROGRAM ersetzt ab BLSSERV 2.3 das Kommando START-PROGRAM |