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:
- 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.
Related Posts
| 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
Recent Posts
- How a PySpark Job Executes: Understanding Statements, Stages, and Tasks
- Azure Data Factory (ADF): The Complete Beginner-Friendly Guide (2026 Edition)
- Complete Terraform CI/CD Pipeline Setup with GitHub Actions — Beginner to Advanced
- AWS SageMaker + S3 Tutorial: Build, Train, and Deploy a LiDAR ML Model
- Why DELETE with Subqueries Fails in PySpark SQL (And How to Fix It)






