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 6 - Job monitoring - 3

&pagelevel(3)&pagelevel

Job Monitoring

The job SPV checks the execution of JOBA, JOBB and JOBC. By setting the job variable MONA, JOBA influences both the start of JOBB and the “forced” termination of JOBC (CANCEL-JOB). MONB and MONC are monitoring job variables for JOBB and JOBC.

Job SPV

/    SET-LOGON-PARAMETERS JOB-NAME=SPV
/    ASSIGN-SYSOUT TO-FILE=OUT.E.SPV
/    REMARK *** DECLARE JOB VARIABLES ***
/    SET-JV-LINK JV-NAME=MONA
/    SET-JV-LINK JV-NAME=MONB
/    SET-JV-LINK JV-NAME=MONC
/    REMARK *** START JOBA ***
/    ENTER-JOB FROM-FILE=JOBA,JOB-CLASS=JCBATCH 
/    SHOW-USER-STATUS
/    REMARK *** START JOBB IF MONA SET ***
/    WAIT-EVENT UNTIL=*JV(CONDITION=(MONA=C'START B'),TIME-LIMIT=100)
/    ENTER-JOB FROM-FILE=JOBB,MONJV=MONB,JOB-CLASS=JCBATCH
/    SHOW-USER-STATUS
/    SHOW-JOB-STATUS JOB-ID=*MONJV(MONB)
/    REMARK *** START JOBC IF JOBB TERMINATED *** 
/    ADD-CJC-ACTION CONDITION=((MONB,1,2)=C'$T'),TIME-LIMIT=100 
/    ENTER-JOB FROM-FILE=JOBC,MONJV=MONC,JOB-CLASS=JCBATCH
/    END-CJC-ACTION
/    WAIT-EVENT UNTIL=*JV(CONDITION=((MONC,1,2)=C'$R'))
/    SHOW-JOB-STATUS JOB-ID=*MONJV(MONC)
/    REMARK *** CANCEL JOBC IF MONA SET ***
/    WAIT-EVENT UNTIL=*JV(CONDITION=(MONA=C'CANCEL C'),TIMEOUT=W1)
/    CANCEL-JOB JOB-ID=*MONJV(MONC)
/.W1 WAIT-EVENT UNTIL=*JV(TIME-LIMIT=10,TIMEOUT-LABEL=W2)
/.W2 SHOW-USER-STATUS
/    WAIT-EVENT UNTIL=*JV(TIME-LIMIT=20,TIMEOUT-LABEL=W3)
/.W3 EXIT-JOB

Job JOBA

/SET-LOGON-PARAMETERS JOB-NAME=JOBA
/ASSIGN-SYSOUT TO=OUT.E.JOBA
/WRITE-TEXT TEXT=C'***************************************************'
/WRITE-TEXT TEXT=C'***     H E R E  I S   J O B A                 ****'
/WRITE-TEXT TEXT=C'***************************************************'
/MODIFY-JV JV=MONA,SET-VALUE=C'START B'
/WAIT-EVENT UNTIL=*JV(CONDITION=((MONB,1,2)=C'$R'))
/WRITE-TEXT TEXT=C'***************************************************'
/WRITE-TEXT TEXT=C'***     J O B B    S T A R T E D               ****'
/WRITE-TEXT TEXT=C'***************************************************'
/WAIT-EVENT UNTIL=*JV(TIME-LIMIT=60,TIMEOUT-LABEL=W1)
/.W1 MODIFY-JV JV=MONA,SET-VALUE=C'CANCEL C'
/WAIT-EVENT UNTIL=*JV(CONDITION=((MONC,1,2)=C'$A'))
/WRITE-TEXT TEXT=C'***************************************************'
/WRITE-TEXT TEXT=C'***     J O B C    C A N C E L E D             ****'
/WRITE-TEXT TEXT=C'***************************************************'
/EXIT-JOB

Job JOBB

/SET-LOGON-PARAMETERS JOB-NAME=JOBB
/ASSIGN-SYSOUT TO=OUT.E.JOBB
/WRITE-TEXT TEXT=C'***************************************************'
/WRITE-TEXT TEXT=C'***     H E R E   I S   J O B B                ****'
/WRITE-TEXT TEXT=C'***************************************************'
/WAIT-EVENT UNTIL=*JV(TIME-LIMIT=20,TIMEOUT-LABEL=W1)
/.W1 EXIT-JOB

Job JOBC

/SET-LOGON-PARAMETERS JOB-NAME=JOBC
/ASSIGN-SYSOUT TO=OUT.E.JOBC
/WRITE-TEXT TEXT=C'***************************************************'
/WRITE-TEXT TEXT=C'***     H E R E   I S   J O B C                ****'
/WRITE-TEXT TEXT=C'***************************************************'
/SET-JV-LINK JV=#LOOP
/.S1 MODIFY-JV JV=#LOOP,SET-VALUE=C'RUN'
/    WAIT-EVENT UNTIL=*JV(CONDITION=(#LOOP=C'END'),/
                         TIME-LIMIT=20,TIMEOUT-LABEL=S1)
/EXIT-JOB

Runtime listing for the checking job SPV (OUT.E.SPV)

/    REMARK *** DECLARE JOB VARIABLES ***
/    SET-JV-LINK JV-NAME=MONA
/    SET-JV-LINK JV-NAME=MONB
/    SET-JV-LINK JV-NAME=MONC
/    REMARK *** START JOBA ***
/    ENTER-JOB FROM-FILE=JOBA,JOB-CLASS=JCBATCH 
%  JMS0066 JOB 'JOBA' ACCEPTED ON 03-08-04 AT 15:54, TSN = 0FDN
/    SHOW-USER-STATUS
NAME      TSN TYPE       PRI      CPU-USED CPU-MAX ACCOUNT#
JOBA     0FDN 1 WT       9 255      0.0        200 89001
COGDIA   0FDB 3 DIALOG   0 240      0.7721   32767 89001
SPV      0FDM 2 BATCH    9 255      0.0216     200 89001
%  SPS0171 NO LOCAL SPOOLOUT JOB PRESENT
%  SRO0376 NO RSO JOB OF TYPE 'T7' PRESENT
%  SPS0420 RSO WARNING : SOME RSO PRINT-JOBS CANNOT BE DISPLAYED
/    REMARK *** START JOBB IF MONA SET ***
/    WAIT-EVENT UNTIL=*JV(CONDITION=(MONA=C'START B'),TIME-LIMIT=100)
%  CJC0020 WAIT COMMAND: TASK ENTERED WAIT STATE AT 15:54:40
%  CJC0021 WAIT COMMAND: CONDITION = TRUE AT 15:54:41
/    ENTER-JOB FROM-FILE=JOBB,MONJV=MONB,JOB-CLASS=JCBATCH
%  JMS0066 JOB 'JOBB' ACCEPTED ON 03-08-04 AT 15:54, TSN = 0FDP
/    SHOW-USER-STATUS
NAME      TSN TYPE       PRI      CPU-USED CPU-MAX ACCOUNT#
JOBB     0FDP 1 WT       9 255      0.0        200 89001
         0FDB 3 DIALOG   0 240      0.7721   32767 89001
SPV      0FDM 2 BATCH    9 255      0.0311     200 89001
JOBA     0FDN 2 BATCH    9 255      0.0150     200 89001
%  SPS0171 NO LOCAL SPOOLOUT JOB PRESENT
%  SRO0376 NO RSO JOB OF TYPE 'T7' PRESENT
%  SPS0420 RSO WARNING : SOME RSO PRINT-JOBS CANNOT BE DISPLAYED
/    SHOW-JOB-STATUS JOB-ID=*MONJV(MONB)
TSN:     0FDP       TYPE:    1 WT       NOW:     2003-08-04.155441
JOBNAME: JOBB       PRI:     9 255      SPOOLIN: 2003-08-04.1554
USERID:  COGNITAS   JCLASS:  JCBATCH    INTYPE:       0
ACCNB:   89001      CPU-MAX:    200     START:   SOON
REPEAT:  NO         RERUN:   NO         FLUSH:   NO
ORIGFILE::4V05:$COGNITAS.JOBB
MONJV:   :4V05:$COGNITAS.MONB
/    REMARK *** START JOBC IF JOBB TERMINATED *** 
/    ADD-CJC-ACTION CONDITION=((MONB,1,2)=C'$T'),TIME-LIMIT=100 
/    ENTER-JOB FROM-FILE=JOBC,MONJV=MONC,JOB-CLASS=JCBATCH
/    END-CJC-ACTION
%  CJC0050 CJC ACTION WITH ID =    2, LABEL = *NONE: ACCEPTED FOR FURTHER 
EVENTS AT 15:54:41, COUNT = 1
/    WAIT-EVENT UNTIL=*JV(CONDITION=((MONC,1,2)=C'$R'))
%  CJC0020 WAIT COMMAND: TASK ENTERED WAIT STATE AT 15:54:41
% CJC0051 CJC ACTION WITH ID = 2, LABEL = *NONE: CONDITION TRUE AT
15:55:04, COUNT = 0
% CJC0064 CJC ACTION WITH ID = 2, LABEL = *NONE: START OF ON OR TIMEOUT
SEQUENCE
% JMS0066 JOB 'JOBC' ACCEPTED ON 03-08-04 AT 15:55, TSN = 0FDR
% CJC0065 CJC ACTION WITH ID = 2, LABEL = *NONE: END OF ON OR TIMEOUT
SEQUENCE
% CJC0052 CJC ACTION WITH ID = 2, LABEL = *NONE: TERMINATION NORMAL
% CJC0021 WAIT COMMAND: CONDITION = TRUE AT 15:55:04
/ SHOW-JOB-STATUS JOB-ID=*MONJV(MONC)
TSN: 0FDR TYPE: 2 BATCH NOW: 2003-08-04.155504
JOBNAME: JOBC PRI: 9 255 SPOOLIN: 2003-08-04.1555
USERID: COGNITAS JCLASS: JCBATCH LOGON: 2003-08-04.1555
ACCNB: 89001 CPU-MAX: 200 CPU-USED:000000.0050
REPEAT: NO RERUN: NO FLUSH: NO
MRSCAT: HOLD: NO START: SOON
TID: 00010067 UNP/Q#: 00/000
CMD:
ORIGFILE::4V05:$COGNITAS.JOBC
MONJV: :4V05:$COGNITAS.MONC
/ REMARK *** CANCEL JOBC IF MONA SET ***
/ WAIT-EVENT UNTIL=*JV(CONDITION=(MONA=C'C CANCELN'),TIMEOUT-LABEL=W1)
% CJC0020 WAIT COMMAND: TASK ENTERED WAIT STATE AT 15:55:04
% CJC0021 WAIT COMMAND: CONDITION = TRUE AT 15:55:41
/ CANCEL-JOB JOB-ID=*MONJV(MONC)
% CAN00OK CANCEL PROCESSING STARTED FOR TSN '0FDR' WITH USER ID 'COGNITAS'
/.W1 WAIT-EVENT UNTIL=*JV(TIME-LIMIT=10,TIMEOUT-LABEL=W2)
% CJC0020 WAIT COMMAND: TASK ENTERED WAIT STATE AT 15:55:41
% CJC0022 WAIT COMMAND: TIMEOUT AT 15:55:52, SKIP TO TIMEOUT LABEL OR NEXT
STEP
/.W2 SHOW-USER-STATUS
NAME TSN TYPE PRI CPU-USED CPU-MAX ACCOUNT#
0FDB 3 DIALOG 0 240 0.7756 32767 89001
SPV 0FDM 2 BATCH 9 255 0.0525 200 89001
JOBB 0FDQ 4 PR 255 1 0 0 0FDP
JOBC 0FDS 4 PR 255 1 0 0 0FDR
JOBA 0FDT 4 PR 255 1 0 0 0FDN
% SPS0420 RSO WARNING : SOME RSO PRINT-JOBS CANNOT BE DISPLAYED
/ WAIT-EVENT UNTIL=*JV(TIME-LIMIT=20,TIMEOUT=W3)
% CJC0020 WAIT COMMAND: TASK ENTERED WAIT STATE AT 15:55:52
% CJC0022 WAIT COMMAND: TIMEOUT AT 15:56:12, SKIP TO TIMEOUT LABEL OR NEXT
STEP
/.W3 EXIT-JOB
% EXC0419 /LOGOFF AT 1556 ON 03-08-04 FOR TSN '0FDM'
% EXC0421 CPU TIME USED: 0.0595 


Runtime listing for job JOBA (OUT.E.JOBA)

/WRITE-TEXT TEXT=C'***************************************************'
***************************************************
/WRITE-TEXT TEXT=C'***     H E R E  I S   J O B A                 ****'
****     H E R E  I S   J O B A                 ****
/WRITE-TEXT TEXT=C'***************************************************'
***************************************************
/MODIFY-JV JV=MONA,SET-VALUE=C'START B'
/WAIT-EVENT UNTIL=*JV(CONDITION=((MONB,1,2)=C'$R'))
%  CJC0020 WAIT COMMAND: TASK ENTERED WAIT STATE AT 15:54:40
%  CJC0021 WAIT COMMAND: CONDITION = TRUE AT 15:54:41
/WRITE-TEXT TEXT=C'***************************************************'
***************************************************
/WRITE-TEXT TEXT=C'***     J O B B    S T A R T E D               ****'
***     J O B B    S T A R T E D               ****
/WRITE-TEXT TEXT=C'***************************************************'
***************************************************
/WAIT-EVENT UNTIL=*JV(TIME-LIMIT=60,TIMEOUT-LABEL=W1)
%  CJC0020 WAIT COMMAND: TASK ENTERED WAIT STATE AT 15:54:41
%  CJC0022 WAIT COMMAND: TIMEOUT AT 15:55:41, SKIP TO TIMEOUT LABEL OR NEXT 
STEP
/.W1 MODIFY-JV JV=MONA,SET-VALUE=C'CANCEL C'
/WAIT-EVENT UNTIL=*JV(CONDITION=((MONC,1,2)=C'$A'))
%  CJC0020 WAIT COMMAND: TASK ENTERED WAIT STATE AT 15:55:41
%  CJC0021 WAIT COMMAND: CONDITION = TRUE AT 15:55:42
/WRITE-TEXT TEXT=C'***************************************************'
***************************************************
/WRITE-TEXT TEXT=C'***     J O B C    C A N C E L E D             ****'
***     J O B C    C A N C E L E D             ****
/WRITE-TEXT TEXT=C'***************************************************'
***************************************************
/EXIT-JOB
%  EXC0419 /LOGOFF AT 1555 ON 03-08-04 FOR TSN '0FDN'
%  EXC0421 CPU TIME USED: 0.0257

Runtime listing for job JOBB (OUT.E.JOBB)

/WRITE-TEXT TEXT=C'***************************************************'
***************************************************
/WRITE-TEXT TEXT=C'***     H E R E   I S   J O B B                ****'
***     H E R E   I S   J O B B                ****
/WRITE-TEXT TEXT=C'***************************************************'
***************************************************
/WAIT-EVENT UNTIL=*JV(TIME-LIMIT=20,TIMEOUT-LABEL=W1)
%  CJC0020 WAIT COMMAND: TASK ENTERED WAIT STATE AT 15:54:41
%  CJC0022 WAIT COMMAND: TIMEOUT AT 15:55:02, SKIP TO TIMEOUT LABEL OR NEXT 
STEP
/.W1 EXIT-JOB
%  EXC0419 /LOGOFF AT 1555 ON 03-08-04 FOR TSN '0FDP'
%  EXC0421 CPU TIME USED: 0.0178

Runtime listing for job JOBC (OUT.E.JOBC)

/WRITE-TEXT TEXT=C'***************************************************'
***************************************************
/WRITE-TEXT TEXT=C'***     H E R E   I S   J O B C                ****'
***     H E R E   I S   J O B C                ****
/WRITE-TEXT TEXT=C'***************************************************'
***************************************************
/SET-JV-LINK JV=#LOOP
/.S1 MODIFY-JV JV=#LOOP,SET-VALUE=C'RUN'
/    WAIT-EVENT UNTIL=*JV(CONDITION=(#LOOP=C'END'),
TIME-LIMIT=20,TIMEOUT-LABEL=S1)
%  CJC0020 WAIT COMMAND: TASK ENTERED WAIT STATE AT 15:55:04
%  CJC0022 WAIT COMMAND: TIMEOUT AT 15:55:25, SKIP TO TIMEOUT LABEL OR NEXT 
STEP
/.S1 MODIFY-JV JV=#LOOP,SET-VALUE=C'RUN'
/    WAIT-EVENT UNTIL=*JV(CONDITION=(#LOOP=C'END'),
TIME-LIMIT=20,TIMEOUT-LABEL=S1)
%  CJC0020 WAIT COMMAND: TASK ENTERED WAIT STATE AT 15:55:25
%  CAN00BY CANCELLED BY 'BTCH 0FDM COGNITAS SPV'
%  NRTT201 TASK TERMINATION DUE TO /CANCEL(-JOB)  COMMAND
%  EXC0419 /LOGOFF AT 1555 ON 03-08-04 FOR TSN '0FDR'
%  EXC0421 CPU TIME USED: 0.0245