PARM parameter
A JCL parameter on the EXEC statement that passes a short piece of text to the program the step runs.
Also written PARM=, PARMDD, EXEC PARM, program parameter
PARM on the EXEC statement passes text to the program: EXEC PGM=ACCTRPT,PARM='2026-10,DETAIL'. The program reads it at the start and uses it to decide what to do, such as which month to report on.
The text can be up to 100 characters. For longer values, PARMDD names a DD statement whose data is passed instead, allowing much more text.
A COBOL program receives the PARM in its LINKAGE SECTION. The first field is a two-byte binary length, followed by the text itself, and the PROCEDURE DIVISION USING phrase names that area. Programs that run under Language Environment can also receive run-time options in the PARM, separated from the program's own text by a slash.
PARM values are often set with symbolic parameters in a PROC, so the same PROC can run with different options. When a program behaves differently from what you expected, check what PARM it actually received; JESJCL shows the final value.
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
- EXEC statementThe JCL statement that starts a step by naming the program or procedure to run.
- LINKAGE SECTIONThe part of a COBOL program's DATA DIVISION that describes data passed in from outside, such as from a calling program.
- Language EnvironmentThe common run-time support for COBOL, PL/I and C programs on z/OS, which handles storage, errors and messages while they run.
- Job stepOne program execution within a job. A job is simply a sequence of steps that run in order.
- PROC overrideChanging or adding a DD statement or parameter in a PROC for one job, without editing the PROC itself.