JCL Mainframe Advanced Tips on Procedures

[Destination for your career Analytics]
[Destination for your career Analytics]
Procedure we also call it as PROC. Usually PROC acts as a routine. It reduces coding the same logic multiple times. With this we can override parameters, like DD data set names, PARM parameters(using symbolic parameters).

Important Points:

  1. Restart a PROC step by RESTART=jclstepname.procstepname
  2. BothcatalogedPROCsandInstreamPROCs expanded during execution of JCL. In the spool we can see how the ROCs are expanded.
Cataloged procedure Instream procedure Meaning
// // Statement from input JCL.
XX ++ Statement from procedure.
X/ +/ Procedure statement that you modified.
XX* ++* Procedure statements, other than comment statements, that were converted to comments (probably because of an error).
*** *** Comments and JES2/JES3 control statements


  1. INCLUDE statement, we can use it to copy a portion of STEP information.
//abcde            DD  SYSOUT=*

//                        INCLUDE   name

//name            DD    DSN=psname

  1. Symbolic parameters, we can use to nullify a value or assign a new value in the PROC. For example, PARM=& (in the proc). You need to modify it in JCL as CLASS= , it will nullify. Else CLASS=’*’, it will assign default class.

  2. Maximum number of Instream PROC we can nest in a JCL is 15

  3. We cannot call a PROC from a PROC


Author: Srini

Experienced software developer. Skills in Development, Coding, Testing and Debugging. Good Data analytic skills (Data Warehousing and BI). Also skills in Mainframe.