Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Example 2 - Program monitoring - 1

&pagelevel(3)&pagelevel

Program monitoring

The second example illustrates the use of monitoring job variables for communication between programs. There are two programs, each within a separate task.
Program 1 is to run whatever the circumstances, while the decision whether program 2 runs or not depends upon the outcome of program 1. In other words, program 2 must wait for program 1 to finish and check whether it was terminated normally.
The monitoring job variable is deleted by JOB2 after a check query. Both jobs are started under the same user ID. The job can provide further processing steps after program 1, regardless of the execution of job 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)  As of BLSSERV V2.3, the START-PROGRAM command is replaced by the START-EXECUTABLE-PROGRAM command