Example 1

//A103D01  JOB .....
//SALARY   PROC  GENER=+1
//S190     EXEC  PGM=PAX
//PDS      DD    DSN=WATSON,DISP=SHR
//PRELPDS  DD    DSN=T191(&GENER),DISP=(NEW,CATLG,DELETE)
//CARDS    DD    DSN=T830(&GENER),DISP=OLD
//STAT     DD    DSN=T192(&GENER),DISP=(NEW,CATLG,DELETE)
//         PEND
//*%OPC RECOVER ERRSTEP=SAX91,JOBCODE=SALR,TIME=0000-2400,
//*%OPC      DELSTEP=SAX80-SAX91,ADDPROC=SALRECOV
//*%OPC RECOVER ERRSTEP=SAX92...  (for steps after SAX91)
//SAX80    EXEC  PGM=IEBISAM
           .
           .
           .
//SAX91    EXEC  SALARY
           .
           .
           .
 Procedure library member SALRECOV:
//*%OPC RECOVER ERRSTEP=SAX92...  (for steps after SAX91)
//SAX91    EXEC  SALARY,GENER=0
In example 1:
  • The RECOVER statement specifies that, if there is an error in step SAX91 with an error code in the SALR case code list, all steps from SAX80 up to and including SAX91 should be deleted. (For more information on case codes, see Case code lists.) They are replaced by the member SALRECOV from the HCL Workload Automation for Z procedure library. SALRECOV contains RECOVER statements for the steps after the failed one and an EXEC statement to run the internal procedure, now with a different value on the symbolic parameter to modify the failed step.