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).
- Restart a PROC step by RESTART=jclstepname.procstepname
- 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|
- INCLUDE statement, we can use it to copy a portion of STEP information.
//abcde DD SYSOUT=*
// INCLUDE name
//name DD DSN=psname
- 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.
- Maximum number of Instream PROC we can nest in a JCL is 15
- We cannot call a PROC from a PROC