A JCL statement consists of one or more 80-byte records.
Each record is comparable to an 80-column punched-card image. Each JCL statement is logically divided into the following five
fields. All five fields do not appear on every statement; see
Table 1 for the fields that can appear on each
statement.
- Identifier field
- The identifier field indicates to the system that a statement
is a JCL statement rather than data. The identifier field consists
of the following:
- Columns 1 and 2 of all JCL statements, except the delimiter statement,
contain //
- Columns 1 and 2 of the delimiter statement contain either /* or
two other characters designated in a DLM parameter to be the delimiter
- Columns 1, 2, and 3 of a JCL comment statement contain //*
- Name field
- The name field identifies a particular statement so that other
statements and the system can refer to it. For JCL statements, code
the name as follows:
- The name must begin in column 3.
- The name is 1 through 8 alphanumeric or national ($, #, @) characters.
See Table 1 for the character
sets.
- The first character must be an alphabetic or national ($, #, @).
- The name must be followed by at least one blank.
- Operation field
- The operation field specifies the type of statement, or, for the
command statement, the command. Code the operation field as follows:
- The operation field consists of the characters in the syntax box
for the statement.
- The operation follows the name field.
- The operation must be preceded and followed by at least one blank.
- Parameter, or operand field
- The parameter field, also sometimes referred to as the operand
field, contains parameters separated by commas. Code the parameter
field as follows:
- The parameter field follows the operation field.
- The parameter field must be preceded by at least one blank.
See Parameter field for details on coding
the parameter field.
- Comments field
- The comments field contains any information you deem helpful when
you code the control statement. Code the comments field as follows:
- The comments field follows the parameter field.
- The comments field must be preceded by at least one blank.
You can code comments after the parameter field even though
you continue the parameter field on a subsequent statement; see Continuing JCL statements.
For most statements, if you do
not code any parameters, do not code any comments.
Table 1. JCL Statement
FieldsStatement
|
Fields
|
---|
JCL Command
|
// command [parameter] [comments]
|
COMMAND
|
//[name] COMMAND ‘command command-operand’ [comments]
|
Comment
|
//* comments
|
CNTL
|
//label CNTL [* comments]
|
DD
|
//[ddname] DD [parameter [comments]]
//[ddname] DD
|
Delimiter
|
/* [comments]
xx [comments]
|
ENDCNTL
|
//[label] ENDCNTL [comments]
|
EXEC
|
//[stepname] EXEC parameter [comments]
|
IF/THEN/ELSE/ENDIF
|
//name IF [relational expression] THEN [comments]
//name ELSE [comments]
//name ENDIF [comments]
|
INCLUDE
|
//[name] INCLUDE parameter [comments]
|
JCLLIB
|
//[name] JCLLIB parameter [comments]
|
JOB
|
//jobname JOB [parameter [comments]]
//jobname JOB
|
Null
|
//
|
OUTPUT JCL
|
//name OUTPUT parameter [comments]
|
PEND
|
//[name] PEND [comments]
|
PROC (cataloged)
|
//[name] PROC [parameter [comments]]
//[name] PROC
|
PROC (in-stream)
|
//name PROC [parameter [comments]]
//name PROC
|
SET
|
//[name] SET parameter [comments]
|
XMIT
|
//[name] XMIT parameter[,parameter] [comments]
|
Location of fields on statements: Code the identifier field beginning in column 1 and the name field
immediately after the identifier, with no intervening blanks. Code
the operation, parameter, and comments fields in free form. Free
form means that the fields need not begin in a particular column.
Between fields leave at least one blank; the blank serves as the delimiter
between fields.
Do not code fields, except on the comment statement, past column
71. Columns 73-80 are ignored by z/OS® and
are typically used for sequence numbers. If the total length
of the fields would exceed 71 columns, continue the fields onto one
or more following statements. Continuing fields is described under Continuing JCL statements. The comment statement can be coded through
column 80.
Use keywords only for parameters or subparameters: Do not use parameter or subparameter keywords from any JCL, JES2,
or JES3 statements as symbolic parameters, names, or labels.