PROC override
Changing or adding a DD statement or parameter in a PROC for one job, without editing the PROC itself.
Also written DD override, procstep override, stepname.ddname, override statement
A PROC is shared by many jobs, so you should not edit it just because one run needs something different. Instead, the job that runs the PROC can override parts of it.
To override a DD statement, write it after the EXEC statement that calls the PROC, named with the step inside the PROC and the DD name, joined by a full stop: //REPORT.SYSOUT DD SYSOUT=X replaces the SYSOUT DD in the step called REPORT. You only need to code the parameters you want to change. A DD name that is not in the PROC step is added instead.
Overrides for a step should be coded in the same order as the steps appear in the PROC. EXEC parameters can be overridden too, with the step name after the parameter, as in PARM.REPORT='DETAIL'.
Overrides and symbolic parameters solve similar problems. Symbolics are planned by whoever wrote the PROC. Overrides let you change anything, but they are easy to forget about, so check JESJCL to see the combined result.
Where can I learn this hands-on?
Right here, at ZedBank. You take a junior job at a simulated bank and learn each part of the work by doing it, with Zed beside you. There's nothing to install.
Start at ZedBankRelated
- PROCA reusable piece of JCL stored as a member and invoked by name, so common steps are written once.
- DD statementThe JCL statement that connects a name inside a program to a real dataset outside it.
- EXEC statementThe JCL statement that starts a step by naming the program or procedure to run.
- Symbolic parameterA name starting with an ampersand in JCL that is replaced with a value before the job runs, so the same JCL can be reused with different values.
- Job stepOne program execution within a job. A job is simply a sequence of steps that run in order.
- JCLLIBA JCL statement that names the libraries to search for PROCs and INCLUDE members used by this job.