Objective: Release a job if it completes with RC=0 or if a job completed with RC=1
Example: Job B releases jobs C and D (if B completed with a RC=0) OR release jobs E and F (if B finished with a RC=1)
Insert a TASK (after job B) to loop through all jobs 'B' on the CSF, using JOBONCSF, and check the return code of the last job B and bypass the correct SUBAPPL.
Make sure you complete the task as well.
Note: If there are a lot of jobs in CSF then REXX will look at EACH "B" listed to find out the correct generation.
APPL APPL1
JOB A
RUN DAILY
RELEASE B
END JOB
JOB B
RUN DAILY
RELEASE CHECK.RC
ENDJOB
JOB CHECK.RC TASK
RUN DAILY
REXXON
J = JOBONCSF('B','X')
DO I = 1 TO J
IF XAPPLG.I = CLANGVAR('%ESPAPGEN') THEN
DO
IF XCONDCODE.I = 1 THEN
DO
"ESPNOMSG AJ JOBB_RC0 BYPASS APPL(%ESPAPPL..0)"
"ESPNOMSG AJ CHECK.RC COMPLETE APPL(%ESPAPPL..0)"
END
ELSE
DO
"ESPNOMSG AJ JOBB_RC1 BYPASS APPL(%ESPAPPL..0)"
"ESPNOMSG AJ CHECK.RC COMPLETE APPL(%ESPAPPL..0)"
END
END
END
REXXOFF
RELEASE (C,E)
ENDJOB
JOB C
SUBAPPL JOBB_RC0
RUN DAILY
RELEASE (D)
ENDJOB
JOB D
SUBAPPL JOBB_RC0
RUN DAILY
ENDJOB
JOB E
SUBAPPL JOBB_RC1
RUN DAILY
RELEASE (F)
ENDJOB
JOB F
SUBAPPL JOBB_RC1
RUN DAILY
ENDJOB