Restrictions using IF/ELSE/ENDIF JCL clauses in PDA models

Document ID : KB000022584
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

Unpredictable results can occur with the execution of Action JCL generated by CA DATABASE ANALYZER for DB2 for z/OS (PDA).

This may occur if an EXEC card is included in IF/ELSE/ENDIF logic embedded in the JCL in the PDA model.

CA DATABASE ANALYZER for DB2 for z/OS (PDA) distributes JCL steps across needed jobs with respect to the JCL syntax rule limiting the number of steps per job to 255 and using EXEC card as a breakpoint to insert Jobcards.

Due to this restriction, some parts of IF/ELSE/ENDIF JCL logic can be set in two different jobs causing unpredictable results, such as messages IEC0005I, IEC0019I and IEC0019I at Action JCL execution time.

Solution:

As an alternate solution, use the COND JCL clause in the PDA model instead to determine if a Step should be executed or not.

For example: instead of the following format in your model:

//  IF RC LE   4 THEN
//IEFBR14 EXEC PGM=IEFBR14
//        ELSE
//STOP806 EXEC PGM=IEF806
//        ENDIF

Try replacing with:

//STOP806 EXEC PGM=IEF806
//        COND=(4,GT,ICSTEP)  <---------
//IEFBR14 EXEC PGM=IEFBR14