z/OS MVS JCL Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Examples of modifying nested procedures

z/OS MVS JCL Reference
SA23-1385-00

Example 1: The following example shows overrides and additions to DD statements.
   Procedure C:
      //C       PROC
      //CS1     EXEC  PGM=CCC
      //CS1DD1  DD    DSNAME=A.B.C,DISP=SHR
      //CS1DD2  DD    SYSOUT=A
      //        PEND

   Procedure B:
      //B       PROC
      //BS1     EXEC  PROC=C
      //CS1.CS1DD1  DD  DSNAME=X.Y.Z       This statement is a valid
      //*                                  override of procedure C, stepCS1
      //*                                  for DD CS1DD1
      //*
      //CS1.CS1DD3  DD  SYSOUT=A           This statement is a valid
      //*                                  addition to procedure C, step CS1
      //BS2     EXEC  PGM=BBB
      //BS2DD1  DD    DSNAME=E,DISP=SHR
      //        PEND

   Procedure A:
      //A       PROC
      //AS1     EXEC  PROC=B
      //BS2.BS2DD2  DD  DSNAME=G,DISP=SHR  This statement is a valid
      //*                                  addition to procedure B, step BS2
      //AS2     EXEC  PGM=AAA
      //AS2DD1  DD    DSNAME=E,DISP=SHR
      //        PEND

   Job Stream:
      //JOB1    JOB
      //STEP1   EXEC  PROC=A
      //AS2.AS2DD2  DD  DSNAME=G,DISP=SHR  This statement is a valid
      //*                                  addition to procedure A, step AS2
      //STEP2   EXEC  PGM=IEFBR14
                 .
The following statements are equivalent to the nested procedures shown above.
//JOB1    JOB
//CS1     EXEC  PGM=CCC
//CS1DD1  DD    DSNAME=X.Y.Z,DISP=SHR
//*
//CS1DD2  DD    SYSOUT=A
//CS1DD3  DD    SYSOUT=A
//*
//BS2     EXEC  PGM=BBB
//BS2DD1  DD    DSNAME=E,DISP=SHR
//BS2DD2  DD    DSNAME=G,DISP=SHR
//*
//AS2     EXEC  PGM=AAA
//AS2DD1  DD    DSNAME=E,DISP=SHR
//AS2DD2  DD    DSNAME=G,DISP=SHR
//STEP2   EXEC  PGM=IEFBR14
Example 2: The following example shows nested procedures and invalid overrides of DD statement parameters that result in JCL errors. The example refers to the rules that appear in Modifying nested procedures.
Procedure C:
      //C        PROC
      //CS1      EXEC  PGM=CCC
      //CS1DD1   DD    DSN=A.B.C,DISP=SHR
      //CS1DD2   DD    SYSOUT=A
      //         PEND

   Procedure B:
      //B        PROC
      //BS1      EXEC  PROC=C
      //CS1.CS1DD1  DD  DSNAME=X.Y.Z
      //CS1.CS1DD3  DD  SYSOUT=A
      //BS2      EXEC  PGM=BBB
      //BS2DD1   DD    DSN=E,DISP=SHR
      //         PEND

   Procedure A:
      //A        PROC
      //AS1      EXEC  PROC=B
      //BS1.CS1.CS1DD1 DD DSN=X.Y.Z    This statement is an invalid
      //*                              override of procedure B, step BS1,
      //*                              DD CS1.CS1DD1 (rules 4 and 5)
      //*
      //BS1.CS1.CS1DD3 DD SYSOUT=A     This statement is an invalid
      //*                              override of procedure B, step BS1,
      //*                              DD CS1.CS1DD3 (rules 4 and 5)
      //*
      //BS1.BS1DD1 DD  DSN=G,DISP=SHR  This statement is an invalid
      //*                              addition to procedure B, step BS1
      //*                              (rule 3)
      //AS2      EXEC  PGM=AAA
      //AS2DD1   DD    DSN=E,DISP=SHR
      //         PEND

   Job Stream:
      //JOB1     JOB
      //STEP1    EXEC  PROC=A
      //AS1.BS1.CS1.CS1DD1 DD DSN=X    This statement is an invalid
      //*                              override of procedure A, step AS1,
      //*                              DD BS1.CS1.CS1DD1 (rules 3 and 5)
      //STEP2    EXEC  PGM=IEFBR14

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014