Programmüberwachung
Das Beispiel soll die Benutzung überwachender Jobvariablen für die Kommunikation zwischen Programmen zeigen. Es sind zwei Programme, jedes innerhalb eines Prozesses, vorhanden.
Programm-1 soll auf jeden Fall laufen, wogegen Programm-2 je nach Ausgang von Programm-1 laufen soll oder nicht. Deshalb muss Programm-2 die Beendigung von Programm-1 abwarten und prüfen, ob es normal beendet wurde.
Die überwachende Jobvariable wird von JOB2 nach erfolgter Abfrage gelöscht. Beide Aufträge werden unter derselben Benutzerkennung gestartet. Der Auftrag kann nach Programm-1 noch weitere Verarbeitungsschritte vorsehen, unabhängig von der Durchführung von Auftrag JOB2.
/ SET-LOGON-PARAMETERS JOB-NAME=JOB1 / START-PROGRAM FROM-FILE=PROGRAM-1,MONJV=JV.PROG1 / SET-JOB-STEP / SKIP-COMMANDS TO-LABEL=FEHL,IF=*JV(CONDITION=((JV.PROG1,1,2)=C'$A')) / START-EXE FROM-FILE=PROGRAM-XY ———————————————————————————————— (1) . . . . /.FEHL SHOW-JV JV=JV.PROG1 / EXIT-JOB / SET-LOGON-PARAMETERS JOB-NAME=JOB2 / SHOW-JV JV=JV.PROG1 / WAIT-EVENT UNTIL=*JV(CONDITION=(((JV.PROG1,1,2)=C'$T' OR - / (JV.PROG1,1,2)=C'$A')), - / TIME-LIMIT=3600,TIMEOUT-LABEL=FEHL) / SKIP-COMMANDS TO-LABEL=FEHL,IF=JV(CONDITION=((JV.PROG1,1,2)=C'$A')) / START-EXE FROM-FILE=PROGRAM-2 /.FEHL SHOW-JV JV=JV.PROG1 / DELETE-JV JV=JV.PROG1 / EXIT-JOB
(1) Das Kommando START-EXECUTABLE-PROGRAM ersetzt ab BLSSERV 2.3 das Kommando START-PROGRAM