Hello !
I was reading the COND PARAMETER TUTORIAL (https://www.mainframemaster.com/tutorials/jcl/conditional-execution/cond-parameter) and examples explanation got my mind twisted :
"
*---------------------------------------------------------------
//JOBNAME JOB (ACCT),'DEVELOPER',CLASS=A
//*
//COMPILE EXEC PGM=IKFCBL00
//SYSIN DD DSN=SOURCE.COBOL(PROGRAM),DISP=SHR
//SYSLIN DD DSN=&&OBJSET,DISP=(NEW,PASS),
// UNIT=SYSDA,SPACE=(TRK,(5,5))
//SYSPRINT DD SYSOUT=*
//*
//LINK EXEC PGM=IEWL,COND=(4,LT,COMPILE)
//SYSLIN DD DSN=&&OBJSET,DISP=(OLD,DELETE)
//SYSLMOD DD DSN=LOAD.LIBRARY(PROGRAM),DISP=SHR
//SYSPRINT DD SYSOUT=*
//*
//EXECUTE EXEC PGM=PROGRAM,COND=((4,LT,COMPILE),(0,NE,LINK))
//STEPLIB DD DSN=LOAD.LIBRARY,DISP=SHR
//SYSOUT DD SYSOUT=*
---------------------------------------------------------------
Example 1 Explanation:
LINK step - Skip if COMPILE return code < 4 (Execute only if COMPILE was successful or had minor warnings)
EXECUTE step - Skip if COMPILE return code < 4 OR LINK return code ≠ 0 (Execute only if both steps completed successfully)*
"
"Skip if COMPILE return code < 4 (Execute only if COMPILE was successful or had minor warnings)" -> doesn t "Skip if COMPILE return code < 4 " means that we execute LINK only when COMPILE end with CR >= 4 and seems to have more than minor warnings (assuming that CR >= 4 means minor warnings and errors) ?
Shouldn t explanation be reversed into something like:
"Skip if 4 < COMPILE return code" -> that would mean that we execute LINK only when COMPILE end with CR <= 4, for it would be the only cases where COND=(4,LT,COMPILE) is false and thus LINK not SKIPPED
i got the same issues with other examples explanations
Am i getting it right or am i missing something ?
Kindly