🖥 JCL
JCL Procedures (PROC)
Intermediate 🕑 15 min read
👁 1 views
15
Code Example
## JCL Procedures (PROC)
Procedures are reusable JCL templates stored in libraries or defined inline, reducing redundancy and standardizing job streams.
### Types of Procedures
1. **Cataloged Procedure**: Stored in PROCLIB
2. **Inline Procedure**: Defined within JCL
### Cataloged Procedure Usage
\`\`\`jcl
//STEP1 EXEC PROC=procname
//STEP1 EXEC procname
\`\`\`
### Inline Procedure Definition
\`\`\`jcl
//procname PROC [symbolic-params]
//...procedure JCL...
// PEND
\`\`\`
### Symbolic Parameters
Define variables for flexibility:
\`\`\`jcl
//MYPROC PROC HLQ=PROD,ENV=PROD
//STEP1 EXEC PGM=MYPGM
//INPUT DD DSN=&HLQ..DATA.&ENV,DISP=SHR
// PEND
\`\`\`
### Overriding Procedure Steps
\`\`\`jcl
//STEP1 EXEC MYPROC,HLQ=TEST,ENV=DEV
//STEP1.INPUT DD DSN=OVERRIDE.FILE,DISP=SHR
\`\`\`
### Override Syntax
- stepname.ddname: Override DD
- stepname.parameter: Override EXEC parm
- Add DD: After step override
### Procedure Libraries
Searched in order: JCLLIB, //JOBLIB, default PROCLIB