MVS JCL Ref
MVS JCL Ref
SA22-7597-02
z/OS IBM
SA22-7597-02
Note
Before using this information and the product it supports, be sure to read the general information under “Notices” on
page B-1.
Contents v
Examples of the BLKSIZE Parameter . . . . . . . . . . . . . . 12-34
BLKSZLIM Parameter . . . . . . . . . . . . . . . . . . . . . 12-34
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 12-34
Subparameter Definition . . . . . . . . . . . . . . . . . . . 12-34
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 12-35
Relationship to Other Parameters . . . . . . . . . . . . . . . . 12-35
Example of the BLKSZLIM Parameter . . . . . . . . . . . . . . 12-35
BURST Parameter . . . . . . . . . . . . . . . . . . . . . . 12-35
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 12-36
Subparameter Definition . . . . . . . . . . . . . . . . . . . 12-36
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 12-36
Overrides. . . . . . . . . . . . . . . . . . . . . . . . . 12-36
Relationship to Other Parameters . . . . . . . . . . . . . . . . 12-36
Relationship to Other Control Statements . . . . . . . . . . . . . 12-36
Example of the BURST Parameter . . . . . . . . . . . . . . . 12-36
CCSID Parameter . . . . . . . . . . . . . . . . . . . . . . 12-37
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 12-37
Subparameter Definition . . . . . . . . . . . . . . . . . . . 12-37
Default. . . . . . . . . . . . . . . . . . . . . . . . . . 12-37
Relationship to Other Parameters . . . . . . . . . . . . . . . . 12-37
Examples of the CCSID Parameter . . . . . . . . . . . . . . . 12-38
CHARS Parameter . . . . . . . . . . . . . . . . . . . . . . 12-39
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 12-40
Subparameter Definition . . . . . . . . . . . . . . . . . . . 12-40
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 12-40
Overrides. . . . . . . . . . . . . . . . . . . . . . . . . 12-40
Relationship to Other Parameters . . . . . . . . . . . . . . . . 12-41
Relationship to Other Control Statements . . . . . . . . . . . . . 12-41
Printing Device Reassignment . . . . . . . . . . . . . . . . . 12-41
Requesting a High-Density Dump . . . . . . . . . . . . . . . . 12-41
Examples of the CHARS Parameter . . . . . . . . . . . . . . . 12-41
CHKPT Parameter . . . . . . . . . . . . . . . . . . . . . . 12-41
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 12-42
Subparameter Definition . . . . . . . . . . . . . . . . . . . 12-42
Overrides. . . . . . . . . . . . . . . . . . . . . . . . . 12-42
Relationship to Other Parameters . . . . . . . . . . . . . . . . 12-42
Relationship to the SYSCKEOV DD Statement . . . . . . . . . . . 12-42
Checkpointing Concatenated Data Sets . . . . . . . . . . . . . 12-42
Examples of the CHKPT Parameter . . . . . . . . . . . . . . . 12-42
CNTL Parameter . . . . . . . . . . . . . . . . . . . . . . . 12-43
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 12-43
Subparameter Definition . . . . . . . . . . . . . . . . . . . 12-43
Examples of the CNTL Parameter. . . . . . . . . . . . . . . . 12-43
COPIES Parameter . . . . . . . . . . . . . . . . . . . . . . 12-44
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 12-44
Subparameter Definition . . . . . . . . . . . . . . . . . . . 12-44
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 12-45
Overrides. . . . . . . . . . . . . . . . . . . . . . . . . 12-45
Relationship to Other Parameters . . . . . . . . . . . . . . . . 12-45
Relationship to Other Control Statements . . . . . . . . . . . . . 12-46
Examples of the COPIES Parameter. . . . . . . . . . . . . . . 12-46
DATA Parameter . . . . . . . . . . . . . . . . . . . . . . . 12-47
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 12-47
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 12-48
Relationship to Other Parameters . . . . . . . . . . . . . . . . 12-48
Relationship to Other Control Statements . . . . . . . . . . . . . 12-49
Contents vii
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 12-98
Subparameter Definition . . . . . . . . . . . . . . . . . . . 12-98
Relationship to Other Parameters . . . . . . . . . . . . . . . . 12-98
Example of the DSID Parameter . . . . . . . . . . . . . . . . 12-99
DSNAME Parameter . . . . . . . . . . . . . . . . . . . . . 12-99
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 12-100
Subparameter Definition . . . . . . . . . . . . . . . . . . . 12-101
Relationship to Other Parameters . . . . . . . . . . . . . . . 12-106
Examples of the DSNAME Parameter . . . . . . . . . . . . . . 12-106
DSNTYPE Parameter . . . . . . . . . . . . . . . . . . . . . 12-108
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 12-109
Subparameter Definition . . . . . . . . . . . . . . . . . . . 12-109
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 12-109
Overrides . . . . . . . . . . . . . . . . . . . . . . . . 12-109
Relationship to Other Parameters . . . . . . . . . . . . . . . 12-109
Examples of the DSNTYPE Parameter . . . . . . . . . . . . . 12-109
DUMMY Parameter . . . . . . . . . . . . . . . . . . . . . 12-110
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 12-111
Parameters on DD DUMMY Statements . . . . . . . . . . . . . 12-111
Relationship to Other Parameters . . . . . . . . . . . . . . . 12-111
Relationship to Other Control Statements . . . . . . . . . . . . 12-112
Relationship to Access Methods . . . . . . . . . . . . . . . . 12-112
Examples of the DUMMY Parameter . . . . . . . . . . . . . . 12-112
DYNAM Parameter . . . . . . . . . . . . . . . . . . . . . . 12-113
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 12-113
Relationship to Other Parameters . . . . . . . . . . . . . . . 12-113
Relationship to Other Control Statements . . . . . . . . . . . . 12-114
Example of the DYNAM Parameter . . . . . . . . . . . . . . . 12-114
EXPDT Parameter . . . . . . . . . . . . . . . . . . . . . . 12-114
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 12-114
Subparameter Definition . . . . . . . . . . . . . . . . . . . 12-115
Overrides . . . . . . . . . . . . . . . . . . . . . . . . 12-115
Relationship to Other Parameters . . . . . . . . . . . . . . . 12-115
Deleting a Data Set Before its Expiration Date. . . . . . . . . . . 12-115
Examples of the EXPDT Parameter. . . . . . . . . . . . . . . 12-116
FCB Parameter . . . . . . . . . . . . . . . . . . . . . . . 12-116
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 12-117
Subparameter Definition . . . . . . . . . . . . . . . . . . . 12-117
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 12-117
Overrides . . . . . . . . . . . . . . . . . . . . . . . . 12-117
Relationship to Other Parameters . . . . . . . . . . . . . . . 12-118
Relationship to Other Control Statements . . . . . . . . . . . . 12-118
Defining an FCB Image for a Work Station . . . . . . . . . . . . 12-118
Requesting a High-Density Dump . . . . . . . . . . . . . . . 12-118
Examples of the FCB Parameter . . . . . . . . . . . . . . . . 12-118
FILEDATA Parameter . . . . . . . . . . . . . . . . . . . . . 12-119
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 12-120
Subparameter Definition . . . . . . . . . . . . . . . . . . . 12-120
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 12-120
Overrides . . . . . . . . . . . . . . . . . . . . . . . . 12-120
Relationship to Other Parameters . . . . . . . . . . . . . . . 12-120
Example of the FILEDATA Parameter . . . . . . . . . . . . . . 12-120
FLASH Parameter . . . . . . . . . . . . . . . . . . . . . . 12-120
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 12-121
Subparameter Definition . . . . . . . . . . . . . . . . . . . 12-121
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 12-121
Contents ix
LRECL Parameter . . . . . . . . . . . . . . . . . . . . . . 12-140
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 12-140
Subparameter Definition . . . . . . . . . . . . . . . . . . . 12-140
Overrides . . . . . . . . . . . . . . . . . . . . . . . . 12-141
Relationship to Other Parameters . . . . . . . . . . . . . . . 12-141
Examples of the LRECL Parameter. . . . . . . . . . . . . . . 12-141
MGMTCLAS Parameter . . . . . . . . . . . . . . . . . . . . 12-141
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 12-142
Subparameter Definition . . . . . . . . . . . . . . . . . . . 12-142
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 12-142
Overrides . . . . . . . . . . . . . . . . . . . . . . . . 12-142
Relationship to Other Parameters . . . . . . . . . . . . . . . 12-143
Example of the MGMTCLAS Parameter . . . . . . . . . . . . . 12-143
MODIFY Parameter . . . . . . . . . . . . . . . . . . . . . 12-143
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 12-143
Subparameter Definition . . . . . . . . . . . . . . . . . . . 12-144
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 12-144
Overrides . . . . . . . . . . . . . . . . . . . . . . . . 12-144
Relationship to Other Parameters . . . . . . . . . . . . . . . 12-144
Relationship to Other Control Statements . . . . . . . . . . . . 12-144
Example of the MODIFY Parameter . . . . . . . . . . . . . . 12-145
OUTLIM Parameter . . . . . . . . . . . . . . . . . . . . . 12-145
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 12-145
Subparameter Definition . . . . . . . . . . . . . . . . . . . 12-145
Default . . . . . . . . . . . . . . . . . . . . . . . . . 12-145
Relationship to Other Parameters . . . . . . . . . . . . . . . 12-145
Relationship to Other Control Statements . . . . . . . . . . . . 12-146
Example of the OUTLIM Parameter . . . . . . . . . . . . . . 12-146
OUTPUT Parameter . . . . . . . . . . . . . . . . . . . . . 12-146
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 12-146
Subparameter Definition . . . . . . . . . . . . . . . . . . . 12-147
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 12-147
Overrides . . . . . . . . . . . . . . . . . . . . . . . . 12-147
Relationship to Other Parameters . . . . . . . . . . . . . . . 12-148
Location in the JCL . . . . . . . . . . . . . . . . . . . . 12-148
No Match for OUTPUT Name . . . . . . . . . . . . . . . . . 12-148
Processing Options in Multiple References . . . . . . . . . . . . 12-148
Examples of the OUTPUT Parameter . . . . . . . . . . . . . . 12-149
PATH Parameter . . . . . . . . . . . . . . . . . . . . . . 12-150
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 12-150
Subparameter Definition . . . . . . . . . . . . . . . . . . . 12-150
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 12-151
Relationship to Other Parameters . . . . . . . . . . . . . . . 12-151
Relationship to Other Statements . . . . . . . . . . . . . . . 12-152
Dummy HFS Files . . . . . . . . . . . . . . . . . . . . . 12-152
Example of the PATH Parameter. . . . . . . . . . . . . . . . 12-153
PATHDISP Parameter. . . . . . . . . . . . . . . . . . . . . 12-153
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 12-153
Subparameter Definition . . . . . . . . . . . . . . . . . . . 12-154
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 12-154
Relationship to Other Parameters . . . . . . . . . . . . . . . 12-154
Example of the PATHDISP Parameter . . . . . . . . . . . . . . 12-154
PATHMODE Parameter . . . . . . . . . . . . . . . . . . . . 12-155
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 12-155
Subparameter Definition . . . . . . . . . . . . . . . . . . . 12-155
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 12-157
Contents xi
Relationship to Other Parameters . . . . . . . . . . . . . . . 12-175
Examples of the RLS Parameter . . . . . . . . . . . . . . . . 12-175
SECMODEL Parameter . . . . . . . . . . . . . . . . . . . . 12-176
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 12-177
Subparameter Definition . . . . . . . . . . . . . . . . . . . 12-177
Overrides . . . . . . . . . . . . . . . . . . . . . . . . 12-177
Relationship to Other Parameters . . . . . . . . . . . . . . . 12-177
Examples of the SECMODEL Parameter. . . . . . . . . . . . . 12-177
SEGMENT Parameter . . . . . . . . . . . . . . . . . . . . 12-177
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 12-178
Subparameter Definition . . . . . . . . . . . . . . . . . . . 12-178
Overrides . . . . . . . . . . . . . . . . . . . . . . . . 12-178
Relationship to Other Parameters . . . . . . . . . . . . . . . 12-178
Example of the Segment Parameter . . . . . . . . . . . . . . 12-178
SPACE Parameter . . . . . . . . . . . . . . . . . . . . . . 12-178
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 12-180
Subparameter Definition . . . . . . . . . . . . . . . . . . . 12-180
Overrides . . . . . . . . . . . . . . . . . . . . . . . . 12-185
Relationship to Other Parameters . . . . . . . . . . . . . . . 12-185
SPACE for New Data Sets with SMS . . . . . . . . . . . . . . 12-186
Examples of the SPACE Parameter . . . . . . . . . . . . . . 12-186
SPIN Parameter . . . . . . . . . . . . . . . . . . . . . . . 12-187
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 12-187
Subparameter Definition . . . . . . . . . . . . . . . . . . . 12-187
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 12-187
Overrides . . . . . . . . . . . . . . . . . . . . . . . . 12-188
Relationship to Other Parameters . . . . . . . . . . . . . . . 12-188
Examples of the SPIN Parameter . . . . . . . . . . . . . . . 12-188
STORCLAS Parameter . . . . . . . . . . . . . . . . . . . . 12-189
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 12-189
Subparameter Definition . . . . . . . . . . . . . . . . . . . 12-189
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 12-189
Overrides . . . . . . . . . . . . . . . . . . . . . . . . 12-190
Relationship to Other Parameters . . . . . . . . . . . . . . . 12-190
Examples of the STORCLAS Parameter . . . . . . . . . . . . . 12-190
SUBSYS Parameter . . . . . . . . . . . . . . . . . . . . . 12-190
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 12-191
Subparameter Definition . . . . . . . . . . . . . . . . . . . 12-191
Relationship to Other Parameters . . . . . . . . . . . . . . . 12-192
Examples of the SUBSYS Parameter . . . . . . . . . . . . . . 12-193
SYSOUT Parameter . . . . . . . . . . . . . . . . . . . . . 12-193
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 12-194
Subparameter Definition . . . . . . . . . . . . . . . . . . . 12-194
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 12-195
Overrides . . . . . . . . . . . . . . . . . . . . . . . . 12-196
Relationship to Other Parameters . . . . . . . . . . . . . . . 12-196
Relationship to Other Control Statements . . . . . . . . . . . . 12-197
Starting an External Writer when Requested . . . . . . . . . . . 12-197
Held Classes in a JES2 System . . . . . . . . . . . . . . . . 12-197
Held Classes in a JES3 System . . . . . . . . . . . . . . . . 12-197
Significance of Output Classes . . . . . . . . . . . . . . . . 12-197
Examples of the SYSOUT Parameter . . . . . . . . . . . . . . 12-198
TERM Parameter . . . . . . . . . . . . . . . . . . . . . . 12-199
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 12-199
Subparameter Definition . . . . . . . . . . . . . . . . . . . 12-199
Relationship to Other Parameters . . . . . . . . . . . . . . . 12-199
Contents xiii
Relationship to Other Control Statements . . . . . . . . . . . . . 13-10
Location in the JCL . . . . . . . . . . . . . . . . . . . . . 13-11
Relationship of a STEPLIB to a JOBLIB . . . . . . . . . . . . . 13-11
Examples of the STEPLIB DD Statement . . . . . . . . . . . . . 13-11
SYSABEND, SYSMDUMP, and SYSUDUMP DD Statements. . . . . . . 13-12
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 13-13
Location in the JCL . . . . . . . . . . . . . . . . . . . . . 13-13
Storing a Dump . . . . . . . . . . . . . . . . . . . . . . 13-13
Printing a Dump . . . . . . . . . . . . . . . . . . . . . . 13-13
Overriding Dump DD Statements . . . . . . . . . . . . . . . . 13-14
Duplicate Dump Requests . . . . . . . . . . . . . . . . . . 13-14
Examples of the SYSABEND, SYSMDUMP, and SYSUDUMP DD
Statements . . . . . . . . . . . . . . . . . . . . . . . 13-14
SYSCHK DD Statement . . . . . . . . . . . . . . . . . . . . 13-15
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 13-15
Parameters on SYSCHK DD Statements . . . . . . . . . . . . . 13-16
Relationship to Other Control Statements . . . . . . . . . . . . . 13-17
Location in the JCL . . . . . . . . . . . . . . . . . . . . . 13-17
Examples of the SYSCHK DD Statement . . . . . . . . . . . . . 13-17
SYSCKEOV DD Statement . . . . . . . . . . . . . . . . . . . 13-17
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 13-18
Parameters on SYSCKEOV DD Statements . . . . . . . . . . . . 13-18
Location in the JCL . . . . . . . . . . . . . . . . . . . . . 13-18
Example of the SYSCKEOV DD Statement . . . . . . . . . . . . 13-18
SYSIN DD Statement . . . . . . . . . . . . . . . . . . . . . 13-18
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 13-19
Parameters on SYSIN DD Statements . . . . . . . . . . . . . . 13-19
Location in the JCL . . . . . . . . . . . . . . . . . . . . . 13-19
Examples of SYSIN DD Statements . . . . . . . . . . . . . . . 13-19
Contents xv
PROC and Procedure Name Parameters . . . . . . . . . . . . . . 16-25
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 16-25
Subparameter Definition . . . . . . . . . . . . . . . . . . . 16-25
Effect of PROC Parameter on Other Parameters and Following
Statements . . . . . . . . . . . . . . . . . . . . . . . 16-25
Examples of the PROC Parameter . . . . . . . . . . . . . . . 16-25
RD Parameter . . . . . . . . . . . . . . . . . . . . . . . . 16-26
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 16-27
Subparameter Definition . . . . . . . . . . . . . . . . . . . 16-27
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 16-28
Overrides. . . . . . . . . . . . . . . . . . . . . . . . . 16-28
Relationship to Other Control Statements . . . . . . . . . . . . . 16-28
On an EXEC Statement that Calls a Procedure . . . . . . . . . . . 16-28
Examples of the RD Parameter . . . . . . . . . . . . . . . . 16-28
REGION Parameter . . . . . . . . . . . . . . . . . . . . . . 16-29
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 16-29
Subparameter Definition . . . . . . . . . . . . . . . . . . . 16-29
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 16-30
Overrides. . . . . . . . . . . . . . . . . . . . . . . . . 16-30
Relationship to the EXEC ADDRSPC Parameter . . . . . . . . . . 16-30
On an EXEC Statement that Calls a Procedure . . . . . . . . . . . 16-31
Examples of the REGION Parameter . . . . . . . . . . . . . . 16-31
TIME Parameter . . . . . . . . . . . . . . . . . . . . . . . 16-31
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 16-32
Subparameter Definition . . . . . . . . . . . . . . . . . . . 16-32
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 16-32
Overrides. . . . . . . . . . . . . . . . . . . . . . . . . 16-32
On an EXEC Statement that Calls a Procedure . . . . . . . . . . . 16-32
Examples of the TIME Parameter . . . . . . . . . . . . . . . . 16-33
Contents xvii
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 20-17
Subparameter Definition . . . . . . . . . . . . . . . . . . . 20-17
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 20-17
Overrides. . . . . . . . . . . . . . . . . . . . . . . . . 20-17
Relationship to Other Control Statements . . . . . . . . . . . . . 20-17
Example of the CLASS Parameter . . . . . . . . . . . . . . . 20-17
COND Parameter. . . . . . . . . . . . . . . . . . . . . . . 20-17
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 20-18
Subparameter Definition . . . . . . . . . . . . . . . . . . . 20-18
Overrides. . . . . . . . . . . . . . . . . . . . . . . . . 20-19
Summary of COND Parameters . . . . . . . . . . . . . . . . 20-19
Examples of the COND Parameter . . . . . . . . . . . . . . . 20-19
GROUP Parameter . . . . . . . . . . . . . . . . . . . . . . 20-19
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 20-20
Subparameter Definition . . . . . . . . . . . . . . . . . . . 20-20
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 20-20
Example of the GROUP Parameter . . . . . . . . . . . . . . . 20-20
| JESLOG Parameter . . . . . . . . . . . . . . . . . . . . . . 20-21
| Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 20-21
| Subparameter Definition . . . . . . . . . . . . . . . . . . . 20-21
| Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 20-21
| Examples of the JESLOG Parameter . . . . . . . . . . . . . . 20-21
LINES Parameter . . . . . . . . . . . . . . . . . . . . . . . 20-22
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 20-22
Subparameter Definition . . . . . . . . . . . . . . . . . . . 20-22
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 20-23
Overrides. . . . . . . . . . . . . . . . . . . . . . . . . 20-23
Relationship to Other Parameters . . . . . . . . . . . . . . . . 20-23
Relationship to Other Control Statements . . . . . . . . . . . . . 20-23
Examples of the LINES Parameter . . . . . . . . . . . . . . . 20-23
MEMLIMIT Parameter . . . . . . . . . . . . . . . . . . . . . 20-24
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 20-24
Subparameter Definition . . . . . . . . . . . . . . . . . . . 20-24
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 20-24
Overrides. . . . . . . . . . . . . . . . . . . . . . . . . 20-24
Examples of the MEMLIMIT Parameter . . . . . . . . . . . . . . 20-24
MSGCLASS Parameter . . . . . . . . . . . . . . . . . . . . 20-25
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 20-25
Subparameter Definition . . . . . . . . . . . . . . . . . . . 20-25
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 20-25
Significance of Output Classes . . . . . . . . . . . . . . . . . 20-25
Examples of the MSGCLASS Parameter . . . . . . . . . . . . . 20-26
MSGLEVEL Parameter. . . . . . . . . . . . . . . . . . . . . 20-26
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 20-27
Subparameter Definition . . . . . . . . . . . . . . . . . . . 20-27
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 20-27
Examples of the MSGLEVEL Parameter . . . . . . . . . . . . . 20-28
NOTIFY Parameter . . . . . . . . . . . . . . . . . . . . . . 20-28
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 20-28
Subparameter Definition for JES2 Systems . . . . . . . . . . . . 20-28
Subparameter Definition for JES3 Systems . . . . . . . . . . . . 20-29
Receiving Notification of Job Completion . . . . . . . . . . . . . 20-29
Examples of the NOTIFY Parameter . . . . . . . . . . . . . . . 20-29
PAGES Parameter . . . . . . . . . . . . . . . . . . . . . . 20-30
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 20-30
Subparameter Definition . . . . . . . . . . . . . . . . . . . 20-30
Contents xix
Relationship to Other Control Statements . . . . . . . . . . . . . 20-47
Example of the SCHENV Parameter . . . . . . . . . . . . . . . 20-47
TIME Parameter . . . . . . . . . . . . . . . . . . . . . . . 20-47
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 20-48
Subparameter Definition . . . . . . . . . . . . . . . . . . . 20-48
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 20-48
Overrides. . . . . . . . . . . . . . . . . . . . . . . . . 20-48
Examples of the TIME Parameter . . . . . . . . . . . . . . . . 20-49
Examples of the TIME Parameter on JOB and EXEC Statements . . . . 20-49
TYPRUN Parameter . . . . . . . . . . . . . . . . . . . . . . 20-50
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 20-50
Subparameter Definition . . . . . . . . . . . . . . . . . . . 20-50
Relationship to Other Control Statements . . . . . . . . . . . . . 20-51
Example of the TYPRUN Parameter . . . . . . . . . . . . . . . 20-52
USER Parameter . . . . . . . . . . . . . . . . . . . . . . . 20-52
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 20-53
Subparameter Definition . . . . . . . . . . . . . . . . . . . 20-53
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 20-53
Relationship to Other Parameters . . . . . . . . . . . . . . . . 20-53
Example of the USER Parameter . . . . . . . . . . . . . . . . 20-53
Contents xxi
Overrides. . . . . . . . . . . . . . . . . . . . . . . . . 22-26
Relationship to Other Parameters . . . . . . . . . . . . . . . . 22-26
Relationship to Other Control Statements . . . . . . . . . . . . . 22-26
Examples of the COPIES Parameter. . . . . . . . . . . . . . . 22-26
DATACK Parameter . . . . . . . . . . . . . . . . . . . . . . 22-27
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 22-28
Subparameter Definition . . . . . . . . . . . . . . . . . . . 22-28
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 22-28
Relationship to Other Parameters . . . . . . . . . . . . . . . . 22-28
Example of the DATACK Parameter . . . . . . . . . . . . . . . 22-28
DEFAULT Parameter . . . . . . . . . . . . . . . . . . . . . 22-28
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 22-29
Subparameter Definition . . . . . . . . . . . . . . . . . . . 22-29
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 22-29
Location in the JCL . . . . . . . . . . . . . . . . . . . . . 22-29
References to Default OUTPUT JCL Statements . . . . . . . . . . 22-29
Example of the DEFAULT Parameter . . . . . . . . . . . . . . 22-30
DEPT Parameter . . . . . . . . . . . . . . . . . . . . . . . 22-31
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 22-31
Subparameter Definition . . . . . . . . . . . . . . . . . . . 22-31
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 22-32
Overrides. . . . . . . . . . . . . . . . . . . . . . . . . 22-32
Example of the DEPT Parameter . . . . . . . . . . . . . . . . 22-32
DEST Parameter . . . . . . . . . . . . . . . . . . . . . . . 22-32
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 22-33
Subparameter Definition for JES2 Systems . . . . . . . . . . . . 22-33
Subparameter Definition for JES3 Systems . . . . . . . . . . . . 22-34
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 22-35
Overrides. . . . . . . . . . . . . . . . . . . . . . . . . 22-35
Relationship to Other Parameters . . . . . . . . . . . . . . . . 22-35
Examples of the DEST Parameter . . . . . . . . . . . . . . . 22-35
DPAGELBL Parameter . . . . . . . . . . . . . . . . . . . . . 22-36
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 22-36
Subparameter Definition . . . . . . . . . . . . . . . . . . . 22-36
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 22-37
Relationship to Other Parameters . . . . . . . . . . . . . . . . 22-37
Example of the DPAGELBL Parameter . . . . . . . . . . . . . . 22-37
DUPLEX Parameter . . . . . . . . . . . . . . . . . . . . . . 22-37
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 22-37
Subparameter Definition . . . . . . . . . . . . . . . . . . . 22-37
Relationship to Other Keywords on This Statement . . . . . . . . . 22-38
Example of the DUPLEX Parameter . . . . . . . . . . . . . . . 22-38
FCB Parameter . . . . . . . . . . . . . . . . . . . . . . . 22-38
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 22-38
Subparameter Definition . . . . . . . . . . . . . . . . . . . 22-39
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 22-39
Overrides. . . . . . . . . . . . . . . . . . . . . . . . . 22-39
Relationship to Other Parameters . . . . . . . . . . . . . . . . 22-39
Requesting a High-Density Dump . . . . . . . . . . . . . . . . 22-39
Example of the FCB Parameter . . . . . . . . . . . . . . . . 22-40
FLASH Parameter . . . . . . . . . . . . . . . . . . . . . . 22-40
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 22-40
Subparameter Definition . . . . . . . . . . . . . . . . . . . 22-40
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 22-41
Overrides. . . . . . . . . . . . . . . . . . . . . . . . . 22-41
Relationship to Other Parameters . . . . . . . . . . . . . . . . 22-41
Contents xxiii
Relationship to Other Parameters . . . . . . . . . . . . . . . . 22-52
Example of the LINDEX Parameter . . . . . . . . . . . . . . . 22-52
LINECT Parameter . . . . . . . . . . . . . . . . . . . . . . 22-52
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 22-53
Subparameter Definition . . . . . . . . . . . . . . . . . . . 22-53
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 22-53
Example of the LINECT Parameter . . . . . . . . . . . . . . . 22-53
MODIFY Parameter . . . . . . . . . . . . . . . . . . . . . . 22-53
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 22-54
Subparameter Definition . . . . . . . . . . . . . . . . . . . 22-54
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 22-54
Overrides. . . . . . . . . . . . . . . . . . . . . . . . . 22-54
Relationship to Other Parameters . . . . . . . . . . . . . . . . 22-54
Example of the MODIFY Parameter . . . . . . . . . . . . . . . 22-54
NAME Parameter . . . . . . . . . . . . . . . . . . . . . . . 22-55
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 22-55
Subparameter Definition . . . . . . . . . . . . . . . . . . . 22-55
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 22-55
Overrides. . . . . . . . . . . . . . . . . . . . . . . . . 22-56
Example of the NAME Parameter . . . . . . . . . . . . . . . . 22-56
NOTIFY Parameter . . . . . . . . . . . . . . . . . . . . . . 22-56
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 22-56
Subparameter Definitions . . . . . . . . . . . . . . . . . . . 22-57
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 22-57
Examples of the NOTIFY Parameter . . . . . . . . . . . . . . . 22-57
OFFSETXB Parameter . . . . . . . . . . . . . . . . . . . . . 22-57
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 22-57
Subparameter Definition . . . . . . . . . . . . . . . . . . . 22-57
Relationship to Other Keywords on This Statement . . . . . . . . . 22-58
Example of the OFFSETXB Parameter . . . . . . . . . . . . . . 22-58
OFFSETXF Parameter . . . . . . . . . . . . . . . . . . . . . 22-58
OFFSETYB Parameter . . . . . . . . . . . . . . . . . . . . . 22-58
OFFSETYF Parameter . . . . . . . . . . . . . . . . . . . . . 22-58
OUTBIN Parameter . . . . . . . . . . . . . . . . . . . . . . 22-59
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 22-59
Subparameter Definition . . . . . . . . . . . . . . . . . . . 22-59
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 22-59
Overrides. . . . . . . . . . . . . . . . . . . . . . . . . 22-59
Relationship to Other System Functions . . . . . . . . . . . . . 22-59
Example of the OUTBIN Parameter . . . . . . . . . . . . . . . 22-59
OUTDISP Parameter . . . . . . . . . . . . . . . . . . . . . 22-59
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 22-60
Subparameter Definitions . . . . . . . . . . . . . . . . . . . 22-60
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 22-61
Overrides. . . . . . . . . . . . . . . . . . . . . . . . . 22-61
Relationship to Other Control Statements . . . . . . . . . . . . . 22-61
Examples of the OUTDISP parameter . . . . . . . . . . . . . . 22-61
OVERLAYB Parameter. . . . . . . . . . . . . . . . . . . . . 22-62
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 22-62
Subparameter Definition . . . . . . . . . . . . . . . . . . . 22-62
Relationship to Other Keywords on This Statement . . . . . . . . . 22-62
Example of the OVERLAYB Parameter . . . . . . . . . . . . . . 22-62
OVERLAYF Parameter . . . . . . . . . . . . . . . . . . . . . 22-62
OVFL Parameter . . . . . . . . . . . . . . . . . . . . . . . 22-63
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 22-63
Subparameter Definition . . . . . . . . . . . . . . . . . . . 22-63
Contents xxv
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 22-74
Subparameter Definition . . . . . . . . . . . . . . . . . . . 22-74
Relationship to Other Control Statements . . . . . . . . . . . . . 22-74
Relationship to Other System Functions . . . . . . . . . . . . . 22-74
Examples of the RETRY Keywords . . . . . . . . . . . . . . . 22-75
ROOM Parameter . . . . . . . . . . . . . . . . . . . . . . 22-75
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 22-75
Subparameter Definition . . . . . . . . . . . . . . . . . . . 22-75
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 22-76
Overrides. . . . . . . . . . . . . . . . . . . . . . . . . 22-76
Example of the ROOM Parameter . . . . . . . . . . . . . . . 22-76
SYSAREA Parameter . . . . . . . . . . . . . . . . . . . . . 22-76
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 22-77
Subparameter Definition . . . . . . . . . . . . . . . . . . . 22-77
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 22-77
Relationship to Other Parameters . . . . . . . . . . . . . . . . 22-77
Example of the SYSAREA Parameter . . . . . . . . . . . . . . 22-77
THRESHLD Parameter. . . . . . . . . . . . . . . . . . . . . 22-77
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 22-78
Subparameter Definition . . . . . . . . . . . . . . . . . . . 22-78
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 22-78
Example of the THRESHLD Parameter . . . . . . . . . . . . . . 22-78
TITLE Parameter . . . . . . . . . . . . . . . . . . . . . . . 22-79
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 22-79
Subparameter Definition . . . . . . . . . . . . . . . . . . . 22-79
Example of the TITLE Parameter . . . . . . . . . . . . . . . . 22-79
TRC Parameter . . . . . . . . . . . . . . . . . . . . . . . 22-80
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 22-80
Subparameter Definition . . . . . . . . . . . . . . . . . . . 22-80
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 22-80
Relationship to Other Parameters . . . . . . . . . . . . . . . . 22-80
Example of the TRC Parameter . . . . . . . . . . . . . . . . 22-80
UCS Parameter . . . . . . . . . . . . . . . . . . . . . . . 22-81
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 22-81
Subparameter Definition . . . . . . . . . . . . . . . . . . . 22-81
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 22-81
Overrides. . . . . . . . . . . . . . . . . . . . . . . . . 22-82
Using Special Characters Sets . . . . . . . . . . . . . . . . . 22-83
Example of the UCS Parameter . . . . . . . . . . . . . . . . 22-83
USERDATA Parameter . . . . . . . . . . . . . . . . . . . . . 22-83
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 22-83
Subparameter Definition . . . . . . . . . . . . . . . . . . . 22-84
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 22-84
Overrides. . . . . . . . . . . . . . . . . . . . . . . . . 22-84
Relationship to Other Keywords on this Statement . . . . . . . . . 22-84
Relationship to Other Control Statements . . . . . . . . . . . . . 22-84
Relationship to Other System Functions . . . . . . . . . . . . . 22-85
Examples of the USERDATA Parameter . . . . . . . . . . . . . 22-85
USERLIB Parameter . . . . . . . . . . . . . . . . . . . . . 22-87
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 22-87
Subparameter Definitions . . . . . . . . . . . . . . . . . . . 22-87
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 22-88
Overrides. . . . . . . . . . . . . . . . . . . . . . . . . 22-88
Requirements for USERLIB Libraries . . . . . . . . . . . . . . 22-88
Examples of the USERLIB Parameter . . . . . . . . . . . . . . 22-88
WRITER Parameter . . . . . . . . . . . . . . . . . . . . . . 22-88
Contents xxvii
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 26-5
Subparameter Definition . . . . . . . . . . . . . . . . . . . . 26-5
Default . . . . . . . . . . . . . . . . . . . . . . . . . . 26-5
Invalid Delimiters . . . . . . . . . . . . . . . . . . . . . . 26-5
Examples of the DLM Parameter . . . . . . . . . . . . . . . . 26-6
SUBCHARS Parameter . . . . . . . . . . . . . . . . . . . . . 26-6
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 26-6
Subparameter Definition . . . . . . . . . . . . . . . . . . . . 26-7
Default . . . . . . . . . . . . . . . . . . . . . . . . . . 26-7
Invalid Substitute . . . . . . . . . . . . . . . . . . . . . . 26-7
Examples of the SUBCHARS Parameter. . . . . . . . . . . . . . 26-7
Contents xxix
Example of the //*DATASET Statement . . . . . . . . . . . . . . 28-5
//*ENDDATASET Statement . . . . . . . . . . . . . . . . . . . 28-6
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 28-6
Location in the JCL . . . . . . . . . . . . . . . . . . . . . 28-6
Example of the //*ENDDATASET Statement . . . . . . . . . . . . 28-6
//*ENDPROCESS Statement . . . . . . . . . . . . . . . . . . . 28-6
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 28-6
Location in the JCL . . . . . . . . . . . . . . . . . . . . . 28-6
Example of the //*ENDPROCESS Statement . . . . . . . . . . . . 28-7
//*FORMAT PR Statement . . . . . . . . . . . . . . . . . . . . 28-7
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 28-8
Parameter Definition . . . . . . . . . . . . . . . . . . . . . 28-9
Relationship to Sysout DD and OUTPUT JCL Statements . . . . . . . 28-16
Relationship to //*PROCESS Statement . . . . . . . . . . . . . 28-16
Location in the JCL . . . . . . . . . . . . . . . . . . . . . 28-16
Examples of the //*FORMAT PR Statement . . . . . . . . . . . . 28-16
//*FORMAT PU Statement . . . . . . . . . . . . . . . . . . . 28-17
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 28-18
Parameter Definition. . . . . . . . . . . . . . . . . . . . . 28-18
Relationship to Sysout DD and OUTPUT JCL Statements . . . . . . . 28-21
Relationship to //*PROCESS Statement . . . . . . . . . . . . . 28-21
Location in the JCL . . . . . . . . . . . . . . . . . . . . . 28-21
Examples of the //*FORMAT PU Statement . . . . . . . . . . . . 28-22
//*MAIN Statement . . . . . . . . . . . . . . . . . . . . . . 28-22
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 28-23
Parameter Definition. . . . . . . . . . . . . . . . . . . . . 28-24
Location in the JCL . . . . . . . . . . . . . . . . . . . . . 28-36
Examples of the //*MAIN Statement . . . . . . . . . . . . . . . 28-36
//*NET Statement . . . . . . . . . . . . . . . . . . . . . . . 28-37
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 28-38
Parameter Definition. . . . . . . . . . . . . . . . . . . . . 28-38
Location in the JCL . . . . . . . . . . . . . . . . . . . . . 28-41
Examples of the //*NET Statement . . . . . . . . . . . . . . . 28-42
//*NETACCT Statement . . . . . . . . . . . . . . . . . . . . 28-42
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 28-42
Parameter Definition. . . . . . . . . . . . . . . . . . . . . 28-42
Defaults . . . . . . . . . . . . . . . . . . . . . . . . . 28-43
Location in the JCL . . . . . . . . . . . . . . . . . . . . . 28-43
Example of the //*NETACCT Statement. . . . . . . . . . . . . . 28-43
//*OPERATOR Statement . . . . . . . . . . . . . . . . . . . . 28-43
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 28-43
Location in the JCL . . . . . . . . . . . . . . . . . . . . . 28-43
Example of the //*OPERATOR Statement . . . . . . . . . . . . . 28-43
//**PAUSE Statement . . . . . . . . . . . . . . . . . . . . . 28-43
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 28-44
Location in the JCL . . . . . . . . . . . . . . . . . . . . . 28-44
Example of the //**PAUSE Statement . . . . . . . . . . . . . . 28-44
//*PROCESS Statement . . . . . . . . . . . . . . . . . . . . 28-44
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 28-45
Parameter Definition. . . . . . . . . . . . . . . . . . . . . 28-45
Location in the JCL . . . . . . . . . . . . . . . . . . . . . 28-46
Examples of the //*PROCESS Statement . . . . . . . . . . . . . 28-46
//*ROUTE XEQ Statement . . . . . . . . . . . . . . . . . . . 28-47
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 28-47
Parameter Definition. . . . . . . . . . . . . . . . . . . . . 28-48
Location in the JCL . . . . . . . . . . . . . . . . . . . . . 28-48
Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1
Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . B-2
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . X-1
Contents xxxi
xxxii z/OS V1R3.0 MVS JCL Reference
Figures
17-1. Operators on IF/THEN/ELSE/ENDIF Statement Construct . . . . . . . . . . . . . . 17-3
This book is designed as a reference book, to be used while coding the statements.
It contains some introductory material. Full explanations of the job control tasks are
presented in a companion book, z/OS MVS JCL User’s Guide, SA22-7598.
Related Information
To have complete JCL information, you need the following book:
z/OS MVS JCL User’s Guide, SA22-7598
Where necessary, this book references information in other books, using shortened
versions of the book title. For complete titles and order numbers of the books for all
products that are part of z/OS, see z/OS Information Roadmap. The following tables
list the short titles, titles, and order numbers for books related to non-OS/390
products that this book references.
Programs
Short Title Used in This Book Title Order Number
ACF/TCAM Installation Reference Advanced Communications Function for TCAM, SC30-3133
Version 2 Installation Reference
PSF/MVS System Programming Guide PSF/MVS System Programming Guide SH35-0091
PSF/MVS Application Programming Guide PSF/MVS Application Programming Guide S544-3084
Hardware
Short Title Used in This Book Title Order Number
2821 Component Description IBM 2821 Control Unit Component Description GA24-3312
3540 Programmer’s Reference OS/VS2 IBM 3540 Programmer’s Reference GC24-5111
3800 Programmer’s Guide IBM 3800 Printing Subsystem Programmer’s GC26-3846
Guide
Licensed books are available only to customers with a z/OS license. Access to
these books requires an IBM Resource Link Web userid and password, and a key
code. With your z/OS order you received a memo that includes this key code.
To obtain your IBM Resource Link Web userid and password log on to:
http://www.ibm.com/servers/resourcelink
If you supplied the correct key code you will receive confirmation that your request
is being processed. After your request is processed you will receive an e-mail
confirmation.
Note: You cannot access the z/OS licensed books unless you have registered for
access to them and received an e-mail confirmation informing you that your
request has been processed.
To find a message explanation on the Internet, go to the LookAt Web site and
simply enter the message identifier (for example, IAT1836 or IAT*). You can select a
specific release to narrow your search. You can also download code from the z/OS
Collection, SK3T-4269 and the LookAt Web site so you can access LookAt from a
PalmPilot (Palm VIIx suggested).
To use LookAt as a TSO command, you must have LookAt installed on your host
system. You can obtain the LookAt code for TSO from a disk on your z/OS
Collection, SK3T-4269 or from the LookAt Web site. To obtain the code from the
LookAt Web site, do the following:
1. Go to http://www.ibm.com/servers/eserver/zseries/zos/bkserv/lookat/lookat.html.
2. Click the News button.
3. Scroll to Download LookAt Code for TSO and VM.
4. Click the ftp link, which will take you to a list of operating systems. Select the
appropriate operating system. Then select the appropriate release.
5. Find the lookat.me file and follow its detailed instructions.
To find a message explanation from a TSO command line, simply enter: lookat
message-id. LookAt will display the message explanation for the message
requested.
Note: Some messages have information in more than one book. For example,
IEC192I has routing and descriptor codes listed in z/OS MVS Routing and
Descriptor Codes. For such messages, LookAt prompts you to choose which
book to open.
The book contains information previously presented in z/OS MVS JCL Reference,
SA22-7597-01, which supports z/OS Version 1 Release 2.
New information
v An appendix with z/OS product accessibility information has been added.
Starting with z/OS V1R2, you may notice changes in the style and structure of
some content in this book—for example, headings that use uppercase for the first
letter of initial words only, and procedures that have a different look and format. The
changes are ongoing improvements to the consistency and retrievability of
information in our books.
Summary of changes
for SA22-7597-01
z/OS Version 1 Release 2
The book contains information previously presented in z/OS MVS JCL Reference,
SA22-7597-00, which supports z/OS Version 1 Release 1.
New information
v MEMLIMIT is a new keyword on JOB and EXEC statements. MEMLIMIT
specifies the limit on the total number of usable virtual pages above the bar for a
single address space.
Summary of changes
for SA22-7597-00
z/OS Version 1 Release 1
The book contains information also presented in OS/390 MVS JCL Reference.
JCL Statements
Table 1-1. MVS Job Control Language (JCL) Statements
Statement Name Purpose
// command JCL command Enters an MVS system operator
command through the input stream. The
command statement is used primarily by
the operator. Use the COMMAND
statement instead of the JCL command
statement.
// COMMAND command Specifies an MVS or JES command that
the system issues when the JCL is
converted. Use the COMMAND statement
instead of the JCL command statement.
//* comment comment Contains comments. The comment
statement is used primarily to document a
program and its resource requirements.
// CNTL control Marks the beginning of one or more
program control statements.
// DD data definition Identifies and describes a data set.
/* delimiter Indicates the end of data placed in the
input stream.
JECL Statements
Table 1-2. Job Entry Control Language (JECL) Statements
Statement Purpose
Job Entry Subsystem 2 (JES2) Control Statements
/*$command Enters JES2 operator commands through the input stream.
/*JOBPARM Specifies certain job-related parameters at input time.
/*MESSAGE Sends messages to the operator via the operator console.
/*NETACCT Specifies an account number for a network job.
/*NOTIFY Specifies the destination of notification messages.
/*OUTPUT Specifies processing options for sysout data set(s).
/*PRIORITY Assigns a job queue selection priority.
/*ROUTE Specifies the output destination or the execution node for the job.
/*SETUP Requests mounting of volumes needed for the job.
/*SIGNOFF Ends a remote job stream processing session.
/*SIGNON Begins a remote job stream processing session.
/*XEQ Specifies the execution node for a job.
/*XMIT Indicates a job or data stream to be transmitted to another JES2
node or eligible non-JES2 node.
Job Entry Subsystem 3 (JES3) Control Statements
//**command Enters JES3 operator commands, except *DUMP and *RETURN,
through the input stream.
Your operating system consists of an MVS/SP base control program (BCP) with a
job entry subsystem (JES2 or JES3) and DFSMS/MVS DFSMSdfp installed with it.
For the operating system to process a program, programmers must perform certain
job control tasks. These tasks are performed through the job control statements,
which consist of:
JCL statements
JES2 control statements
JES3 control statements
Entering Jobs
Job Steps
You enter a program into the operating system as a job step. A job step consists of
the job control statements that request and control execution of a program and
request the resources needed to run the program. A job step is identified by an
EXEC statement. The job step can also contain data needed by the program. The
operating system distinguishes job control statements from data by the contents of
the records.
Jobs
Input Streams
Jobs placed in a series and entered through one input device form an input
stream. The operating system reads an input stream into the computer from an
input/output (I/O) device or an internal reader. The input device can be a card
reader, a magnetic tape device, a terminal, or a direct access device. An internal
reader is a buffer that is read from a program into the system as though it were an
input stream.
You often use the same set of job control statements repeatedly with little or no
change, for example, to compile, assemble, link-edit, and execute a program. To
save time and prevent errors, you can prepare sets of job control statements and
place, or catalog, them in a partitioned data set (PDS) or partitioned data set
extended (PDSE) known as a procedure library. The data set attributes of a
procedure library should match SYS1.PROCLIB (record length of 80 and record
format of FB). Such a set of job control statements in the system procedure library,
SYS1.PROCLIB (or an installation-defined procedure library), is called a cataloged
procedure.
To test a procedure before placing it in the catalog, place it in an input stream and
execute it; a procedure in an input stream is called an in-stream procedure. The
maximum number of in-stream procedures you can code in any job is 15.
A job can be simple or complex; it can consist of one step or of many steps that call
many in-stream and cataloged procedures. A job can consist of up to 255 job steps,
including all steps in any procedures that the job calls. Specification of a greater
number of steps produces a JCL error.
Processing Jobs
The operating system performs many job control tasks automatically. You can
influence the way your job is processed by the JCL and JES2 or JES3 parameters
you code. For example, the job entry subsystem selects jobs for execution, but you
can speed up or delay selection of your job by the parameters you code.
Requesting Resources
Data Set Resources
To execute a program, you must request the data sets needed to supply data to the
program and to receive output records from the program.
A sysout data set is a system-handled output data set. This data set is placed
temporarily on direct access storage. Later, at the convenience of the system, the
system prints it, punches it, or sends it to a specified location. Because sysout data
sets are processed by the system, the programmer can specify many parameters to
control that processing.
Task Charts
The following charts list the job control tasks, which are described in the z/OS MVS
JCL User’s Guide, in four groups:
v Entering jobs in Table 2-1 on page 2-3
v Processing jobs in Table 2-2 on page 2-5
v Requesting data set resources in Table 2-3 on page 2-6
v Requesting sysout data set resources in Table 2-4 on page 2-8
For each task, the charts list the parameters and statements that can be used to
perform it. In many cases, the same task can be performed using different
parameters on different statements. Where a parameter can appear on both a JOB
and EXEC statement, it applies to the entire job when coded on the JOB statement
but only to a step when coded on an EXEC statement.
The system is designed to enable users to perform many types of job control in
many ways. To allow this flexibility, only two job entry tasks are required:
v Identification: The job must be identified in the jobname field of a JOB
statement.
v Execution: The program or procedure to be executed must be named in a PGM
or PROC parameter on an EXEC statement.
Therefore, the following statements are the minimum needed to perform a job
control task:
LIKE
REFDD
of data for CCSID
ISO/ANSI
Version 4 tapes
of migration and MGMTCLAS
backup
Protection
through RACF PROTECT
SECMODEL
BYTES, CARDS,
LINES, and PAGES
on JOB
USERDATA Specifications
Installation USERDATA
specifications
See “Parameter Field” on page 3-3 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:
v The comments field follows the parameter field.
v 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”
on page 3-4.
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. 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” on page 3-4. The comment statement can be coded through column
80.
Parameter Field
The parameter field consists of two types of parameters: positional parameters
and keyword parameters. All positional parameters must precede all keyword
parameters. Keyword parameters follow the positional parameters.
Commas
Positional Parameters
Code positional parameters first in the parameter field in the order shown in the
syntax. If you omit a positional parameter and code a following positional
parameter, code a comma to indicate the omitted parameter. Do not code the
replacing comma if:
v The omitted positional parameter is the last positional parameter.
v All following positional parameters are also omitted.
v Only keyword parameters follow.
v All positional parameters are omitted.
Keyword Parameters
A keyword consists of characters that appear in uppercase in the syntax and must
be coded as shown followed by an equals sign followed by either characters that
must be coded as shown or variable information. For example, RD=R and
MSGCLASS=class-name on the JOB statement.
Code any of the keyword parameters for a statement in any order in the parameter
field after the positional parameters. Because of this positional independence, never
code a comma to indicate the absence of a keyword parameter.
Multiple Subparameters
You are allowed to specify null (that is, omitted) positional subparameters except
where the Syntax section of a particular parameter states otherwise. (For example,
null positional subparameters are not allowed on a COND parameter of an EXEC
statement or on an AMP parameter of a DD statement.) You specify a null positional
subparameter by following the coding rules listed above for an omitted positional
parameter.
When coding a JES2 control statement more than once, be aware of the following
JES2 actions:
v If the same parameter appears on more than one statement, JES2 uses the
value coded on the last statement.
v If the statements contain different parameters, JES2 uses all parameters
combined.
Continuing Statements
The following are JCL statements that you cannot continue. While you cannot
continue these statements, you can code as many separate statements as you
need.
JCL Command statement
Comment statement
Delimiter statement
Null statement
For all other JCL statements, you can continue the parameter field or the comments
field on the JCL statement. If you continue both the parameter field and the
To correct this problem, split the statement in a different way. For example, start
COMMAND in a later column or interchange non-positional parameters in the
statement.
2. Code // in columns 1 and 2 of the following statement.
3. Continue the parameter in column 16 of the following statement even if this
splits the parameter. Trailing blanks or commas within the apostrophes do not
indicate a continued statement; the system treats them as part of the parameter.
You can use JCL comment statements as an alternative way to imbed comments in
the JCL stream.
Example 2
//DS1 DD DSNAME=INDS,DISP=OLD,CHKPT=EOV, MY INPUT DATA SET
// UNIT=SYSSQ,VOLUME=SER=(TAPE01,TAPE02,TAPE03)
This example shows continuation of the parameter field. The parameter field is
continued from the first card image to the second card image. The comment on the
first card image is not continued to the next card image.
Example 3
//STP4 EXEC PROC=BILLING,COND.PAID=((20,LT),EVEN),
// COND.LATE=(60,GT,FIND),
// COND.BILL=((20,GE),(30,LT,CHGE)) THIS STATEMENT CALLS X
// THE BILLING PROCEDURE AND SPECIFIES RETURN CODE TESTS X
// FOR THREE PROCEDURE STEPS.
This example shows continuation of the parameter field and the comments field.
The parameter field is continued from the first card image to the second and third
card images. The comments field is continued from the third card image to the
fourth and fifth card images.
Example 4
//S1 EXEC PGM=IEFBR14,PARM=’THIS IS A LONG PARAMETER WITHIN APOST
// ROPHES, CONTINUED IN COLUMN 16 OF THE NEXT RECORD’
On the JES3 //*NET statement, each parameter must appear entirely on one
statement; a subparameter cannot be continued after a comma, except for the
RELEASE parameter. To continue the RELEASE parameter, end the statement with
the comma following a jobname and continue the next statement with the next
jobname. The left parenthesis appears at the beginning of the jobname list and the
right parenthesis appears at the end of the list. For example:
//*NET NETID=EXP1,RELEASE=(JOB35,JOB27Z,MYJOB,
//*WRITJB,JOBABC)
The syntax rules apply to all job control statements: JCL statements, JES2 control
statements, and JES3 control statements.
You must follow the syntax rules in coding job control statements to achieve
specific results. If you do not follow the rules, you may get error messages or
unpredictable results. IBM does not support the use of statements or
parameters to achieve results other than those stated in this publication.
| (vertical bar) A vertical bar indicates an exclusive OR. Syntax: on DD DCB parameter
Never code | on a control statement. It is BFALN={F|D}
used between choices within braces or Coded:
brackets; it indicates that you code only BFALN=F
one of the items within the braces or or
brackets. BFALN=D
Character Sets
To code job control statements, use characters from the character sets in Table 4-2.
Table 4-3 lists the special characters that have syntactical functions in job control
statements.
Table 4-2. Character Sets
Character Set Contents
Alphanumeric Alphabetic Capital A through Z
Numeric 0 through 9
National “At” sign @ (Characters that can be
(See note) Dollar sign $ represented by hexadecimal
Pound sign # values X'7C', X'5B', and X'7B')
Comma ,
Period .
Slash /
Apostrophe '
Left parenthesis (
Right parenthesis )
Special
Asterisk *
Ampersand &
Plus sign +
Hyphen -
Equal sign =
Blank
EBCDIC text EBCDIC printable character set Characters that can be represented
by hexadecimal X'40' through X'FE'
Note: The system recognizes the following hexadecimal representations of the U.S.
National characters; @ as X'7C'; $ as X'5B'; and # as X'7B'. In countries other than the
U.S., the U.S. National characters represented on terminal keyboards might generate a
different hexadecimal representation and cause an error. For example, in some countries
the $ character may generate a X'4A'.
The syntax or parameter description indicates if the variable that you code can
contain special characters or not. Parameters and subparameters that can contain
special characters not used for syntactical functions usually must be enclosed in
apostrophes, for example, ACCT='123+456'. Code each apostrophe that is part of
the parameter or subparameter as two consecutive apostrophes, for example, code
O’NEIL as 'O''NEIL'.
Table 4-4 lists the parameters that can contain certain special characters without
requiring enclosing apostrophes.
The system treats double ampersands as a single character. IBM recommends that
you use apostrophes to enclose parameters that contain ampersands (other than a
DSNAME parameter representing a temporary data set) to further reduce the
possibility of error.
Table 4-4. Special Characters that Do Not Require Enclosing Apostrophes
Statement and Parameter Special Characters Not Needing Examples
or Subparameter Enclosing Apostrophes
JOB accounting information Hyphens (-) //JOBA JOB D58-D04
JOB programmer’s-name Hyphens (-), leading periods, or embedded //JOBB JOB ,S-M-TU
periods. Note that a trailing period requires //JOBC JOB ,.ABC
enclosing apostrophes. //JOBD JOB ,P.F.M
//JOBE JOB ,’A.B.C.’
EXEC ACCT Hyphens (-) or plus zero (+0, an //S1 EXEC PGM=A,ACCT=D58-LOC
overpunch) //S2 EXEC PGM=B,ACCT=D04+0
DD DSNAME Hyphens (-) DSNAME=A-B-C
Periods to indicate a qualified data set DSNAME=A.B.C
name
Double ampersands to identify a DSNAME=&&TEMPDS
temporary data set name, and to identify
an in-stream or sysout data set name DSNAME=&&PAYOUT
Syntax Notes
JCL positional parameters and keywords can have at most two levels of
subparameters. Therefore, when parentheses are used to delimit a list of
subparameters, a maximum of two levels of parenthesis nesting is permitted. This
restriction applies even if the parentheses are empty.
Backward References
Many parameters in job control statements can use a backward reference to fill in
information. A backward reference is a reference to an earlier statement in the job
or in a cataloged or in-stream procedure called by a job step. A backward reference
is in the form:
v *.name or *.ddname where name or ddname is the name field of the referenced
statement.
v *.stepname.name or *.stepname.ddname where the referenced statement,
name or ddname, is in an earlier step, stepname, in the same job.
v *.stepname.procstepname.name or *.stepname.procstepname.ddname where
this job step or an earlier job step, stepname, calls a procedure; the procedure
contains procedure step, procstepname, which contains the referenced
statement, name or ddname.
The backward reference lets you copy previously coded information or refer to an
earlier statement. The following parameters can make backward references:
v DD CNTL refers to earlier CNTL statement
v DD DCB refers to earlier DD statement to copy its DCB parameter
v DD DSNAME refers to earlier DD statement to copy its DSNAME parameter,
whether or not the data set is a partitioned data set, and whether or not the data
set is a temporary data set
Example 2
//JOB2 JOB ...
//STEP1 EXEC ...
//DDA DD DSNAME=D58.POK.PUBS01
.
.
//STEP2 EXEC ...
//DDB DD DSNAME=*.STEP1.DDA
The referring and referenced DD statements are in different steps in the same job.
Example 3
In-stream Procedures
When you place a procedure in the job input stream, it is called an in-stream
procedure.
An in-stream procedure must begin with a PROC statement, end with a PEND
statement, and include only the following other JCL statements: CNTL, comment,
DD, ENDCNTL, EXEC, IF/THEN/ELSE/ENDIF, INCLUDE, OUTPUT JCL, and SET.
You must observe the following restrictions regarding in-stream procedures:
v Do not place any JCL statements (other than the ones listed above) or any JES2
or JES3 control statements in the procedure.
v Do not place an in-stream data set (one that begins with DD * or DD DATA) in
the procedure.
v Do not define one in-stream procedure within another, that is, nested. For
information about nesting procedures, see “Nested Procedures” on page 5-9.
v Do not use an in-stream procedure if the procedure will be run as a started job
under the MASTER subsystem, that is, includes a JOB statement and is started
via a START command such as S procname,SUB=MSTR.
Cataloged Procedures
A procedure that you catalog in a library is called a cataloged procedure.
A cataloged procedure may consist of these JCL statements: CNTL, command, DD,
ENDCNTL, EXEC, IF/THEN/ELSE/ENDIF, INCLUDE, OUTPUT JCL, and SET.
Optionally, a cataloged procedure can begin with a PROC statement and end with a
PEND statement. If coded, PROC must be the first statement in the procedure.
Cataloging a Procedure
The library containing cataloged procedures is a partitioned data set (PDS) or a
partitioned data set extended (PDSE). The system procedure library is
SYS1.PROCLIB. The installation can have many more procedure libraries with
different names. You can also have procedures in a private library. The name of a
cataloged procedure is its member name or alias in the library.
When a cataloged procedure is called, the calling step receives a copy of the
procedure; therefore, a cataloged procedure can be used simultaneously by more
than one job.
If you are modifying a cataloged procedure, do not run any jobs that use the
procedure during modification.
In a JES3 system, you can specify UPDATE on the JES3 //*MAIN statement to
update a procedure library.
When you call a procedure, the system retrieves it using the following search order:
1. From the input stream
If the called procedure is an in-stream procedure, the system retrieves it from
the job input stream. You must place the in-stream procedure before the EXEC
statement that calls it.
2. From a private library
If the called procedure is cataloged in a private library, the system retrieves it
from the private library that you specify on the JCLLIB statement that appears
earlier in the job stream.
3. From the system library (in a non-APPC scheduling environment)
If the called procedure is cataloged in a system library, the subsystem retrieves
it as follows:
v In JES2, from the library name on the PROCLIB= parameter on a JES2
/*JOBPARM statement. See “/*JOBPARM Statement” on page 27-3 for more
information.
v In JES3, from the library name on the PROC= parameter of the JES3
//*MAIN statement. See “//*MAIN Statement” on page 28-22 for more
information.
v In MSTR, the data set specified by the IEFPDSI DD statement in the
currently active master JCL is searched for procedures. The default master
JCL specifies SYS1.PROCLIB.
Testing a Procedure
Before putting a procedure into a system procedure library, you should test it. There
are two ways to test a procedure:
v Place a PROC statement before the procedure and a PEND statement after it
and place it in a job input stream. For the test, call this in-stream procedure with
an EXEC statement that appears later in the same job.
v Put a procedure to be tested in a private library, identify the library on a JCLLIB
statement, and call the procedure with an EXEC statement.
After testing a procedure, the type of environment in which you are running the job
determines where you can catalog it.
v In an APPC scheduling environment: Catalog the procedure in a private
library, and define the library with a JCLLIB statement.
v In a non-APPC scheduling environment: Catalog the procedure in the system
procedure library SYS1.PROCLIB, an installation-defined procedure library, or a
private library. Cataloging the procedure in the system procedure library allows
anyone to use the procedure by calling it with an EXEC statement.
Cataloged and in-stream procedures are not checked for correct syntax until an
EXEC statement that calls the procedure is checked for syntax. Therefore, a
procedure can be tested only if an EXEC statement calls it.
Modifying Procedures
There are two ways you can modify a procedure:
v Using system symbols and JCL symbols
v Using overrides.
Using system symbols and JCL symbols, you can design your procedures to be
easily modified. If the procedure does not contain required system symbols and JCL
symbols, you can override the statement.
For its current execution, you can override an in-stream or cataloged procedure by:
v Overriding, nullifying, or adding EXEC statement parameters
v Overriding, nullifying, or adding parameters to DD or OUTPUT JCL statements
v Adding DD or OUTPUT JCL statements
Overriding a parameter modifies only that parameter; the system uses all other
parameters on the original statement. For example, if you override the data set
name on a DD statement that includes a UNIT and VOL=SER parameter, the
system will still use the UNIT and VOL=SER parameters.
Explanation
Modifying EXEC Statement Parameters
All keyword parameters on the calling EXEC statement affect the execution of the
procedure, as follows:
Note: A PARM parameter without a procstepname qualifier applies only to the first
procedure step. A TIME parameter without a procstepname qualifier applies
to the entire procedure and nullifies any TIME parameters on procedure step
EXEC statements.
If the keyword parameter is to nullify the parameter on every EXEC statement in the
procedure, code it without a value following the equal sign. For example, the ACCT
parameter is nullified in all steps:
//STEP2 EXEC PROC=RPT,ACCT=
The override, nullification, or addition applies only to the current execution of the job
step; the procedure itself is not changed.
Place modifying OUTPUT JCL and DD statements in the following order, after the
EXEC statement that calls the procedure:
v For each procedure step in the invoked procedure:
1. Overriding statements can appear in any order when they explicitly specify
the step that is being overridden. Added statements can appear in any order
when they specify the step explicitly.
2. Overriding and added statements that do not explicitly specify the step are
applied to the step named in the previous overriding or added OUTPUT JCL
or DD statement. If no previous override statement named a step, then they
are applied to the first step in the procedure.
v For all procedure steps in the invoked procedure, place the modifying statements
for each procedure step in the same order in which the procedure steps are
specified.
The override operation merges the parameters from an overriding statement with
those in the overridden statement. Follow these rules in coding overriding
statements:
v You can code more than one change on an overriding statement.
v You can code modifying parameters in any order on an overriding statement.
v Code an entire overriding parameter even when changing only part of that
parameter.
v If you code a parameter on an overriding statement that is not on the procedure
statement, the override operation adds it to the procedure statement.
v Nullify a parameter by not coding a value after the equal sign. Omitting the value
causes the system to treat the keyword as if it had been removed from the
procedure statement. This is the only way to nullify keywords that do not permit a
null parameter value.
v If you add a parameter that is mutually exclusive with a parameter on a
procedure statement, the override operation automatically nullifies the procedure
parameter. This is the only exception to the rule that the only way to override a
parameter is to specify it explicitly.
Example: If a DD statement within a procedure reads:
//ddname DD DSN=FRED,DISP=SHARE,UNIT=TAPE,VOL=SER=111111
//stepname.ddname DD DSN=GEORGE
//stepname.ddname DD DSN=GEORGE,UNIT=,VOL=
To add OUTPUT JCL or DD statements to a procedure step, code in the name field
of the added OUTPUT JCL or DD statement the name of the procedure step,
followed by a period, followed by a name or ddname. The name must not appear
on any procedure statement.
//pstepname.name OUTPUT parameters
//pstepname.ddname DD parameters
If you omit the procedure step name, the statement is added to the step named in
the previous OUTPUT JCL or DD statement that named a step. If no previous
statements named steps, the statement is added to the first step in the procedure.
Added OUTPUT JCL and DD statements can contain symbols. If the statement is
being added to the last procedure step, any symbols it contains must appear
elsewhere in the procedure.
To supply a procedure step with data from the input stream, code a DD * or DD
DATA statement in the calling step after the last overriding and added DD
statement. The name field of this statement must contain the name of the
procedure step, followed by a period, followed by a ddname. The ddname can be of
your choosing or predefined in the procedure. If it is predefined, it appears in a
DDNAME parameter on a procedure DD statement. For example:
//PROCSTP1.ANYNAME DD *
//PROCSTP2.PREDEFN DD DATA
Examples of Procedures
Example 1
In the input stream:
// PROC
//PSTEP1 EXEC PGM=WRIT22
//OUTDS DD SYSOUT=A
In this example, the EXEC statement STEPA calls the cataloged procedure named
REP and supplies in-stream data. The procedure executes a program named
WRIT22. The output from the program will appear in the sysout class A data set.
Example 2
In the input stream:
In SYS1.PROCLIB member P:
Example 3
//JOBB JOB ACCT23,’G. HILL’
//STEPB EXEC PROC=WRIT35,COND.PSTEP3=(4,GT,PSTEP1),RD=R
//PSTEP1.DD1 DD VOLUME=SER=,UNIT=SYSDA,DISP=(NEW,CATLG)
//PSTEP1.INDS DD *
.
.
(data)
.
/*
//PSTEP2.DD3 DD DISP=(OLD,KEEP)
//PSTEP3.DD5 DD DUMMY
//PSTEP3.DD6 DD DSNAME=A.B.C
//PSTEP3.DD8 DD EXPDT=
// PROC
//PSTEP1 EXEC PGM=WT1,TIME=(,50)
//DD1 DD DSNAME=DATA1,DISP=(NEW,DELETE),SPACE=(TRK,(10,2)),
// UNIT=3330,VOL=SER=1095
//DD2 DD DSNAME=&&WORK,UNIT=SYSDA,SPACE=(CYL,(10,1)),
// DISP=(,PASS)
//PSTEP2 EXEC PGM=WT2,TIME=(,30)
//DD3 DD DSNAME=*.PSTEP1.DD2,DISP=(OLD,DELETE)
//PSTEP3 EXEC PGM=UPDT,TIME=(,45),RD=RNC
//DD4 DD SYSOUT=*
//DD5 DD DSNAME=DATA3,UNIT=3340,DISP=OLD,
// VOLUME=SER=335006
//DD6 DD DSNAME=QOUT,UNIT=3400-5
//DD7 DD SYSOUT=H
//DD8 DD DSNAME=A.B,DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(1)),EXPDT=92365,UNIT=SYSDA
In this example, EXEC statement STEPB calls the cataloged procedure WRIT35.
The COND parameter is added to the EXEC statement for PSTEP3. The RD
parameter is added to the EXEC statements for PSTEP1 and PSTEP2, and
overrides the RD parameter on the EXEC statement for PSTEP3.
Note that procedure DD statements DD2, DD4, and DD7 were not modified.
Nested Procedures
Cataloged and in-stream procedures can invoke other procedures (up to 15 levels
of nesting). In a procedure, an EXEC statement can invoke another procedure,
which can contain an EXEC statement to invoke another procedure, and so on.
Note that an in-stream procedure cannot be defined within another procedure. The
sequence PROC, PROC, PEND, PEND is not valid.
Nesting Procedures
The following shows how procedures can be nested:
Procedure C:
//C PROC
//CS1 EXEC PGM=GHI
.
// PEND
Procedure B:
//B PROC
//BS1 EXEC PROC=C
.
//BS2 EXEC PGM=DEF
.
// PEND
Procedure A:
//A PROC
//AS1 EXEC PROC=B
.
//AS2 EXEC PGM=ABC
.
// PEND
Job Stream:
//JOB1 JOB
//STEP1 EXEC PROC=A
.
//STEP2 EXEC PGM=JKL
.
.
The following statements are equivalent to the nested procedures shown above and
show the levels of nesting (scoping) for the procedures.
//JOB1 JOB Level 0
//CS1 EXEC PGM=GHI Level 3
.
//BS2 EXEC PGM=DEF Level 2
.
//AS2 EXEC PGM=ABC Level 1
Example 1
Procedure B:
//B PROC
//BS1 EXEC PROC=C
//CS1.CS1DD1 DD DSNAME=X.Y.Z This statement is a valid
//* override of procedure C, stepCS1
//* for DD CS1DD1
//*
//CS1.CS1DD3 DD SYSOUT=A This statement is a valid
//* addition to procedure C, step CS1
//BS2 EXEC PGM=BBB
//BS2DD1 DD DSNAME=E,DISP=SHR
// PEND
Procedure A:
//A PROC
//AS1 EXEC PROC=B
//BS2.BS2DD2 DD DSNAME=G,DISP=SHR This statement is a valid
//* addition to procedure B, step BS2
Job Stream:
//JOB1 JOB
//STEP1 EXEC PROC=A
//AS2.AS2DD2 DD DSNAME=G,DISP=SHR This statement is a valid
//* addition to procedure A, step AS2
//STEP2 EXEC PGM=IEFBR14
.
The following statements are equivalent to the nested procedures shown above.
//JOB1 JOB
//CS1 EXEC PGM=CCC
//CS1DD1 DD DSNAME=X.Y.Z,DISP=SHR
//*
//CS1DD2 DD SYSOUT=A
//CS1DD3 DD SYSOUT=A
//*
//BS2 EXEC PGM=BBB
//BS2DD1 DD DSNAME=E,DISP=SHR
//BS2DD2 DD DSNAME=G,DISP=SHR
//*
//AS2 EXEC PGM=AAA
//AS2DD1 DD DSNAME=E,DISP=SHR
//AS2DD2 DD DSNAME=G,DISP=SHR
//STEP2 EXEC PGM=IEFBR14
Example 2
Procedure B:
//B PROC
//BS1 EXEC PROC=C
//CS1.CS1DD1 DD DSNAME=X.Y.Z
//CS1.CS1DD3 DD SYSOUT=A
//BS2 EXEC PGM=BBB
//BS2DD1 DD DSN=E,DISP=SHR
// PEND
Procedure A:
//A PROC
//AS1 EXEC PROC=B
//BS1.CS1.CS1DD1 DD DSN=X.Y.Z This statement is an invalid
//* override of procedure B, step BS1,
//* DD CS1.CS1DD1 (rules 4 and 5)
//*
//BS1.CS1.CS1DD3 DD SYSOUT=A This statement is an invalid
//* override of procedure B, step BS1,
//* DD CS1.CS1DD3 (rules 4 and 5)
//*
//BS1.BS1DD1 DD DSN=G,DISP=SHR This statement is an invalid
//* addition to procedure B, step BS1
//* (rule 3)
//AS2 EXEC PGM=AAA
Job Stream:
//JOB1 JOB
//STEP1 EXEC PROC=A
//AS1.BS1.CS1.CS1DD1 DD DSN=X This statement is an invalid
//* override of procedure A, step AS1,
//* DD BS1.CS1.CS1DD1 (rules 3 and 5)
//STEP2 EXEC PGM=IEFBR14
This section:
v Describes system symbols and JCL symbols and the differences between them
v Explains how to define JCL symbols
v Shows how to code system symbols and JCL symbols.
Before you use system symbols in JCL, see z/OS MVS Initialization and Tuning
Reference for a complete list of system symbols and for details about how they
work. Then read the rest of this section for specific information about using system
symbols in started task JCL.
For further information about specifying system symbols in started task JCL,
including examples, see “Using Symbols in Started Task JCL” on page 7-8.
The rules for coding JCL symbols are the same as for coding system symbols. You
can code system symbols anywhere in started task JCL that you code JCL
symbols.
This section explains how to define, nullify, and use JCL symbols in JCL.
The maximum length of any substitution text that you can assign to a JCL symbol is
255 characters.
To define or nullify a JCL symbol, code the substitution text on one or more of the
following:
1. The EXEC statement that calls procedures.
Use the EXEC statement to define substitution texts on statements in the called
procedures. The substitution texts you assign override the default substitution
texts assigned on the PROC statement. For example:
//STEP1 EXEC PROC=SEARCH,PARM1=’MYDS1.PGM’
The system uses a JCL symbol defined on the EXEC statement for any
procedures that it invokes. A JCL symbol defined on an EXEC statement is not
in effect for subsequent job steps in the same level of procedure nesting. See
“Using Symbols in Nested Procedures” on page 5-26 for more information.
If you specify duplicate JCL symbols on a PROC statement, the system uses
the first substitution text as the default.
Assign only one substitution text to each JCL symbol used in a procedure.
3. The SET statement that defines and nullifies JCL symbols.
Code the SET statement in the JCL before the first use of the JCL symbol. Use
the SET statement to define JCL symbols that are used on:
v JCL statements in the JCL stream
v Statements in a procedure (when the EXEC statement that calls the
procedure and the PROC statement for the procedure do not also define JCL
symbols).
For example:
//LEVEL1 SET PARM2=NEW,PARM3=DELETE
If you define duplicate JCL symbols on a SET statement, the system assigns
the last substitution text to the JCL symbol.
Note: The substitution text specified on the SET statement is assigned to the
JCL symbol regardless of the logic of the construct. This is because the
SET statement is not executed conditionally (such as in the THEN and
ELSE clauses of an IF/THEN/ELSE/ENDIF statement construct).
If the SET statement defines a value for a JCL symbol but that symbol is not coded
in the JCL, there is no JCL error. Otherwise:
v All JCL symbols for which values are defined must be coded in the JCL.
v All JCL symbols coded in the JCL must have defined values.
IBM recommends that your installation define standard names for frequently used
JCL symbols and enforce the use of those names. For example, if your installation
frequently assigns department numbers in procedures, define the &DEPT JCL
symbol and use it consistently. If your installation plans to provide a standard set of
JCL symbols, ensure that all system and application programmers know about
those JCL symbols.
You can define names for JCL symbols that are the same as system symbol
names. When a JCL symbol has the same name as a system symbol, the
substitution text for the JCL symbol overrides the substitution text for the
system symbol. For example, if JCL defines a symbol with the name &SYSNAME,
which is also the name of a system symbol, the system uses the substitution text
that is defined in the JCL.
The substitution texts that you define to JCL symbols on the PROC statement serve
as defaults. You should assign default values to all JCL symbols in a procedure.
The system uses the default values on the PROC statement when no calling EXEC
statement or SET statement overrides them.
If a substitution text contains certain special characters, enclose the substitution text
in apostrophes (for example, LOC='O''HARE'). The enclosing apostrophes are not
considered to be part of the substitution text. See Table 4-3 on page 4-3 for a list of
special characters.
The system fails this statement because the apostrophes resulting from the
substitution are unbalanced.
| When you want to code a JCL symbolic that consists of two parameters separated
| by a comma, you may have to enclose the JCL symbolic in triple apostrophes. For
| example:
| //JOB1 EXEC PROC1
| //PROC1 PROC WORK=’’’1000,500’’’
| //STEP1 EXEC PROC2,WORK=&WORK
If the substitution text begins and ends with matched parentheses, do not enclose
the value in apostrophes. The parentheses are considered part of the substitution
text. For example:
//TPROC PROC DISP=(NEW,PASS)
If the substitution text within the parentheses contains apostrophes, the apostrophes
are considered part of the substitution text. The system does not remove them.
For example, if the JCL symbol &NUMBER appears in one or more DD statements
in a procedure, code one or more of the following to nullify UNIT=&NUMBER:
//SET2 SET NUMBER=
When a JCL symbol is a positional parameter, and another parameter follows it,
code a comma to omit the positional parameter. Code commas both before and
after the JCL symbol; the required commas remain after the JCL symbol is nullified.
For example, &NUMBER for the unit count:
UNIT=(3350,&NUMBER,DEFER)
When a JCL symbol is not a positional parameter, do not code a comma to omit the
parameter. Do not code a comma before the JCL symbol; no commas remain after
the JCL symbol is nullified. For example, serial numbers in the VOLUME=SER
parameter:
VOLUME=SER=(&FIRST&SECOND)
If either of the JCL symbols is nullified, a leading or trailing comma does not
remain. If you nullify &FIRST and assign 222222 for &SECOND, the parameter
correctly becomes:
VOLUME=SER=(222222)
If you nullify &SECOND and define 111111 to &FIRST, the parameter correctly
becomes:
VOLUME=SER=(111111)
You may code system symbols only in started task JCL (jobs and procedures),
which can be read only from a procedure library. Therefore, you can code system
symbols only in statements in cataloged procedures.
If a job step is charged to different account numbers each time the procedure is
executed, code the ACCT parameter on the EXEC statement as one or more
system symbols or JCL symbols:
ACCT=&ALLNOS
ACCT=&FIRST&SECOND&THIRD
References
v For information about using symbols in nested procedures, see “Using
Symbols in Nested Procedures” on page 5-26.
v For information about using symbols in started task JCL, see “Using
Symbols in Started Task JCL” on page 7-8.
This rule also includes DCB subparameters. For example, do not use the
following DCB subparameters as symbol values:
v BFALN
v LRECL
In addition to the preceding rules for coding symbols in JCL, you also need the
general rules for coding system symbols. See the section on coding system
symbols in z/OS MVS Initialization and Tuning Reference.
| However, one topic of that section in z/OS MVS Initialization and Tuning
| Reference discusses ″double ampersand notation,″ a technique that could
| be useful in coding your JCL.
| which is the JCL that gets executed. Your MVSCMD program would then
| take what is in the PARM on its EXEC statement and issue it as an MVS
| command:
| F RMF,S III,MEMBER(3&SYSCLONE(2:1))
The PROC statement assigns the following substitution texts to the JCL symbols:
SYM1 What’’s up, Doc?
SYM2 (DEF)
SYM3 &&TEMP1
SYM4 &&TEMP2
SYM5 &TEMP3
TEMP3 TEMPNAME
SYM6 &TEMP3
The equivalent JCL produced by the substitution, when the procedure is expanded,
is:
//S1 EXEC PGM=WTO,PARM=’What’s up, Doc?’,ACCT=(DEF)
//DD1 DD DSN=&&TEMP1,UNIT=SYSDA,SPACE=(TRK,(1,1))
//DD2 DD DSN=&&TEMP2,UNIT=SYSDA,SPACE=(TRK,(1,1))
//DD3 DD DSN=&TEMP3,UNIT=SYSDA,SPACE=(TRK,(1,1))
//DD4 DD DSN=&TEMP3,UNIT=SYSDA,SPACE=(TRK,(1,1))
The JCL records that define step S1 form a valid continuation; the JCL symbol
VAL1 introduces a comma, and the continuation is correctly coded.
Steps S2 and S3 are not valid. In step S2, the first record does not end in a comma
after substitution of VAL2. In step S3, the record containing NULLSYM evaluates to a
null record after symbolic substitution.
| It may be that the number and length of symbols form a parameter that does not fit
| within the limits imposed by an 80-character record. (In reality the limit is 68
| characters, because columns 1, 2, and 3 must contain respectively a slash, slash,
| and blank, and column 72 must be blank.) Two techniques for handling this
| situation are: (1) defining shorter symbols to substitute for the longer ones, or (2)
| dividing the series of symbols so as to form two parameters, which would allow you
| to place a comma after the first and move the second to a continuation record.
Example:
// SET QUOTE=’’’’
//S1 EXEC PGM=IEFBR14,PARM="E.ABC DEF"E
//DD1 DD DUMMY
DEF"E is considered a comment because it follows the blank that ends the
parameter field, so the second instance of "E will not be replaced during
symbolic substitution. Because the first "E symbol resolves to a single
quotation mark, the system expects to either find another single quotation at the
end of a subparameter list, or find a continuation to the next line. The EXEC
statement receives an error message indicating that the system did not receive an
expected continuation.
Example:
// SET CONT=’ ’,T=’(30,0)’
//S1 EXEC PGM=IEFBR14&CONTPARM=’ABC DEF’,TIME=&T
The text (30,0) is substituted for the symbol &T. However, because substitution
introduced a blank character after the program name parameter, all text following
the blank is considered to be a comment. Thus the system does not process the
PARM and TIME parameters.
When you specify these parameters, the system regards a string beginning with an
ampersand (&) inside the apostrophes as a symbol when the following conditions
are true:
v The character following the ampersand is not another ampersand.
v The characters following the ampersand are ended by a character that is not
alphabetic, numeric, or national. The ending character must be not more than 9
characters after the ampersand. The symbol cannot be more than 8 characters
long.
v The string of characters delimited by the ampersand and the ending character is:
– Defined as a symbol on a PROC, EXEC, or SET statement
– A system symbol.
The system treats a string beginning with an ampersand but not meeting these
criteria as a literal sequence of characters. Thus the system does not substitute text
for symbols and does not issue error messages.
In the following example, &XXX is a JCL symbol that is defined in the STEP2 EXEC
statement. &INPUT is not a symbol because it is not defined.
//TPROC PROC
//STEP1 EXEC PGM=IEFBR14,PARM=’&INPUT&XXX’
// PEND
//STEP2 EXEC TPROC,XXX=VALUE
On parameters that are not in the list, the system correctly resolves a symbol that is
enclosed in apostrophes when the symbol is immediately preceded by a symbol
that is not enclosed in apostrophes. For example, both A and B are substituted
correctly in:
//DD1 DD &A’&B’,DISP=OLD
The system recognizes the period as a delimiter. The period does not appear after
you assign a substitution text to a symbol or nullify a symbol.
For example, if the first part of a data set name varies and the last does not, as in
MONDATA, TUESDATA, and so forth, code:
DSNAME=&DAY.DATA
Code two consecutive periods (..) if a period follows a symbol. For example, code
&DEPT..POK when the desired value is D58.POK and DEPT=D58 is the value
assignment.
If the substitution text is to contain a comma, include the comma in the substitution
text.
The same symbol can appear more than once in a procedure, as long as its
substitution text is the same throughout the procedure. For example, &DEPT can
appear several times in a procedure, if the department number is always to be the
same.
Note: If userid propagation does not occur, (for example a security product is not
active or the submitting userid is not allowed to propagate), SYSUID will be
null. A security product is considered ″not active″ in OS/390 if it has been
disabled. If RACF is running in a fail soft mode, the security product is
considered ″active.″
Note: If RACF is active and the job is running with a user ID not defined to RACF,
the system provides substitute characters for &SYSUID and may fail the job
because of this JCL error. The same results may occur if &SYSUID is not
resolved to a valid user when RACF is not active.
You can, for example, use &SYSUID as a generic qualifier in a data set name
specified in a transaction program profile that will be invoked by a transaction
program. Code SYSUID on the DSNAME parameter as the high-level qualifier of
the data set name:
//DD1 DD DSNAME=&SYSUID..PROFILE,DISP=(NEW,KEEP)
The system replaces the symbol with the userid of the transaction program invoker.
If userid ROGERS invokes the transaction program, the system will create the data
set name ROGERS.PROFILE.
Avoid using &SYSUID as an unqualified data set name. Depending on the other
statements in the transaction program profile, the system might interpret the data
set name as a temporary data set name.
In this example of an in-stream procedure, the &LOC symbol has a default value of
POK on the PROC statement; then it is assigned an execution value of NYC on the
calling EXEC statement.
Example 2
//JOBB JOB ...
//INSTREAM PROC LOC=POK,NUMBER=3350
//PSTEP EXEC ...
//PIN DD DSNAME=REPORT,DISP=(OLD,KEEP),UNIT=&NUMBER
//POUT DD SYSOUT=A,DEST=&LOC
// PEND
//CALLER EXEC PROC=INSTREAM,NUMBER=,LOC=STL
//PSTEP.INDATA DD *
.
(data)
.
/*
This code nullifies the &NUMBER JCL symbol. The calling EXEC statement
assignment of STL for the &LOC symbol overrides the PROC statement assignment
of POK.
Example 3
To execute this in-stream procedure and override &A with IEFBR14, &B with
BAKER, and &E with (NEW, KEEP) but leave the other parameters the same, call
the in-stream procedure with:
//CALLER1 EXEC PROC=TESTPROC,A=IEFBR14,B=BAKER,E=(NEW,KEEP)
Note that the value (NEW,KEEP) does not require apostrophes because it contains
a matched pair of parentheses. See Table 4-4 on page 4-4 for more information.
Example 4
To execute the in-stream procedure in the previous example and change DD1 to
resemble a temporary scratch space, code the following statement:
//CALLER2 EXEC PROC=TESTPROC,A=IEFBR14,B=,C=3350,D=,E=
Table 5-1 shows rules 2 through 6 in a summary table, which is the order in which
the value for a symbol is resolved.
Table 5-1. Summary of Rules 2 through 6 for Symbols in Nested Procedures
Where the Symbol is Defined
EXEC PROC SET Nested Value None
Not EXEC Not PROC Not SET
Not EXEC Not PROC
Not EXEC
Value Used (Rule 2) (Rule 3) (Rule 4) (Rule 5) (Rule 6)
EXEC Value X
PROC Value X
| Example 2
| To illustrate the scope of symbolics in the case of nested procedures, consider the
| following example, where PROC1 calls PROC2:
| //JOB2 JOB ...
| //J1 EXEC PROC1,WORK=’’’500,250’’’,LABEL=UNUSED
| //J2 EXEC PROC1
| //PROC1 PROC WORK=’’’1000,500’’’
| //S1 EXEC PROC2,WORK=&WORK
| //S2 EXEC PROC2,WORK=&WORK
| //PROC2 PROC WORK=’’’500,250’’’,LABEL=DUMMY
| //P1 EXEC PGM=IEFBR14
| //DD1 DD UNIT=SYSDA,SPACE=(TRK,(&WORK)),DSN=&LABEL
Statements in Listing
To identify the source and type of each statement, the system prints certain
characters in columns 1 and 2 or 1, 2, and 3 of the listing. These identifying
characters are explained in Table 6-1. The listing shows all procedure statements as
they appear in the cataloged procedure; the listing does not show parameter
substitutions and overrides on the statement itself.
Symbolic Parameters
The job log listing shows the symbolic parameters in procedure statements. The
values assigned to the parameters are given in IEF653I messages. These
messages appear immediately after each statement that contains symbolic
parameters.
A procedure EXEC statement appears in the job log listing exactly as it appears in
the procedure. Overridden parameters must be shown by the program being
executed:
v For the EXEC statement that executes the assembler program, the Diagnostic
Cross Reference and Assembler Summary produced by the assembler
program shows the overriding parameters.
v For the EXEC statement that executes the linkage editor, the linkage editor listing
shows the overriding parameters.
Table 6-1. Identification of Statements in Job Log
Columns 1, 2, Source and Type of Statement
and 3
Job Control Statements in the Input Stream
// JCL statement
//* Job control statement that is not a JCL comment statement but one that
the system considers to contain only comments
//* JES2 statement
//* JES3 statement
/* Certain JES3 control statements
//* JCL comment statement
Cataloged Procedure Statements
A started task is a set of JCL that is run immediately as the result of a START
command. Started tasks are generally used for critical applications. The advantages
to using started tasks are:
v You can control where and when your set of JCL is run. For example, you can
have the set of JCL started at each IPL of the system.
v You can specify both static system symbols and JCL symbols in the JCL. Static
system symbols and JCL symbols provide additional control over JCL that is
used on different systems. For example:
– When access to production data sets is controlled to protect critical business
data, you can specify symbols that represent test data sets. After testing the
data sets, you can change the values of the symbols to represent production
data sets without changing the source JCL.
– When you need to swap in an older level of a subsystem while diagnosing
problems with a newer level, you can change the values of symbols to
represent the older subsystem without changing the source JCL.
For more information about system symbols and JCL symbols, see “Using Symbols
in Started Task JCL” on page 7-8.
Note: In the past, some users set up batch jobs that controlled their programs.
Users allocated a PDS, added JOB JCL to a member of the PDS, and then
read the PDS member into an internal reader; these actions initiated a batch
job for the started task. While this method afforded some advantages, it did
not allow for symbolic support.
Note: In the past, the source JCL for started tasks was always a procedure.
Before determining whether you will use a job or a procedure as source JCL for a
given started task, you need to understand the advantages of each. After you have
identified whether the source JCL will be a job or a procedure, then determine the
system services that the started task will require. (See “Determining System
Services for a Started Task” on page 7-5.)
In most cases, you will use a procedure unless you need greater control of your
started task. For example, EREP formats the logrec data set information; you may
not need to change the way this currently works. The best candidates for
procedures are started tasks that require minimal maintenance.
The major advantage of using a job as the source JCL for a started task is the
control provided over certain aspects of the started task, such as:
v Ability to specify accounting data
For example, to determine which resources are being used by individual users.
v Ability to pass parameters to the started task
For example, using SYSIN data, you can pass data to programs in the started
task.
v Control of output
For example, many installations purge all output from started tasks because of
the volume of output. With the output control allowed within a job, you can
specify to receive output only if something abnormal occurs with the started task.
Started tasks are initiated by the START command which identifies the member that
contains the source JCL for the task. (See z/OS MVS System Commands for
information on the START command.) The following two sections describe how the
system processes the START command (depending on whether the source JCL is a
job or a procedure) and the JCL that results.
Note the following restriction: If you are running a started task you cannot override
the PARM= parameter on the START command. However, you can circumvent this
restriction as follows:
v Make the PARM= a symbolic in the EXEC statement where it is pertinent.
Example:
//JOB1 JOB parameters
//STEP1 EXEC PGM=programname,PARM=&PARM1
v Then, on the START command, change the value of the symbolic. Example:
START JOB1,,PARM1=parameters
When you have identified that the source JCL will be a job, determine which
method you will use to convert existing procedures, and determine whether the
system services that the started task will require have changed. (See “Determining
System Services for a Started Task” on page 7-5.)
To convert an existing procedure to a job, remove the PROC and PEND statements
and add a JOB statement and any other JCL you plan to use.
To invoke as existing procedure, you can choose one of the following alternatives.
Note: It is important to note that if system symbols are used on the PROC
statement, they cannot be overridden by the START command system
symbols.
When the START command is issued, MVS inserts a JCL SET statement after the
JOB statement, resulting in the following JCL:
//DUMPCHK JOB ’accounting_info’,MSGLEVEL=(1,1)
// SET SG=ALL,JDATE=93119,DAY=THURSDAY
// EXEC DUMPCHK
When the START command is issued, MVS inserts a JCL SET statement after the
JOB statement, resulting in the following JCL:
//DUMPCHK JOB ’accounting_info’,MSGLEVEL=(1,1)
// SET SG=ALL,JDATE=93119,DAY=THURSDAY
//DUMPCHK PROC
//DUMPCHK EXEC PGM=DMPCHKO,REGION=5M,PARM=’/&SG,&JDATE,&DAY’
//STEPLIB DD DSN=JCR.PGM.LOAD,DISP=SHR
//CDS DD DSN=DATAMGT.CDS,DISP=SHR
// DD DSN=DATAMGT.CDS.CLEAR,DISP=SHR
// DD DSN=DATAMGT.CDS.Y43DUMPS,DISP=SHR
//LOG DD DSN=SYS1.TSODUMP.LOG,DISP=SHR
//SYSPRINT DD SYSOUT=*
// PEND
// EXEC DUMPCHK
When the START command is issued, MVS inserts a JCL SET statement after the
JOB statement, resulting in the following JCL:
//DUMPCHK JOB ’accounting_info’,MSGLEVEL=(1,1)
// SET SG=ALL,JDATE=93119,DAY=THURSDAY
// EXEC DUMPCHK
Inform the system programmer responsible for the master JCL of your decision.
Then code the name of the subsystem on the START command’s SUB= keyword.
Without a SUB= keyword on the START command, the operating system will create
the started task under the primary job entry subsystem (JES2 or JES3) unless the
task itself is a subsystem, that is, it is either defined
v in the member IEFSSNxx of SYS1.PARMLIB, or
v dynamically by the SETSSI command or IEFSSI macro.
For a started task to use data sets cataloged in an ICF user catalog, either of the
following must occur:
v You start the started task after the CAS is fully active, or
v The started task is one of the following:
– Not a subsystem
– A subsystem that is used to start another task
– A subsystem that is started under the primary JES subsystem
If neither of those conditions is met and the task attempts to obtain catalog
information, the system ends the started task abnormally. To avoid this potential
abend, either specify unit and volume information in your JCL for each data set
cataloged in an ICF user catalog, or catalog the data sets in the master catalog.
If the substitution text for the &SYSNAME system symbol is SYS1 on the
system that processes the START command, the system substitutes the text
SYS1 for the &SYSNAME system symbol. The equivalent source JCL is:
//DUMPCHK JOB MSGLEVEL=1
//STARTING EXEC DUMPCHK,SG=ALL,JDATE=93119,DAY=THURSDAY,SUB=CICSSYS1
In the source JCL:
You can also specify system symbols in the source JCL for started tasks. Keep
in mind that system symbols in the source JCL are resolved during JCL
processing, rather than command processing.
For example, suppose you code the following JCL in the DUMPCHK procedure:
//DUMPCHK PROC
//S1 EXEC PGM=DUMPPROG,PARM=CICS&SYSNAME
As in the previous example for the START command, if the substitution text for
the &SYSNAME system symbol is SYS1 on the system that processes the JCL,
the system substitutes the text SYS1 for the &SYSNAME system symbol. The
equivalent JCL is:
//DUMPCHK PROC
//S1 EXEC PGM=DUMPPROG,PARM=CICSSYS1
Suppose that two systems, named SYS1 and SYS2, are to process a
DUMPCHK procedure that contains the following statement:
//LOG DD DSN=&SYSNAME..LOG,DISP=......
When each system processes the statement, the following data set names
result:
SYS1.LOG on system SYS1
SYS2.LOG on system SYS2
Assume that the source JCL is a started task named TEST. There are three
departments (A, B, and C) with three accounting codes (ACODE, BCODE, and
CCODE) respectively. You can have each department indicate its accounting code
on the START command. For example, when department A enters the following
command:
START TEST,ACCTNO=ACODE
You can also use symbols to set default values that can later be overridden (as
needed).
For example, if the procedure TEST has the following JCL coded:
ACCT=&ACCTNO
you can set the value of ACCT to ACODE by including the following JCL on the
PROC statement of procedure TEST:
ACCTNO=ACODE
If another value is provided on the START command (for example, START TEST,
ACCT=BCODE), the new value (BCODE) overrides the default (ACODE) provided
in the JCL, but only for this instance of the started task. If the START command is
entered again without a value, the default will again be provided.
Note: This example modifies the step-level accounting data defined by the EXEC
statement ACCT parameter. The START command JOBACCT parameter can
be used to specify job-level accounting data.
If DD statement keywords (or the positional parameters for UNIT and VOL=SER)
are specified on a START command, the following DD statement is added to the
JCL processed by the system:
//IEFPROC.IEFRDER DD keyword=value...
The added JCL either adds a DD statement (if an IEFRDER statement is not
specified in the source JCL) or modifies an existing IEFRDER DD statement in the
source JCL. The DD statement override allows you to determine the characteristics
for one DD statement when you issue the START command.
The DD statement keyword parameters can be any keyword that is valid on the
MVS JCL DD statement. The IEFRDER DD statement contains all of the DD
keywords specified on the START command. For example:
START ABLE.LOAD,DSNAME=MY.LOADLIB,DISP=SHR
JOB statement keyword parameters are those keywords defined for the MVS JCL
JOB statement. These keywords will add to or override the specification of the JOB
statement keywords. The EXEC statement keyword parameters are those keywords
defined for the MVS JCL EXEC statement. The treatment of these keywords
depends on whether the target of the START command is a job or a procedure.
See the following table. EXEC keywords that are also JOB keywords, such as TIME
and REGION, are treated as JOB keywords.
In this next example, assume ABC is a procedure, not a job. The following START
command creates a REGION=200K parameter on the JOB statement and a
DYNAMNBR=2 parameter on the EXEC statement:
START ABC.DEF,REGION=200K,DYNAMNBR=2
You can use symbols to override other symbols that are specified in the procedure
to be started. For example, the following command starts customer information
control system (CICS) with a 20K region:
START CICS,A=20K
Note: Select names for symbols carefully; see “Coding Symbols in JCL” on
page 5-17 for rules to use when coding and naming symbols.
The following table describes the actions that result from specifying various
keywords and symbols on the START command:
Note 1: Other does not include the START command reserved words SUB,
JOBNAME, and JOBACCT.
Note: You are not required to change the name of your started task; you probably
will not want to change the name of a started task that typically has only one
instance (OAM or LLA, for example).
There are four ways that you can name or identify a started task:
v JOBNAME parameter
Use the JOBNAME parameter on the START command to rename the started
task dynamically (see the description of START in z/OS MVS System Commands
for details).
v Membername
If you do not use the JOBNAME parameter on the START command and the
source JCL is a procedure, the system automatically assigns the membername
as the jobname.
v Source JCL
If you do not use the JOBNAME parameter on the START command and the
source JCL for the started task is a job, the jobname provided on the JOB
statement is assigned as the jobname.
v Identifier
If specified on the START command, and the started task runs in a system
address space that is created using common system address space procedure
IEESYSAS, the identifier is assigned to the started task.
Use the JCL command statement to enter an MVS operator command through the
input stream on a JES2 system.
However, the COMMAND statement, described on page 9-1, is the preferred way
within the job control language to specify MVS and JES commands.
Note: To enter a JES2 command, use the JES2 command statement described on
page 27-1. To enter a JES3 command, use the JES3 command statement
described on page 28-2.
The system processes each command according to installation options for both the
input device from which the job was read, and the job class.
References
For more information on MVS commands and for descriptions of their parameters,
see z/OS MVS System Commands.
Description
Syntax
The command statement consists of the characters // in columns 1 and 2 and three fields:
operation (command), parameter, and comments.
Operation Field
The operation field contains the MVS operator command and is coded as follows:
v Precede and follow the command with one or more blanks. It can begin in any
column.
v Code the command or a valid abbreviation for the command.
Comments Field
The comments field follows the parameter field after at least one intervening blank.
The system removes the comments field from the command before processing the
command.
Defaults
Two ways to control command authority are through JES initialization parameters
and RACF. For information about controlling command authority through
initialization parameters see, Initialization and Tuning for the appropriate subsystem
at your installation. For information about controlling command authority using
RACF see, z/OS MVS Planning: Operations.
In response to this command statement, the system displays the number and userid
of all active time-sharing users of the system.
Example 2
// F NETVIEW,CLOSE IMMED
In response to this command statement, the system shuts down NETVIEW. The
system considers IMMED to be a comment due to the delimiting blank.
Use the COMMAND statement to specify an MVS or JES command that the system
issues when the submitted JCL is converted.
The COMMAND statement is the preferred way within the job control language to
specify commands, rather than using the JCL command statement, which is
described in Chapter 8, “JCL Command Statement” on page 8-1. That is because
the COMMAND statement is in standard JCL statement format, is parsed and
processed using code common to the other JCL statements, and if necessary may
be continued across multiple card images, that is, is not limited to 80 characters.
Note that some MVS subsystems, including TSO, JES2, and JES3, offer additional
ways to enter system commands outside JCL, which may be preferable under
certain circumstances.
The system processes each command according to installation options for both the
input device from which the job was read, and the job class.
On a JES3 system, the system does not record in a job’s JESMSGLG data set any
commands you enter with the COMMAND statement.
References
For more information on MVS and JES commands and for descriptions of their
parameters, see z/OS MVS System Commands, z/OS JES2 Commands, and z/OS
JES3 Commands.
Description
Syntax
//[name] COMMAND ’command command-operand’ [comments]
Do not code an apostrophe in column 71; see “Continuing Parameter Fields Enclosed in
Apostrophes” on page 3-5 if you need more information.
Name Field
A name is optional on a COMMAND statement. If used, code it as follows:
v The name should be unique within the job.
v The name must begin in column 3.
v The name is 1 through 8 alphanumeric or national ($, #, @) characters.
v The first character must be alphabetic or national ($, #, @).
v The name must be followed by at least one blank.
| v The name may be preceded by up to 8 alphanumeric or national characters, and
| then separated by a period. Coding the name in this way should not be confused
| with specifying an override, as can be done when coding DD statements.
Operation Field
The operation field consists of the characters COMMAND and must be preceded
and followed by at least one blank. It can begin in any column.
Parameter Field
The parameter field specifies the name of the command, at least one blank, and
then operands for the command. The command and its operands must be preceded
by at least one blank, enclosed in apostrophes, and followed by at least one blank.
The maximum length of the command is 123 characters. If the command operand
contains an apostrophe, code it as two apostrophes. You can specify any MVS
command that can be issued from the operator’s console.
Comments Field
The comments field follows the parameter field after at least one intervening blank.
Defaults
Two ways to control command authority are through RACF and through JES
initialization parameters. For information about controlling command authority using
RACF, see z/OS MVS Planning: Operations. For information about controlling
command authority through initialization parameters, see either z/OS JES2
The following shows an example COMMAND statement with the START command.
// COMMAND ’S VTAM’ start VTAM
Example 2
The command statement must end in column 71 and be continued in column 16.
Use the comment statement to enter a comment on the output listing. The comment
statement is used primarily to document a job and its resource requirements.
Description
Syntax
//*comments
The comment statement consists of the characters //* in columns 1, 2, and 3 and one field:
comments.
Code the comments in columns 4 through 80. The comments field does not need to be
preceded or followed by blanks. (In a JES3 system, do not use a JES3 keyword as the first
word in column 4 of the comment field, or the comment might be taken for a JES3
statement.)
See Table 6-1 on page 6-1 for the comment statement characters used in columns
1, 2, and 3.
Use the CNTL statement to mark the beginning of program control statements in
the input stream. Program control statements specify control information for a
subsystem. The program control statements are ended by an ENDCNTL statement
and are called a CNTL/ENDCNTL group.
References
The program control statements are documented in the publications for the
subsystems. For example, for information on program control statements for the
Print Services Facility (PSF) see PSF/MVS Application Programming Guide.
Description
Syntax
The CNTL statement consists of the characters // in columns 1 and 2 and four fields: label,
operation (CNTL), parameter (*), and comments. The * parameter is required only when
comments follow.
Label Field
Code a label on every CNTL statement, as follows:
v The label must begin in column 3.
v The label is 1 through 8 alphanumeric or national ($, #, @)characters.
v The first character must be alphabetic or national ($, #, @)
v The label must be followed by at least one blank.
| v The label may be preceded by up to 8 alphanumeric or national characters, and
| then separated by a period. Coding the label in this way should not be confused
| with specifying an override, as can be done when coding DD statements.
Operation Field
The operation field consists of the characters CNTL and must be preceded and
followed by at least one blank. It can begin in any column.
Parameter Field
The parameter field contains only an asterisk. When present, the asterisk must be
preceded and followed by at least one blank. The asterisk is required only when the
statement contains comments.
Comments Field
The comments field follows the asterisk after at least one intervening blank.
You can define CNTL/ENDCNTL groups at the job level and the step level. A
job-level CNTL/ENDCNTL group appears before the first EXEC statement of the
job. A step-level CNTL/ENDCNTL group appears within the same job step or
procedure step. If you code multiple step-level CNTL/ENDCNTL groups, the label
on each CNTL statement must be unique within that step. Likewise, multiple
job-level CNTL statements must also have unique labels. You can, however, use the
same name on a step-level CNTL label and a job-level CNTL label. In this case, the
step-level CNTL group overrides the job-level CNTL group.
The PSF subsystem uses the BUFNO, PIMSG, and DATACK options of the
PRINTDEV control statement to print the data set for DD statement AGAR on a
3800 model 3. For information about the PRINTDEV statement, see PSF for
OS/390 & z/OS: Customization.
Use the DD (data definition) statement to describe a data set and to specify the
input and output resources needed for the data set.
The parameters you can specify for data set definition are arranged alphabetically
in the following pages.
References
For information about the JES initialization parameters that provide installation
defaults, see z/OS JES2 Initialization and Tuning Reference and z/OS JES3
Initialization and Tuning Reference.
Description
Syntax
// [ddname ] DD [positional-parameter][,keyword-parameter]...[comments]
[procstepname.ddname]
// [ddname ] DD
[procstepname.ddname]
v The DD statement consists of the characters // in columns 1 and 2 and four fields: name,
operation (DD), parameter, and comments. Do not code comments if the parameter field
is blank.
v A DD statement is required for each data set.
v The maximum number of DD statements per job step is 3273, based on the number of
single DD statements allowed for a TIOT (task input output table) control block size of
64K. This limit can be different depending on the installation-defined TIOT size. The
IBM-supplied default TIOT size is 32K. For information about changing the size of the
TIOT, see z/OS MVS Programming: Authorized Assembler Services Guide.
In a JES3 system, the installation might further reduce the maximum number of DD
statements per job.
Name Field
When specified, code a ddname as follows:
v Each ddname should be unique within the job step. If duplicate ddnames appear
in a job step, processing is as follows:
– In a JES2 system: The system performs device and space allocation and
disposition processing for both DD statements; however, it directs all
references to the first DD statement in the step.
– In a JES3 system: If both DD statements request JES3 or jointly-managed
devices, the system cancels the job during JES3 interpretation. If only one or
neither DD statement requests a JES3 or jointly-managed device, the system
performs device and space allocation processing for both DD statements;
however, it directs all references to the first DD statement in the step.
v The ddname must begin in column 3.
Note: Allocation processing does not fail an attempt to concatenate an HFS file
to another HFS file, or an MVS data set, even though it is impossible to
read from or write to concatenated HFS files. Do not request
concatenation of HFS files.
v The DD statement is the second or third consecutive DD statement for an
indexed sequential data set.
For example:
//PROCSTP1.DDA DD parameters
Special ddnames
Use the following special ddnames only when you want to use the facilities these
names represent to the system. These facilities are explained in Chapter 13,
JOBCAT SYSCHK
JOBLIB SYSCKEOV
STEPCAT SYSIN
STEPLIB SYSMDUMP
SYSABEND SYSUDUMP
Do not use the following ddnames on a DD statement in a JES2 system. They have
special meaning to JES2.
JESJCLIN JESMSGLG
JESJCL JESYSMSG
The following ddnames have special meaning to JES3; do not use them on a DD
statement in a JES3 system.
Operation Field
The operation field consists of the characters DD and must be preceded and
followed by at least one blank. It can begin in any column.
Parameter Field
A DD statement has two kinds of parameters: positional and keyword. All
parameters are optional.
Positional Parameters
Keyword Parameters
A DD statement can contain the following keyword parameters. You can code any
of the keyword parameters in any order in the parameter field after a positional
parameter, if coded.
AMORG
BUFND=number
BUFNI=number
BUFSP=bytes
CROPS= {RCK}
{NCK}
{NRE}
{NRC}
| FRLOG= {NONE}
| {REDO}
OPTCD= {I }
{L }
{IL}
RECFM= {F }
{FB}
{V }
{VB}
STRNO=number
SYNAD=modulename
TRACE
DISP=status status: NEW, OLD, SHR (for shared), Describes the status of
DISP=([status][,normal-termination-disp] MOD (for data set to be modified) the data set and tells the
[,abnormal-termination-disp]) system to do the
normal-termination-disp: DELETE, following with the data
See page 12-84 KEEP, PASS, CATLG, or UNCATLG set after normal or
abnormal termination of
abnormal-termination-disp: DELETE, the step or job: delete or
KEEP, CATLG, or UNCATLG keep it on its volume(s),
pass it to a later step, or
add it to or remove it
from the catalog.
HOLD= {YES} YES or Y: holds this sysout data set Tells the system to hold
{Y } this sysout data set until
{NO } NO or N: allows normal processing released by the operator.
{N } for this sysout data set’s output class
OUTPUT= {reference } name: names earlier OUTPUT JCL Associates this sysout
{(reference[,reference]...)} statement data set with one or
stepname: OUTPUT JCL in named more OUTPUT JCL
reference: step statements.
*.name procstepname: step in named
*.stepname.name procedure
*.stepname.procstepname.name
RLS= {NRI} NRI: can read uncommitted changes Specifies the record-level
{CR } CR: can read only committed sharing protocol to be
changes used with a VSAM data
See page 12-174 set.
With SMS only: profile-name: name of model profile Specifies a RACF profile
SECMODEL=(profile-name[,GENERIC]) GENERIC: model is generic profile to be used for a new
data set.
See page 12-176
SPIN= {UNALLOC} UNALLOC: the data set is available Specifies that the output
{NO } for printing immediately upon for a sysout data set is
unallocation NO: the data set is available for printing
See page 12-187 available for printing at the end of the immediately upon
job unallocation or at the
end of the job.
With SMS only: storage-class-name: installation- Specifies the storage
STORCLAS=storage-class-name defined name of a storage class class for a new data set.
unit-count: 1 - 59
serial-number subparameters (1 -
255): volume serial numbers (1 - 6
alphanumeric, $, #, @, or special
characters)
Comments Field
The comments field follows the parameter field after at least one intervening blank.
If you do not code any parameters on a DD statement, do not code any comments.
When data sets are concatenated, they are treated as having like attributes, and
the system obtains these attributes, except for block size, from the first data set in
the concatenation.
Coding a Concatenation
To concatenate data sets, omit the ddnames from all the DD statements except the
first in the sequence. The data sets are processed in the same sequence as the DD
statements defining them.
For these data sets, the BLKSIZE obtained is the largest in the concatenation. Note
that this block size can cause invalid attribute combinations when combined with
the attributes obtained from the first data set in the concatenation.
If you do not specify a block size, the system can, under certain conditions,
determine an optimum block size. For detailed information about system-determined
block size, see z/OS DFSMS: Using Data Sets.
In this example, SYSUT1 will resolve to the first data set, TSTDATA1, defined by
the DDNAME forward reference INPUT. TSTDATA2, the second data set in the
DDNAME forward reference INPUT, will be appended to SYSUT1 as well.
IEBGENER will recognize TSTDATA1 and TSTDATA2 as input.
If there are any DD statements between the forward reference and the
concatenation, the rest of the data sets in the concatenation are appended to the
last DD statement preceding the concatenation. For example:
//STEP1 EXEC PGM=IEBGENER
//SYSUT1 DD DDNAME=INPUT
//SYSPRINT DD SYSOUT=*
//SYSUT2 DD SYSOUT=*
//INPUT DD DSN=TSTDATA1,DISP=SHR
// DD DSN=TSTDATA2,DISP=SHR
//SYSIN DD DUMMY
In the preceding example, SYSUT1 will resolve to the first data set, TSTDATA1,
defined in the DDNAME forward reference INPUT. TSTDATA2 will be appended to
SYSUT2, the last DD statement preceding the concatenation. In this example,
IEBGENER will recognize only TSTDATA1 as input.
In this example, the result of the DDNAME forward reference INPUT is:
v In step S1, DD1 resolves to data set MYDSN1 and data set MYDSN4 is
concatenated to data set MYDSN3.
v In step S2, DDA resolves to data set MINE1 and data set MINE4 is concatenated
to data set MINE3.
Example 2
//INPUT DD DSNAME=FGLIB,DISP=(OLD,PASS)
// DD DSNAME=GROUP2,DISP=SHR
In this example, because the ddname is missing from the second DD statement, the
system concatenates the data sets defined in these statements.
Example 3
//PAYROLL.DAY DD DSNAME=DESK,DISP=SHR
Example 4
//STEPSIX.DD4 DD DSNAME=TEXT,DISP=(NEW,PASS)
// DD DSNAME=ART,DISP=SHR
In this example, the second data set is concatenated to the first, and both are
added to procedure step STEPSIX. The ddname is omitted from the second DD
statement in order to concatenate data set ART to data set TEXT.
Because the system does not allow you to write to a concatenation of data, you
need another data set with DISP=OLD in order to read from TEXT. Write to the new
DD name before reading from DD4.
* Parameter
Parameter Type
Positional, optional
Purpose
Use a DATA parameter instead of the * parameter if any of the data records start
with //.
Syntax
//ddname DD *[,parameter]... [comments]
Defaults
When you do not code BLKSIZE and LRECL, JES uses installation defaults
specified at initialization.
Note: If the input stream is from NJE (network job entry), JES uses the size
specified at the sending node.
DCB=BLKSIZE DSNAME
DCB=BUFNO LIKE
DCB=LRECL LRECL
DCB=DIAGNS REFDD
DCB=MODE=C VOLUME=SER
DLM DSID
If you code LRECL with the * parameter, you cannot submit a data set to JES3 with
a record length greater than 80 bytes.
You cannot use the TSO/E SUBMIT command to submit a data set to JES2 or
JES3 with a record length greater than 80 bytes.
You can submit a data set to JES2 or JES3 with a record length greater than 80
bytes by submitting the following JCL:
//SUBMIT JOB ...
//S1 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
In a JES3 system, the record length limit is the size of the installation-defined spool
buffer, minus 44. (For example, if the buffer size is 4084, the record length limit is
4040.) JES3 fails any job that exceeds this limit.
You can code more than one DD * or DD DATA statement in a job step in order to
include several distinct groups of data for the application program. Precede each
group with a DD * or DD DATA statement and follow each group with a delimiter
statement.
Unread Records
If the processing program does not read all the data in an in-stream data set, the
system skips the remaining data without abnormally terminating the step.
Example 2
//INPUT3 DD *,DSNAME=&&INP3
.
data
.
/*
This example defines an in-stream data set with INP3 as the last qualifier of the
system-generated data set name. A name such as
userid.jobname.jobid.Ddsnumber.INP3 is generated.
Example 3
//STEP2 EXEC PROC=FRESH
//SETUP.WORK DD UNIT=3400-6,LABEL=(,NSL)
//SETUP.INPUT1 DD *
.
.
data
.
/*
//PRINT.FRM DD UNIT=180
//PRINT.INP DD *
.
.
data
.
/*
This example defines two groups of data in the input stream. The input data defined
by DD statement SETUP.INPUT1 is to be used by the cataloged procedure step
named SETUP. The input data defined by DD statement PRINT.INP is to be used
by the cataloged procedure step named PRINT.
ACCODE Parameter
Parameter Type
Keyword, optional
Purpose
References
Syntax
ACCODE=access-code
Subparameter Definition
access-code
Specifies an accessibility code. The access code is 1 through 8 characters. In
ISO/ANSI/FIPS Version 3 the first character must be an upper case letter from
A through Z. In ISO/ANSI Version 4 the first character must be an upper case
letter from A to Z, number from 0 to 9, or one of the special characters ! * ″ % ’
( ) + , - . / : ; < = > ? and _ .
Enclose the ACCODE in apostrophes if you specify special characters. For
example, ACCODE=’AB/CD’. Specify two apostrophes if you include an
apostrophe as a special character. For example, to specify DAY’SEND, use
ACCODE=’DAY’’SEND’.
Note: ISO/ANSI/FIPS Version 3 and ISO/ANSI Version 4 use only the first
character as the accessibility code; the installation can use the other
seven characters. If the first character is other than those allowed, the
installation does not give control to the file-access exit routine.
Defaults
If you do not specify an accessibility code on a DD statement that defines an
ISO/ANSI/FIPS Version 3 or ISO/ANSI Version 4 tape data set, the system writes
If the installation does not supply a file-access exit routine, the system prevents
access to any ISO/ANSI/FIPS Version 3 or ISO/ANSI Version 4 tape volume.
Overrides
If PASSWORD or NOPWREAD is coded on the DD statement LABEL parameter,
password access overrides the ACCODE parameter.
AMP Parameter
Parameter Type
Keyword, optional
Purpose
Use the AMP parameter to complete information in an access method control block
(ACB) for a VSAM data set. The ACB is a control block for entry-sequenced,
key-sequenced, and relative record data sets.
Note: With SMS, you can create new VSAM data sets with JCL DD statements.
See the DATACLAS parameter (described on page 12-50) and the RECORG
parameter (described on page 12-169).
References
For more information about VSAM data sets, see z/OS DFSMS: Using Data Sets,
z/OS DFSMS Macro Instructions for Data Sets, and z/OS MVS JCL User’s Guide.
AMP=(subparameter)
AMP=(’subparameter[,subparameter]...’)
AMP=’subparameter[,subparameter]...’
AMORG
BUFND=number
BUFNI=number
BUFSP=number
CROPS= [NCK]
[NRC]
[NRE]
[RCK]
| FRLOG= {NONE}
| {REDO}
OPTCD= {I }
{L }
{IL}
RECFM= [F ]
[FB]
[V ]
[VB]
STRNO=number
SYNAD=module
TRACE=(subparameter[,subparameter]...)
ACCBIAS=[USER ]
[SYSTEM]
[DO ]
[DW ]
[SO ]
[SW ]
SMBDFR= {Y | N}
SMBHWT= nn
RMODE31=[ALL ]
[BUFF]
[CB ]
[None]
Null Positional Subparameters: Null positions in the AMP parameter are invalid.
Special Characters: When a parameter contains only one subparameter and that
subparameter contains special characters, enclose the subparameter in apostrophes inside
the parentheses. For example, AMP=('STRNO=4').
Note: Do not enclose a subparameter in a subparameter list in apostrophes.
If you code a symbolic parameter on the AMP parameter, you can code the symbolic
parameter in apostrophes.
Continuation onto Another Statement: Enclose the subparameter list in only one
set of parentheses. Enclose all the subparameters on each statement in
apostrophes. End each statement with a comma after a complete subparameter.
For example:
//DS1 DD DSNAME=VSAMDATA,AMP=(’BUFSP=200,OPTCD=IL,RECFM=FB’,
// ’STRNO=6’)
Subparameter Definition
AMORG
Indicates that the DD statement describes a VSAM data set. Code AMORG
when data set access is through an ISAM interface program and the DD
statement contains VOLUME and UNIT parameters.
It is unnecessary to code AMP=AMORG for a data set that is SMS-managed.
An SMS data set is cataloged at allocation; all information pertaining to the data
set creation (such as RECORG) must be fully defined at allocation to ensure
the success of the job.
BUFND=number
Specifies the number of I/O buffers that VSAM is to use for data records. The
minimum is 1 plus the STRNO subparameter number. This value overrides the
BUFND value specified in the ACB or GENCB macro, or provides a value if one
is not specified. If you omit STRNO, BUFND must be at least 2.
If you omit BUFND from AMP and from the ACB macro instruction, the system
uses the STRNO number plus 1.
BUFNI=number
Specifies the number of I/O buffers that VSAM is to use for index records. This
value overrides the BUFNI value specified in the ACB or GENCB macro, or
provides a value if one is not specified. If you omit BUFNI from AMP and from
the ACB macro instruction, VSAM uses as many index buffers as the STRNO
subparameter number; if you omit both BUFNI and STRNO, VSAM uses 1
index buffer.
If data access is through the ISAM interface program, specify for the BUFNI
number 1 more than the STRNO number, or specify 2 if you omit STRNO, to
simulate having the highest level of an ISAM index resident. Specify a BUFNI
number 2 or more greater than the STRNO number to simulate having
intermediate levels of the index resident.
BUFSP=number
Specifies the maximum number of bytes for the data and index buffers in the
If you request an inappropriate option, such as the data-erase test for an input
data set, the system ignores the option.
| FRLOG=NONE
| FRLOG=REDO
| Specifies if VSAM batch logging will be performed for your VSAM data set.
| NONE
| Disables the VSAM batch logging function for your VSAM data set.
| Changes made by applications will not be written to the MVS log stream
| indicated on the LOGSTREAMID parameter.
| REDO
| Enables the VSAM batch logging function for you VSAM data set. Changes
| made by applications will be written to the MVS log stream indicated on the
| LOGSTREAMID parameter.
| Notes:
| 1. If FRLOG=REDO is specified, the LOGSTREAMID parameter must be
| specified for the VSAM data set(s). If LOGSTREAMID is not specified,
| IEC161I is issued.
| 2. There is no default JCL value for FRLOG. If FRLOG is omitted, the catalog
| value will be used.
OPTCD=I
OPTCD=L
OPTCD=IL
Indicates how the ISAM interface program is to process records that the step’s
processing program flags for deletion.
I Requests, when the data control block (DCB) contains OPTCD=L, that the
ISAM interface program is not to write into the data set records marked for
deletion by the processing program.
Note: This parameter has the same meaning and restrictions for the ISAM
interface as it has for ISAM. While it was not required in the ISAM
job control language, you should code it in the AMP parameter.
IL Requests that the ISAM interface program is not to write into the data set
records marked for deletion by the processing program. If the processing
program had read the record for update, the ISAM interface program
deletes the record from the data set.
AMP=('OPTCD=IL') has the same effect as AMP=('OPTCD=I') coded with
OPTCD=L in the DCB.
RECFM=F
RECFM=FB
RECFM=V
RECFM=VB
(For data sets with SMS, see the DD RECFM parameter described on page
12-165.)
Identifies the ISAM record format used by the processing program. You must
code this RECFM subparameter when the record format is not specified in the
DCB.
Note: This parameter has the same meaning and restrictions for the ISAM
interface as it has for ISAM. While it was not required in the ISAM job
control language, you should code it in the AMP parameter.
All VSAM requests are for unblocked records. If the processing program
requests blocked records, the ISAM interface program sets the overflow-record
indicator for each record to indicate that each is being passed to the program
unblocked.
F Indicates fixed-length records.
FB
Indicates blocked fixed-length records.
V Indicates variable-length records. If no RECFM is specified in the AMP
parameter or in the DCB, V is the default.
VB
Indicates blocked variable-length records.
STRNO=number
Indicates the number of request parameter lists the processing program uses
concurrently. The number must at least equal the number of BISAM and QISAM
requests that the program can issue concurrently. If the program creates
subtasks, add together the number of requests for each subtask plus 1 for each
subtask that sequentially processes the data set. This value overrides the
STRNO value specified in the ACB or GENCB macro, or provides a value if one
is not specified.
Note: USER and SYSTEM are the only values you may use to specify
record access bias in the data class.
DO
SMB with direct optimization.
DW
SMB weighted for direct processing.
This option provides the capability to use hiperspace.
SO
SMB with sequential optimization.
SW
SMB weighted for sequential processing.
SMBDFR=Y or SMBDFR=N
With direct optimization, use this subparameter to instruct VSAM whether to
defer writing of changed buffers to the medium until either the data set is closed
When you specify CB or NONE for RMODE31, the system obtains the buffers
in 24-bit addressable storage.
When you specify BUFF or NONE for RMODE31, the system obtains the
control blocks in 24-bit addressable storage.
If your program runs in 24-bit mode and you use locate mode processing for
the VSAM data set, you must obtain the buffers in 24-bit addressable storage.
Note: If your program runs with local or global shared resources (LSR/GSR)
and uses journaling (JRNAD) or user processing (UPAD) exit routines,
the exits must run in 31-bit mode if you obtained the control blocks
above the line.
This capability to allocate above the line is necessary when either or both of the
following conditions exists:
v The number of data sets open to a job is quite large.
You may specify RMODE31 only with the JCL DD AMP parameter or in the
ACB. The RMODE31 subparameter of AMP overrides any RMODE31 values
specified in the ACB.
* DDNAME RECFM
BURST DYNAM SUBSYS
CHARS FCB SYSOUT
COPIES FLASH TERM
DATA MODIFY UCS
DCB QNAME
Invalid ddnames
JOBLIB
STEPLIB
SYSABEND
SYSCHK
SYSCKEOV
SYSMDUMP
SYSUDUMP
Invalid DSNAMEs
When you code the AMP parameter, the DSNAME must not contain parentheses, a
minus (hyphen), or a plus (+) sign. The forms of DSNAME valid for ISAM,
partitioned access method (PAM), and generation data groups (GDG) are invalid
with VSAM data sets.
Buffer Requirements
For a key-sequenced data set, the total minimum buffer requirement is three: two
data buffers and one index buffer. For an entry-sequenced data set, two data
buffers are required.
If the number of buffers specified in the BUFND and BUFNI subparameters causes
the virtual storage requirements to exceed the BUFSP space, the number of buffers
is reduced to fit in the BUFSP space.
If BUFSP specifies more space than required by BUFND and BUFNI, the number of
buffers is increased to fill the BUFSP space.
In this example, the DD statement defines the size of the user area for data and
index buffers, specifies the number of data and index buffers, specifies the number
of requests that require concurrent data set positioning, and specifies an error exit
routine named ERROR.
Example 2
//VSAMDS2 DD DSNAME=DSM.CLASS,DISP=SHR,AMP=(’BUFSP=23456,BUFND=5’,
// ’BUFNI=10,STRNO=6,SYNAD=ERROR2,CROPS=NCK’,
// ’TRACE=(PARM1=F00203000010,KEY=ABCDEF)’)
In this example, the DD statement defines the values for BUFSP, BUFNI, STRNO,
and SYNAD, as in the previous example. It also specifies that a data set
post-checkpoint modification test is not to be performed when restarting at a
checkpoint and that GTF is to provide a trace of specified data areas.
AVGREC Parameter
Parameter Type
Purpose
Use the AVGREC parameter when you define a new data set to specify that:
v The units of allocation requested for storage space are records.
v The primary and secondary space quantity specified on the SPACE parameter
represents units, thousands, or millions of records.
When you use AVGREC with the SPACE parameter, the first subparameter (reclgth)
on the SPACE parameter must specify the average record length of the records.
Code the AVGREC parameter when you want to (1) specify records as the units of
allocation or (2) override the space allocation defined in the data class for the data
set.
If SMS is not installed or is not active, the system checks the syntax and then
otherwise ignores the AVGREC parameter.
Syntax
AVGREC= {U}
{K}
{M}
Subparameter Definition
U Specifies a record request and that the primary and secondary space quantity
specified on the SPACE parameter represents the number of records in units
(multiplier of 1).
Overrides
AVGREC overrides the space allocation defined in the DATACLAS parameter for
the data set. See “Overrides” on page 12-52.
* DYNAM
DATA QNAME
DDNAME
In the example, the space allocation defined in the DCLAS03 data class is
overridden by the SPACE and AVGREC parameters, which indicate an average
record length of 128 bytes, a primary quantity of 5K (5,120) records, and a
secondary quantity of 2K (2,048) records.
Example 2
//SMSDS3A DD DSNAME=MYDS3.PGM,DATACLAS=DCLAS03A,DISP=(NEW,KEEP),
// AVGREC=K
In the example, the space allocation defined in the DCLAS03A data class is
overridden by the AVGREC parameter, which indicates that the primary and
secondary quantity represents thousands of records.
BLKSIZE Parameter
Parameter Type
Keyword, optional
Purpose
Subparameter Definition
value
Specifies the maximum length, in bytes, of a block.
The number of bytes that you specify for BLKSIZE depends on the device type
and the record format for the data set. The maximum is 32,760 for DASD data
sets and 2,147,483,648 for tape, except for data sets on magnetic tape with
ISO/ANSI Version 3 labels, where the minimum value for BLKSIZE is 18 bytes
and the maximum is 2048 bytes. To allow a block size greater than 2048, use
installation exit routine IFG0193G, described in z/OS DFSMS Installation Exits.
valueK
Specifies the maximum length, in kilobytes, of a block. (1 kilobyte = 1024
bytes.) The maximum is 2097152. If you code 2097152K, the block size is the
maximum: 2,147,483,648 bytes.
valueM
Specifies the maximum length, in megabytes, of a block. (1 megabyte = 1024
kilobytes.) The maximum is 2048. If you code 2048M, the block size is the
maximum: 2,147,483,648 bytes.
valueG
Specifies the maximum length, in gigabytes, of a block. (1 gigabyte = 1024
megabytes.) The maximum is 2G. If you code 2G, the block size assigned is
the maximum: 2,147,483,648 bytes.
Defaults
If you do not code BLKSIZE, the system can, under certain conditions, determine
an optimum block size. For detailed information about system-determined block
size, see z/OS DFSMS: Using Data Sets.
Overrides
If you code a non-zero value for the BLKSIZE subparameter on a DCB or DCBE
macro instruction or on a DD statement that defines an existing data set with
standard labels, the DCB or DCBE BLKSIZE overrides the block size specified in
the label.
If you code BLKSIZE it will have no effect on EXCP processing unless the
application takes special steps to use it. (For information about EXCP processing
see z/OS DFSMSdfp Advanced Services.)
DD statement DD1B defines a new data set named EVER on a 3380. The DD
keywords RECFM, LRECL, and BLKSIZE contain the information necessary to
complete the data control block.
| //DD2B DD DSNAME=NEVER,DISP=(NEW,KEEP),UNIT=3590,
| // RECFM=FB,LRECL=256,BLKSIZE=204K
| DD statement DD2B defines a new data set named NEVER on a 3590. The DD
| keywords RECFM, LRECL, and BLKSIZE contain the information necessary to
| complete the data control block. The block size, which in this example is 204 x
| 1024 = 208,896 bytes, must be divisible by the logical record length, and each
| program that reads or writes this data set must be capable of handling block sizes
| this large.
BLKSZLIM Parameter
Keyword, optional
Purpose
Use the BLKSZLIM parameter to specify an upper limit on a data set’s block size if
BLKSIZE is omitted from all sources and the system determines the block size for
the data set. If a BLKSIZE value is available from any source (such as the DD
statement, data set label, or the program), then the block size limit has no effect.
The BLKSZLIM parameter is useful mainly when writing new magnetic tape data
sets with programs that can handle blocks longer than 32,760 bytes. Currently the
maximum block size supported on any tape is 256 KB. You can safely code a larger
value for BLKSZLIM. The BLKSZLIM value does not have to be a multiple of the
LRECL value. For more information, see z/OS DFSMS: Using Data Sets.
Syntax
BLKSZLIM= {value}
{valueK}
{valueM}
{valueG}
Subparameter Definition
value
Specifies in bytes an upper limit on a data sets’s block size if BLKSIZE is
omitted from all sources and the system determines the block size for the data
set. The maximum value is 2,147,483,648 bytes (two gigabytes). The minimum
value is 32K (32,768 bytes).
Defaults
If you omit BLKSZLIM, the system determines the block size from one of the
following sources, starting with the first:
1. Data class
2. DEVSUPxx value
3. 32,768
DD statement DD1B defines a new data set named EVER on a 3390 DASD. The
DD keywords RECFM and LRECL contain the information necessary to complete
the data control block. BLKSZLIM places an upper limit on the block size to be
determined by the system.
//DD2B DD DSNAME=NEVER,DISP=(NEW,KEEP),UNIT=3590,
// RECFM=FB,LRECL=80,BLKSZLIM=40K
DD statement DD2B defines a new data set named NEVER on a 3590 TAPE
device. The DD keywords RECFM and LRECL contain the information necessary to
complete the data control block. BLKSZLIM places an upper limit on the block size
to be determined by the system.
BURST Parameter
Keyword, optional
Purpose
Use the BURST parameter to specify that the output for this sysout data set printed
on a 3800 Printing Subsystem is to go to:
v The burster-trimmer-stacker, to be burst into separate sheets.
v The continuous forms stacker, to be left in continuous fanfold.
If the specified stacker is different from the last stacker used, or if a stacker was not
previously requested, JES issues a message to the operator to thread the paper
into the required stacker.
Syntax
BURST= {YES}
{Y }
{NO }
{N }
Subparameter Definition
YES
Requests that the printed output is to be burst into separate sheets. This
subparameter can also be coded as Y.
NO
Requests that the printed output is to be in a continuous fanfold. This
subparameter can also be coded as N.
Defaults
If you do not code a BURST parameter, but you code a DD SYSOUT parameter
and the sysout data set is printed on a 3800 that has a burster-trimmer-stacker,
JES uses an installation default specified at initialization.
Overrides
A BURST parameter on a sysout DD statement overrides an OUTPUT JCL BURST
parameter.
* DISP PROTECT
AMP DSID QNAME
DATA DYNAM SUBSYS
DDNAME LABEL VOLUME
In this example, the DD statement requests that JES send the output to the
burster-trimmer-stacker of the 3800. The stacker separates the printed output into
separate sheets instead of stacking it in a continuous fanfold.
CCSID Parameter
Parameter Type
Keyword, optional
Purpose
When CCSID is not specified at the JOB, EXEC, or DD levels, data passed to
BSAM and QSAM is converted to 7-bit ASCII when writing to ISO/ANSI Version 4
tapes. This may result in data loss on conversion. On READ operations the CCSID
(if recorded) on the tape header label is used for conversion.
The CCSID is recorded in the tape header label if conversion is not defaulted.
Syntax
CCSID= nnnnn
Subparameter Definition
nnnnn
The CCSID as a decimal number from 1 through 65535.
Default
367.
* DDNAME QNAME
BURST DYNAM SYSOUT
CHARS FCB TERM
COPIES FLASH UCS
DATA MODIFY
In this example, the data on the new ISO/ANSI tape is converted from EBCDIC to
7-bit ASCII because CCSID was not specified at the JOB, EXEC, or DD levels. If
the data passed to the access methods contain graphic or special characters there
could be data loss on conversion to 7-bit ASCII. This is the default operation for
ISO/ANSI/FIPS Version 3 and ISO/ANSI Version 4 tapes.
Example 2
//JOB2 JOB (123456)
//S1 EXEC PGM=MYPGM
//DD1 DD DSN=A,DISP=OLD,UNIT=3590,
// VOL=SER=T00001,LABEL=AL
In this example the data on the ISO/ANSI tape is converted from 7-bit ASCII
(default) to EBCDIC. This is the default operation for ISO/ANSI/FIPS Version 3 and
ISO/ANSI Version 4 tapes.
Example 3
//JOB3 JOB (123456)
//S1 EXEC PGM=MYPGM
//DD1 DD DSN=A,DISP=NEW,UNIT=3590,
// CCSID=65535,VOL=SER=T00003,LABEL=AL
In this example the data written to the ISO/ANSI Version 4 tape is not converted
(CCSID=65535).
Example 4
//JOB4 JOB (123456)
//S1 EXEC PGM=MYPGM
//DD1 DD DSN=A,DISP=OLD,UNIT=3590,
// CCSID=65535,VOL=SER=T00004,LABEL=AL
In this example the user did not want any conversion (CCSID=65535) on data read
by the access methods.
Example 5
//JOB5 JOB (123456),CCSID=37
//S1 EXEC PGM=MYPGM1
//DD1 DD DSN=A,DISP=NEW,LABEL=(,AL),
// VOL=SER=T00005,UNIT=3590,CCSID=437
In this example the user wants conversion from a CCSID of 37 (CECP: USA,
Canada, Netherlands, Portugal, Brazil, Australia, New Zealand) to 437 (Base
PC-data) for data written using BSAM or QSAM for ISO/ANSI Version 4 tape. The
CCSID of 437 is recorded on the tape header label.
Example 6
//JOB6 JOB (123456),CCSID=37
//S1 EXEC PGM=MYPGM2
//DD1 DD DSN=A,DISP=OLD,UNIT=3590,
// VOL=SER=T00006,CCSID=437
Example 7
//JOB7 JOB (123456),CCSID=37
//S1 EXEC PGM=MYPGM
//DD1 DD DSN=A,DISP=OLD,UNIT=3590,
// VOL=SER=T00007
In this example the ISO/ANSI labeled tape had a recorded CCSID of 437 and a
CCSID was not specified on the DD statement. Data read from this tape by the
access method is converted from a CCSID of 437 to a CCSID of 37.
Example 8
//JOB8 JOB (123456),CCSID=37
//S1 EXEC PGM=MYPGM1
//DD1 DD DSN=A,DISP=NEW,LABEL=(,AL),UNIT=3590,
// VOL=SER=T00008,CCSID=437
//S2 EXEC PGM=MYPGM2,CCSID=65535
//DD1 DD DSN=B,DISP=NEW,LABEL=(,AL),UNIT=3590,
// VOL=SER=T00009
This example illustrates overriding the CCSID specified on the JOB statement by
the specification on the EXEC statement.
In this example, in step S1 the user wants conversion from a CCSID of 37 to 437
for data written using BSAM or QSAM for the ISO/ANSI Version 4 tape.
In step S2 the JOB level CCSID of 37 is overridden by the EXEC level CCSID of
65535. Since a CCSID of 65535 prevents conversion, the data written to tape is not
converted. A CCSID of 65535 is recorded in the tape header label because no
CCSID was specified on the DD statement.
CHARS Parameter
Parameter Type
Keyword, optional
Purpose
Note: CHARS applies only for an output data set that is printed on a 3800.
References
v You can omit the parentheses if you code only one table-name or only DUMP.
v Null positions in the CHARS parameter are invalid. For example, you cannot code
CHARS=(,table-name) or CHARS=(table-name,,table-name).
Subparameter Definition
table-name
Names a character-arrangement table. Each table-name is 1 through 4
alphanumeric or national ($, #, @) characters. Code from one to four names.
DUMP
Requests a high-density dump of 204-character print lines from a 3800. If more
than one table-name is coded, DUMP must be first.
Defaults
If you do not code the DD CHARS parameter, JES uses the following, in order:
1. The CHARS parameter on an OUTPUT JCL statement, if referenced by the DD
statement.
2. The DD UCS parameter value, if coded.
3. The UCS parameter on an OUTPUT JCL statement, if referenced.
Overrides
A CHARS parameters on a sysout DD statement overrides the OUTPUT JCL
CHARS parameter.
For a data set scheduled to the Print Services Facility (PSF), the PSF uses the
following parameters, in override order, to select the font list:
1. Font list in the library member specified by an OUTPUT JCL PAGEDEF
parameter.
2. DD CHARS parameter.
3. OUTPUT JCL CHARS parameter.
4. DD UCS parameter.
5. OUTPUT JCL UCS parameter.
6. JES installation default for the device.
7. Font list on the PAGEDEF parameter in the PSF cataloged procedure.
* DISP PROTECT
AMP DSID QNAME
DATA DYNAM SUBSYS
DDNAME LABEL VOLUME
You can code one or both of these parameters. You can place both on the same
statement or one on each statement.
Example 2
//SYSABEND DD UNIT=3800,CHARS=DUMP,FCB=STD3
CHKPT Parameter
Parameter Type
Keyword, optional
Purpose
Use the CHKPT parameter to request that a checkpoint be written when each
end-of-volume is reached on the multivolume data set defined by this DD
Note: CHKPT is supported only for multivolume QSAM or BSAM data sets. CHKPT
is ignored for single-volume QSAM or BSAM data sets or for ISAM, BDAM,
BPAM, or VSAM data sets. CHKPT is not supported for partitioned data sets
extended (PDSEs).
References
Syntax
CHKPT=EOV
Subparameter Definition
EOV
Requests a checkpoint at each end-of-volume.
Overrides
v The RD parameter values of NC and RNC on the JOB or EXEC statements
override the CHKPT parameter.
v The CHKPT parameter overrides cataloged procedure values or START
command values for checkpoints at end-of-volume.
* DYNAM
DATA QNAME
DDNAME SYSOUT
Example 2
//DS2 DD DSNAME=OUTDS,DISP=(NEW,KEEP),
// CHKPT=EOV,UNIT=SYSDA,VOLUME=(,,,8)
In this example, OUTDS is a multivolume data set that is being created. The data
set requires eight volumes. Seven checkpoints will be written: when the
end-of-volume is reached on volumes one through seven.
CNTL Parameter
Parameter Type
Keyword, optional
Purpose
Use the CNTL parameter to reference a CNTL statement that appears earlier in the
job. The reference causes the subsystem to execute the program control
statements within the referenced CNTL/ENDCNTL group.
The system searches for an earlier CNTL statement with a label that matches the
label in the CNTL parameter. If the system finds no match, the system issues an
error message.
Syntax
CNTL= {*.label }
{*.stepname.label }
{*.stepname.procstepname.label}
Subparameter Definition
*.label
Identifies an earlier CNTL statement, named label. The system searches for the
CNTL statement first earlier in this step, then before the first EXEC statement of
the job.
*.stepname.label
Identifies an earlier CNTL statement, named label, that appears in an earlier
step, stepname, in the same job.
*.stepname.procstepname.label
Identifies a CNTL statement, named label, in a cataloged or in-stream
procedure. Stepname is the name of the job step that calls the procedure;
procstepname is the name of the procedure step that contains the CNTL
statement named label.
Example 2
//TUESDAY DD CNTL=*.SECOND.BLOCKS
In this example, the DD statement requests that the system use the program control
statements following the CNTL statement named BLOCKS and located in a
preceding step named SECOND.
Example 3
//WEDNES DD CNTL=*.THIRD.PROCTWO.CANETTI
In this example, the DD statement requests that the system use the program control
statements following the CNTL statement named CANETTI and located in the
procedure step PROCTWO of the procedure called in the preceding job step
THIRD.
COPIES Parameter
Parameter Type
Keyword, optional
Purpose
Use the COPIES parameter to specify how many copies of this sysout data set are
to be printed. The printed output is in page sequence for each copy.
For printing on a 3800 Printing Subsystem, this parameter can instead specify how
many copies of each page are to be printed before the next page is printed.
Note: For more information about the subparameters supported for the 3800
printer, see PSF/MVS Application Programming Guide.
Syntax
COPIES= {nnn }
{(nnn,(group-value[,group-value]...))}
{(,(group-value[,group-value]...)) }
Subparameter Definition
nnn
A number (from 1 through 255 in a JES2 system, from 1 through 254 in a JES3
system) that specifies how many copies of the data set are to be printed.
Defaults
On any of the following statements, if you do not code a COPIES parameter, code it
incorrectly, or code COPIES=0, the system uses the DD COPIES parameter default
of 1.
DD statement
OUTPUT JCL statement
For JES2, the /*OUTPUT statement
Overrides
A COPIES parameter on a sysout DD statement overrides an OUTPUT JCL
COPIES parameter.
If this DD statement references an OUTPUT JCL statement and that OUTPUT JCL
statement contains a FORMDEF parameter, which specifies a library member, the
COPYGROUP parameter on a FORMDEF statement in that member overrides any
group-value subparameters on the OUTPUT JCL COPIES parameter or the sysout
DD COPIES parameter. For more information, see “FORMDEF Parameter” on
page 22-42.
* DISP QNAME
AMP DYNAM SUBSYS
DATA LABEL VOLUME
DDNAME
For JES2, if you request copies of the entire job on the JES2 /*JOBPARM COPIES
parameter and also copies of the data set on the DD COPIES or OUTPUT JCL
COPIES parameter, and if this is a sysout data set, JES2 prints the number of
copies equal to the product of the two requests.
Note: If a null COPIES parameter appears on a DD statement that either does not
reference an OUTPUT JCL statement or references an OUTPUT JCL
statement that does not contain a COPIES parameter, the system uses a
default of 1.
Example 2
//RECORD2 DD SYSOUT=A,COPIES=(0,(1,2))
In this example, when printing on a 3800, three copies of the data set are printed in
two groups. The first group contains one copy of each page. The second group
contains two copies of each page. When printing on an impact printer, one copy
(the default for nnn) is printed.
Example 3
//RECORD3 DD SYSOUT=A,COPIES=(8,(1,3,2))
In this example, when printing on a 3800, six copies of the data set are printed in
three groups. The first group contains one copy of each page, the second group
contains three copies of each page, and the last group contains two copies of each
page. When the output device is not a 3800, the system prints eight collated copies.
Example 4
//RECORD4 DD UNIT=3800,COPIES=(1,(2,3))
Because the UNIT parameter is coded and the device is a 3800, the system prints
only the first group-value: two copies of each page.
DATA Parameter
Parameter Type
Positional, optional
Purpose
Use the DATA parameter to begin an in-stream data set that may contain
statements with // in columns 1 and 2. The data records immediately follow the DD
DATA statement; the records may be in any code, such as EBCDIC. The data
records end when:
v An EBCDIC /* or the two-character delimiter specified by a DLM parameter on
this DD statement is found in the input stream, or
v The input stream runs out of card images.
Note that, unlike a DD * statement, the data is not ended by the // that indicates
another JCL statement.
Syntax
//ddname DD DATA[,parameter]... [comments]
DCB=BLKSIZE DSNAME
DCB=BUFNO LIKE
DCB=LRECL LRECL
DCB=DIAGNS REFDD
DCB=MODE=C VOLUME=SER
DLM DSID
For JES3, when using the DCB=MODE=C subparameter with the DATA parameter,
DCB=MODE=C must be the only parameter specified with the DATA parameter.
You cannot use the TSO/E SUBMIT command to submit a data set to JES2 or
JES3 with a record length of greater than 80 bytes. The records are truncated to 80
bytes.
You can submit a data set to JES2 or JES3 with a record length of greater than 80
bytes by submitting JCL like the following. In this example JCL,
IBMUSER.LONGDATA.JCL contains the data with a record length of greater than
80 bytes. In a JES3 system, the record length is limited to the installation-defined
spool buffer size minus 44. (For example, if the buffer size is defined as 4084, the
record length limit is 4040.) JES3 input service fails any job that exceeds this limit.
You can code more than one DD * or DD DATA statement in a job step in order to
include several distinct groups of data for the processing program. Precede each
group with a DD * or DD DATA statement and follow each group with a delimiter
statement.
If you omit a DD statement before input data, the system provides a DD * statement
with the ddname of SYSIN and ends the data when it reads a JCL statement or
runs out of card images. If you omit a delimiter after input data, the system ends
the data when it reads a JCL statement or runs out of card images.
Unread Records
If the processing program does not read all the data in an in-stream data set, the
system skips the remaining data without abnormally terminating the step.
Example 2
//GROUP3 DD DATA,DSNAME=&&GRP3
.
.
data
.
/*
Example 3
//STEP2 EXEC PROC=UPDATE
//PREP.DD4 DD DSNAME=A.B.C,UNIT=3350,VOLUME=SER=D88230,
// SPACE=(TRK,(10,5)),DISP=(,CATLG,DELETE)
//PREP.IN1 DD DATA
.
.
data
.
/*
//ADD.IN2 DD *
.
.
data
.
/*
This example defines two groups of data in the input stream. The input defined by
DD statement PREP.IN1 is to be used by the cataloged procedure step named
PREP. This data contains job control statements. The input data defined by DD
statement ADD.IN2 is to be used by the cataloged procedure step named ADD.
Because this data is defined by a DD * statement, it must not contain job control
statements.
DATACLAS Parameter
Parameter Type
Keyword, optional
This parameter is useful only if SMS is running. Without SMS, use the DCB
parameter (described on page 12-53) or the AMP parameter (described on page
12-23).
Purpose
Use the DATACLAS parameter to specify a data class for a new data set. The
storage administrator at your installation defines the names of the data classes you
can code on the DATACLAS parameter.
If SMS is not installed or is not active, the system syntax checks and then ignores
the DATACLAS parameter.
SMS ignores the DATACLAS parameter if you specify it for (1) an existing data set
or (2) a data set that SMS does not support.
You can use the DATACLAS parameter for both VSAM data sets and physical
sequential (PS) or partitioned (PO) data sets.
Note
The volume-count on the VOLUME parameter in the data class specifies the
maximum number of SMS-managed volumes that a data set can span. The
volume-count is ignored for data sets to which no storage class is assigned.
References
See z/OS DFSMS: Using the Interactive Storage Management Facility for
information on how to use ISMF to view your installation-defined data classes.
Syntax
DATACLAS=data-class-name
Subparameter Definition
data-class-name
Specifies the name of a data class to be used for allocating the data set.
The name, one to eight characters, is defined by the storage administrator at
your installation.
Defaults
If you do not specify DATACLAS for a new data set and the storage administrator
has provided an installation-written automatic class selection (ACS) routine, the
ACS routine may select a data class for the data set. Check with your storage
administrator to determine if an ACS routine will select a data class for the new
data set, in which case you do not need to specify DATACLAS.
When RECORG is not specified, data sets associated with a data class, either by
JCL or assigned by an ACS routine, will have DSORG defaulted to either physical
sequential or a partitioned organization.
Explicit specification of SPACE on the DD statement overrides both the SPACE and
the AVGREC values specified in the data class.
An ACS routine can override the data class that you specify on the DATACLAS
parameter.
Attributes obtained with the LIKE and REFDD parameters override the
corresponding attributes in the DATACLAS parameter.
* DYNAM
DATA QNAME
DDNAME
In the example, the attributes in the data class named DCLAS01 are used by SMS
to handle the data set. Note that installation-written ACS routines may select a
management class and storage class and can override the specified data class.
Example 2
//SMSDS2 DD DSNAME=MYDS2.PGM,DATACLAS=DCLAS02,DISP=(NEW,KEEP),
// LRECL=256,EXPDT=1996/033
In the example, the logical record length of 256 and the expiration date of February
2, 1996, override the corresponding attributes defined in the data class for the data
set. Note that installation-written ACS routines may select a management class and
storage class and can override the specified data class.
DCB Parameter
Parameter Type
Keyword, optional
Purpose
Use the DCB parameter to complete during execution the data set information in
the data control block (DCB).
The data control block is constructed by the DCB macro instruction in assembler
language programs or by file definition statements or language-defined defaults in
programs in other languages.
Notes:
1. With SMS, you do not need to use the DCB parameter to specify data set
attributes. See the DATACLAS parameter (described on page 12-50), the LIKE
parameter (described on page 12-138), and the REFDD parameter (described
on page 12-170).
2. For JES3 SNA RJP, code DCB=LRECL=nnn; where nnn is 1 to 255 when
SYSIN data records are greater than 80 bytes. (The default LRECL is 80 bytes.)
References
For more information on constructing the data control block, see z/OS DFSMS:
Using Data Sets.
Syntax
[ DCB=(subparameter[,subparameter]...) ]
Multiple Subparameters: When the parameter contains more than one subparameter,
separate the subparameters by commas and enclose the subparameter list in parentheses.
For example, DCB=(RECFM=FB,LRECL=133,BLKSIZE=399) or DCB=(*.DD1,BUFNO=4)
Continuation onto Another Statement: Enclose the subparameter list in only one set of
parentheses. End each statement with a comma after a complete subparameter. For
example:
//INPUT DD DSNAME=WKDATA,DCB=(RECFM=FB,LRECL=80,BLKSIZE=800,
// BUFL=800,BUFNO=4)
All of the DCB keyword subparameters can be specified without the need to code
DCB=. For example, the following DD statement:
//DDEX DD DSNAME=WKDATA,DCB=(RECFM=FB,LRECL=80,BLKSIZE=800),DISP=MOD
Note:
v If the BUFMAX subparameter is coded with or without the DCB parameter, it can
have a null value only when coded on a DD which either:
– Overrides a DD in a procedure
– Is added to a procedure.
Subparameter Definition
subparameter
(With SMS, see the DD DATACLAS parameter.)
Specifies a DCB keyword subparameter needed to complete the data control
block.
An alphabetic summary of the DCB keyword subparameters follows this
parameter description.
You must supply DCB information through the DCB subparameters if your
processing program, the data set label, or your language’s defined values do
not complete the data control block.
dsname
(With SMS, see the DD LIKE parameter.)
Names a cataloged data set. The system is to copy DCB information from the
data set’s label. The data set must reside on a direct access volume, and the
volume must be mounted before the job step is executed.
If dsname represents a VSAM data set, and you are allocating a new data set,
you must also supply the RECORG parameter. You can specify RECORG
explicitly (through the RECORG parameter), or implicitly, through the
DATACLAS or LIKE parameters.
A hyphen is a valid character in a catalogued data set name. A data set name
that contains a hyphen must be enclosed in apostrophes if it is used as a DCB
subparameter.
The dsname cannot contain special characters, except for periods used in
qualifying the name. Do not specify a generation data group (GDG) base name,
a GDG relative generation member name, or a member name of a non-GDG
data set.
The system copies the following DCB information from the data set label:
If you do not specify the expiration date of the cataloged data set, the system
copies it from the data set label. The system also copies the system code.
If you code any DCB subparameters after the dsname, these subparameters
override the corresponding subparameters in the data set label. The system
copies from the referenced label only those subparameters not specified on the
referencing DD statement.
*.ddname
*.stepname.ddname
*.stepname.procstepname.ddname
| (With SMS, see the DD REFDD parameter or the DD LIKE parameter to select
| a comparable refer back function.)
Specify a backward reference to an earlier DD statement. The system is to
copy DCB information from the DCB parameter specified on that DD statement.
The DCB parameter of the referenced DD statement must contain
subparameters, and it cannot name a cataloged data set or refer to another DD
statement.
*.ddname specifies the ddname of an earlier DD statement in the same step.
*.stepname.ddname specifies the ddname of a DD statement in an earlier step,
stepname, in the same job. *.stepname.procstepname.ddname specifies the
ddname of a DD statement in a cataloged or in-stream procedure called by an
earlier job step. Stepname is the name of the job step that calls the procedure,
and procstepname is the name of the procedure step that contains the DD
statement.
If you code any DCB subparameters after the reference, these subparameters
override the corresponding subparameters on the referenced DD statement.
The system copies from the referenced DD statement only those
subparameters not specified on the referencing DD statement.
Do not reference a DD * or a DD DATA statement.
Note: The system also copies the UCS and FCB parameters from the
referenced DD statement, unless you override them in the referencing
DD statement.
Therefore, if you supply information for the same DCB field in your processing
program and on a DD statement, the system ignores the DD DCB subparameter. If
a DD statement and the data set label supply information for the same DCB field,
the system ignores the data set label information.
AMP
DYNAM
With the DDNAME parameter, code only the BLKSIZE, BUFNO, and DIAGNS DCB
subparameters.
With the QNAME parameter, code only the BLKSIZE, LRECL, OPTCD, and
RECFM DCB subparameters.
With the SPACE parameter, the value specified for BLKSIZE directly affects the
amount of space obtained for data sets allocated in records, and for data sets
allocated in blocks where the block length (blklgth) is zero.
DD statement DD1 defines a new data set named ALP. The DCB parameter
contains the information necessary to complete the data control block.
Example 2
//DD1A DD DSNAME=EVER,DISP=(NEW,KEEP),UNIT=3380,
// DCB=(RECFM=FB,LRECL=326,BLKSIZE=23472),
// SPACE=(23472,(200,40))
DD statement DD1A defines a new data set named EVER on a 3380. The DCB
parameter contains the information necessary to complete the data control block.
//DD1B DD DSNAME=EVER,DISP=(NEW,KEEP),UNIT=3380,
// RECFM=FB,LRECL=326,
// SPACE=(23472,(200,40))
Example 3
//DD2 DD DSNAME=BAL,DISP=OLD,DCB=(RECFM=F,LRECL=80,
// BLKSIZE=80)
//DD3 DD DSNAME=CNANN,DISP=(,CATLG,DELETE),UNIT=3400-6,
// LABEL=(,NL),VOLUME=SER=663488,DCB=*.DD2
DD statement DD3 defines a new data set named CNANN and requests that the
system copy the DCB subparameters from DD statement DD2, which is in the same
job step.
Example 4
//DD4 DD DSNAME=JST,DISP=(NEW,KEEP),UNIT=SYSDA,
// SPACE=(CYL,(12,2)),DCB=(A.B.C,KEYLEN=8)
DD statement DD4 defines a new data set named JST and requests that the
system copy the DCB information from the data set label of the cataloged data set
named A.B.C. If the data set label contains a key length specification, it is
overridden by the KEYLEN coded on this DD statement.
Example 5
//DD5 DD DSNAME=SMAE,DISP=OLD,
// DCB=(*.STEP1.PROCSTP5.DD8,BUFNO=5)
DD statement DD5 defines an existing, cataloged data set named SMAE and
requests that the system copy DCB subparameters from DD statement DD8, which
is contained in the procedure step named PROCSTP5. The cataloged procedure is
called by EXEC statement STEP1. Any of the DCB subparameters coded on DD
statement DD8 are ignored if they are specified in the program. If the DCB BUFNO
subparameter is not specified in the program, five buffers are assigned.
DCB Subparameters
Access Method
B Q
B I B B B E I Q T
D S P S T X G S S C
DCB A A A A A C A A A A
Subparameters M M M M M P M M M M Description of Subparameters
BFALN X X X X X X X BFALN={F|D}
Default: D (doubleword)
BTAM: BFTEK=D
D Specifies that dynamic buffering is to be used in
the processing program; if dynamic buffering is
specified, a buffer pool also must be defined.
QSAM: BFTEK={S|A}
S Specifies simple buffering (default). Simple
buffering may be coded at any time for QSAM files.
A Specifies locate mode logical record interface for
spanned records. QSAM obtains a logical record
area and assembles the physical record segments
of a spanned record into that logical record area.
This forms a complete logical record before
pointing the user to it.
v This parameter value may be specified only for
RECFM=VS or RECFM=VBS files; if specified
without RECFM=VS|VBS, the specification is
ignored.
v Locate mode must be used together with this
parameter value.
Note: If you use locate mode on a
RECFM=VS|VBS file and BFTEK=A is not
specified, the results may include processing the
segments of a spanned record as separate
records, issuance of system completion (abend)
code X'002' with reason code X'04', or other
unpredictable results.
v If you specify BFTEK=A with move mode, a
system completion (abend) code X'013' with
reason code X'5C' is issued.
Default: 1
Default: 2
Default: 2
EROPT X X EROPT=x
BTAM: Requests the BTAM on-line terminal test option.
x=T
QSAM: Specifies the option to be executed if an error
occurs in reading or writing a record.
x=ACC System is to accept the block causing the
error.
x=SKP System is to skip the block causing the
error.
x=ABE System is to cause abnormal end of task.
Default ABE
Default: 0
Default: E
Default: 1
BISAM: OPTCD={[L][R][W]}
L requests that the control program delete records
that have a first byte of all ones. These records will
be deleted when space is required for new records.
To use the delete option, the DCB RKP must be
greater than zero for fixed-length records and
greater than four for variable-length records.
R requests that the control program place
reorganization criteria information in certain fields of
the DCB. The problem program can analyze these
statistics to determine when to reorganize the data
set.
W requests a validity check for write operations on
direct access devices.
EXCP: OPTCD=Z
Z for magnetic tape reel input, requests that the
control program shorten its normal error recovery
procedure. When specified, a data check is
considered permanent after five unsuccessful
attempts to read a record. OPTCD=Z has no effect
on a tape cartridge.
TCAM: OPTCD={C|U|W}
C specifies that one byte of the work area indicates if
a segment of a message is the first, middle, or last
segment.
U specifies that the work unit is a message. If U is
omitted, the work unit is assumed to be a record.
W specifies that the name of each message source is
to be placed in an 8-byte field in the work area.
You can omit the parentheses if you code only the first
operand.
Default: (A,A)
Default: 1
Default: (0,0)
Default: 0
Default: 1
DDNAME Parameter
Parameter Type
Keyword, optional
Purpose
Use the DDNAME parameter to postpone defining a data set until later in the same
job step. A DDNAME parameter on a DD statement in a cataloged or in-stream
procedure allows you to postpone defining the data set until a job step calls the
procedure; the data set must be defined in the calling job step.
Syntax
DDNAME=ddname
v The DDNAME parameter can have a null value only when coded on a DD which either:
– Overrides a DD in a procedure
– Is added to a procedure.
Subparameter Definition
ddname
Refers to a later DD statement that defines the data set. ddname must match
the ddname of the referenced DD statement.
A job step or procedure step can contain up to five DD statements with
DDNAME parameters. Each DDNAME parameter must refer to a different DD
statement.
Overrides
If any DCB subparameter appears on both DD statements, the DCB subparameter
on the referenced DD statement overrides the DCB subparameter on the DD
statement that contains DDNAME.
DCB=BLKSIZE LIKE
DCB=BUFNO REFDD
DCB=DIAGNS
To concatenate data sets to a data set defined with a DDNAME parameter, the
unnamed DD statements must follow the DD statement that contains the DDNAME
parameter, not the referenced DD statement that defines the data set.
To use the same device, a DD statement can request unit affinity to an earlier DD
statement by specifying UNIT=AFF=ddname. If a DD statement requests unit affinity
to a DD statement containing a DDNAME parameter, the DD statement requesting
unit affinity must be placed after the referenced DD statement. If the DD statement
requesting unit affinity appears before, the system treats the DD statement
requesting unit affinity as a DUMMY DD statement.
//STEP EXEC PGM=TKM
//DD1 DD DDNAME=DD4
//DD2 DD DSNAME=A,DISP=OLD
.
.
//DD4 DD DSNAME=B,DISP=OLD
//DD5 DD UNIT=AFF=DD1
DD1 postpones defining the data set until DD4. DD5 requests unit affinity to DD1.
Because DD1 has been defined when DD5 is processed, the system assigns DD5
to the same device as DD1.
Referenced DD Statement
If the DDNAME parameter appears in a procedure with multiple steps, the ddname
on the referenced DD statement takes the form stepname.ddname. For example, if
procedure step STEPCP1 contains:
//INDATA DD DDNAME=DD1
In this example, SYSUT1 will resolve to the first data set TSTDATA1, defined by the
DDNAME forward reference INPUT. TSTDATA2, the second data set in the
DDNAME forward reference INPUT, will be appended to SYSUT1 as well.
IEBGENER will recognize TSTDATA1 and TSTDATA2 as input.
If there are any DD statements between the forward reference and the
concatenation, the rest of the data sets in the concatenation are appended to the
last DD statement preceding the concatenation. For example:
//STEP1 EXEC PGM=IEBGENER
//SYSUT1 DD DDNAME=INPUT
//SYSPRINT DD SYSOUT=*
//SYSUT2 DD SYSOUT=*
//INPUT DD DSN=TSTDATA1,DISP=SHR
// DD DSN=TSTDATA2,DISP=SHR
//SYSIN DD DUMMY
In the preceding example, SYSUT1 will resolve to the first data set, TSTDATA1,
defined in the DDNAME forward reference INPUT. TSTDATA2 will be appended to
SYSUT2, the last DD statement preceding the concatenation. In that example
IEBGENER will only recognize TSTDATA1 as input.
In the preceding example, the result of the DDNAME forward reference INPUT is:
v In step S1, DD1 resolves to data set MYDSN1 and data set MYDSN4 is
concatenated to data set MYDSN3.
v In step S2, DDA resolves to data set MINE1 and data set MINE4 is concatenated
to data set MINE3.
Backward References
A backward reference is a reference to an earlier DD statement in the job or in a
cataloged or in-stream procedure called by a job step. A backward reference is in
the form *.ddname or *.stepname.ddname or *.stepname.procstepname.ddname.
The ddname in the reference is the ddname of the earlier DD statement. If the
earlier DD statement contains a DDNAME parameter, the reference is to the
ddname in the name field of the earlier statement, not to the ddname in the
DDNAME parameter.
The following procedure step is the only step in a cataloged procedure named
CROWE:
//PROCSTEP EXEC PGM=RECPGM
//DD1 DD DDNAME=WKREC
//POD DD DSNAME=OLDREC,DISP=OLD
DD statement DD1 is intended for weekly records in the input stream; these records
are processed by this step. Because the * and DATA parameters cannot be used in
cataloged procedures, the DDNAME parameter is coded to postpone defining the
data set until the procedure is called by a job step. The step that calls the
procedure is:
Example 2
When the procedure contains multiple steps, use the form stepname.ddname for
the ddname of the referenced DD statement. For example, the following procedure
steps appear in a cataloged procedure named PRICE:
//STEP1 EXEC PGM=SUGAR
//DD1 DD DDNAME=QUOTES
.
.
.
//STEP2 EXEC PGM=MOLASS
//DD2 DD DSNAME=WEEKB,DISP=OLD
.
.
.
Example 3
Example 4
//ABC PROC
//SI EXEC PGM=IEFBR14
//DD1 DD DDNAME=INPUT1
// DD DDNAME=INPUT2
// DD DDNAME=INPUT3
// DD DDNAME=INPUT4
// DD DDNAME=INPUT5
//STEP1 EXEC ABC
//INPUT1 DD DSN=FIRST,DISP=SHR
//INPUT2 DD DSN=SECOND,DISP=SHR
//INPUT3 DD DSN=THIRD,DISP=SHR
DEST Parameter
Parameter Type
Keyword, optional
Purpose
Use the DEST parameter to specify a destination for a sysout data set. The DEST
parameter can send a sysout data set to a remote or local terminal, a node, a node
and remote workstation, a local device or group of devices, or a node and userid.
For more information about USERID and WRITER ID, see z/OS MVS JCL User’s
Guide.
LOCAL|ANYLOCAL
name
Nnnnn
NnnRmmmm
NnnnRmmm
NnnnnRmm
Rmmmm
RMmmmm
RMTmmmm
Unnnn
(node,userid)
userid
ANYLOCAL
device-name
device-number
group-name
nodename
(node,userid)
(nodename.devicename)
Note: JES2 initialization statements determine whether or not the node name is
required when coding a userid. See your system programmer for
information regarding how routings will be interpreted by JES2.
Defaults
If you do not code a DEST parameter, JES directs the sysout data set to the default
destination for the input device from which the job was submitted.
In a JES3 system, if you do not code a DEST parameter, the default destination is
the submitting location. For jobs submitted through TSO/E and routed to NJE for
execution, the default is the node from which the job was submitted, and the
destination ANYLOCAL.
If you’ve coded the ORG parameter but did not explicitly code a primary destination,
the default primary destination is the node specified in the ORG parameter, not the
submitting node.
Overrides
The DEST parameter on the sysout DD statement overrides an OUTPUT JCL
DEST parameter.
In this example, the system sends the sysout data set defined by DD statement
DEBIT to the work station that submitted the job, the data set defined by DD
statement CALIF to the remote terminal 555, and the data set defined by DD
statement FLOR to VM userid 9212U28 at node BOCA.
DISP Parameter
Parameter Type
Keyword, optional
Purpose
Use the DISP parameter to describe the status of a data set to the system and tell
the system what to do with the data set after termination of the step or job. You can
specify one disposition for normal termination and another for abnormal termination.
Note: Disposition of the data set is controlled solely by the DISP parameter;
disposition of the volume(s) on which the data set resides is a function of
the volume status when the volume is demounted. If the UNIT parameter
specifies a device, such as a printer or telecommunications device, that does
not involve a data set, do not code the DISP parameter.
If the system obtains unit and volume information for an OLD, MOD, or SHR status,
the data set is treated as if it exists, whether or not it is physically on the device.
When any step of a job requests exclusive control of a data set, the system
converts all requests for shared control of that data set within that job (DISP=SHR)
to requests for exclusive control. One of two methods can be used to request
exclusive control:
v DISP=NEW, DISP=MOD, or DISP=OLD on a JCL request.
v DISP=NEW, DISP=MOD, or DISP=OLD on a dynamic allocation request,
including dynamic allocation requests that result from the use of certain utility
control statements. For example, utility control statements that delete/scratch a
data set will result in exclusive use of that data set.
References
For information about tape data set processing, see z/OS DFSMS: Using Magnetic
Tapes.
Syntax
{DISP=status }
{DISP=([status][,normal-termination-disp][,abnormal-termination-disp])}
v You can omit the parentheses if you code only the status subparameter.
v If you omit the status subparameter but code subparameters for normal or abnormal
termination disposition, you must code a comma to indicate the absence of NEW. For
example, DISP=(,KEEP) or DISP=(,CATLG,DELETE).
v If you omit the second subparameter but code the third, you must code a comma to
indicate the absence of the second subparameter. For example, DISP=(OLD,,DELETE)
or DISP=(,,KEEP).
Subparameter Definition
Status Subparameter
NEW
Indicates that a new data set is to be created in this step.
In either case, MOD specifies exclusive (unshared) use of the data set.
When the data set is opened, the read/write mechanism is positioned after the
last sequential record for an existing data set or at the beginning for a new data
set. For subsequent OPENs within the same step, the read/write mechanism is
positioned after the last sequential record.
If the system cannot find volume information for the data set on the DD
statement, in the catalog, or passed with the data set from a previous step, the
system assumes that the data set is being created in this job step. For a new
data set, MOD causes the read/write mechanism to be positioned at the
beginning of the data set.
To use DISP=MOD to create a new data set, code one of the following:
v No VOLUME=SER or VOLUME=REF parameter on the DD statement. The
data set must not be cataloged or passed from another job step.
v A VOLUME=REF parameter that refers to a DD statement that makes a
nonspecific volume request. (A nonspecific volume request is a DD statement
for a new data set that can be assigned to any volume or volumes.) One of
the following must also be true:
– The DSNAME parameters in the two DD statements must be different.
– The two DD statements must request different areas of the same ISAM
data set.
v In the case of tape, if you do not specify an explicit volume serial number on
the DD statement, the system requests the operator to mount a ″scratch″
tape.
For a new generation of a generation data group (GDG) data set (where (+n)
is greater than 0), you may code VOLUME=REF or VOLUME=SER.
For an SMS-managed data set the system ignores the volume.
After the system chooses a volume for a new data set, if the system finds
another data set with the same name on that volume, the system will try to
allocate a different volume. However, SMS-managed data sets require unique
data set names. If a new data set is chosen to be SMS-managed and an
existing SMS-managed data set has the same name, the request fails.
In a JES3 system, if you code DISP=MOD for a multivolume data set and any
of the volumes are JES3-managed, JES3 will not execute the job until all
volumes, including scratch volumes being added, are allocated. Such a job will
wait on the queue until all volumes are allocated.
If you are using DISP=MOD for an existing data set, see Determining the Last
Volume on page 12-91.
A new data set is deleted at the end of the step even though a retention period
or expiration date is also specified. See the DD EXPDT or RETPD parameters.
If the system retrieves volume information from the catalog because the DD
statement does not specify VOLUME=SER or VOLUME=REF, then DELETE
implies UNCATLG: the system deletes the data set and removes its catalog
entry.
KEEP
Indicates that the data set is to be kept on the volume if this step terminates
normally.
Without SMS, only KEEP is valid for VSAM data sets. VSAM data sets should
not be passed, cataloged, uncataloged, or deleted.
With SMS, all dispositions are valid for VSAM data sets; however, UNCATLG is
ignored.
For new SMS-managed data sets, KEEP implies CATLG.
PASS
Indicates that the data set is to be passed for use by a subsequent step in the
same job.
A new data set is deleted at the end of the step even though a retention period
or expiration date is also specified. See the DD EXPDT or RETPD parameters.
If the system retrieves volume information from the catalog because the DD
statement does not specify VOLUME=SER or VOLUME=REF, then DELETE
implies UNCATLG: the system deletes the data set and removes its catalog
entry.
For a cataloged, passed data set, the user catalog is not updated.
KEEP
Indicates that the data set is to be kept on the volume if this step terminates
abnormally.
Without SMS, only KEEP is valid for VSAM data sets. VSAM data sets should
not be passed, cataloged, uncataloged, or deleted.
With SMS, all dispositions are valid for VSAM data sets; however, UNCATLG is
ignored.
For new SMS-managed data sets, KEEP implies CATLG.
CATLG
Indicates that, if the step terminates abnormally, the system is to place an entry
pointing to the data set in the system or user catalog. For CVOL catalogs, the
system creates any missing index levels. Note that the data set is kept.
An unopened tape data set is cataloged, unless the volume request is
nonspecific or unless the data set is allocated to a dual-density tape drive but
no density is specified.
For a cataloged, passed data set, the user catalog is not updated. A passed,
not received data set is not cataloged if the data set name has a first-level
qualifier of a catalog name or alias.
UNCATLG
Indicates that, if this step terminates abnormally, the system is to delete (1) the
entry pointing to the data set in the system or user catalog and (2) unneeded
indexes, except for the highest level entry. Note that the data set is kept.
For a cataloged, passed data set, the user catalog is not updated.
With SMS, UNCATLG is ignored for SMS-managed data sets and VSAM data
sets (KEEP is implied).
Defaults
v If you omit the status subparameter, the default is NEW.
v If you omit the normal termination disposition subparameter, the default is
DELETE for a NEW data set or KEEP for an existing data set.
v If you omit the abnormal termination disposition subparameter, the default is the
disposition specified or implied by the second subparameter. However, if the
second subparameter specified PASS, the default abnormal termination
disposition is DELETE for a NEW data set or KEEP for an existing data set.
* DDNAME SYSOUT
BURST DYNAM
CHARS FLASH
COPIES MODIFY
DATA QNAME
| For a temporary data set name, the system ignores any abnormal termination
| disposition specified in the third subparameter and always PASSes the data set to
| subsequent steps.
When you specify DISP=OLD for a PDS or a PDSE, and you also specify a
member name in the DSNAME parameter, the data set must already exist. If the
member name already exists and the data set is opened for output, the system
replaces the existing member with the new member. If the member name does not
already exist and the data set is opened for output, the system adds the member to
the data set.
When you specify DISP=MOD for a PDS or a PDSE, and you do not specify a
member name, the system positions the read/write mechanism at the end of the
data set. The system does not make an automatic entry into the directory.
When you specify DISP=SHR for a partitioned data set extended (PDSE) and also
specify a member name, then:
v If the member name exists, the member can have one writer or be shared by
multiple readers, or
v If the member name does not exist, the member can be added to the data set.
Thus, multiple jobs can access different members of the data set and add new
members to the data set concurrently — but concurrent update access to a
specific member (or update and read by other jobs) is not valid.
The VOLUME parameter references the system catalog for volume information
about the data set and increases the maximum number of volumes for
OPER.DATA. Because the UNIT parameter requests parallel mounting, the system
must allocate the same number of units as the number of volumes in the VOLUME
parameter; in this case, 3.
The following is an example of the messages in the job log after the job completes.
IEF285I OPER.DATA KEPT
IEF285I VOL SER NOS= 333001,333002,333003.
IEF285I OPER.DATA RECATALOGED
IEF285I VOL SER NOS= 333001,333002,333003.
If you do not reference the catalog when adding a volume to a cataloged data set,
the system does not update the catalog with the newly referenced volumes.
In DASD and tape data set labels there is an indicator on the last volume
containing user data. When you do not specify a volume sequence number, the
system looks in the data set label for the indicator that identifies the last volume,
and then selects the volume on which to begin writing as follows:
SMS-managed DASD
The system tests the data set label on the first volume in the list. If the label
indicates it contains the end of the data set, the system selects that volume.
Otherwise, it checks each subsequent volume until it finds one that has a
last-volume indicator. (To begin writing, the system will not select later volumes that
might also have the last-volume indicator by virtue of having previously contained
parts of the data set.)
Non-SMS-managed DASD
The system tests the last volume in the list. If it contains a label for the data set,
and the label indicates it is the last volume of the data set, the system selects that
volume to begin writing. If that volume does not have a label for the data set or that
label does not have the last-volume indicator, the system checks the first and
subsequent volumes until it finds a last-volume indicator or until it tests the
second-to-last volume. If the last volume in the list once had the end of the data set
but now the data set requires fewer volumes, the system selects the wrong volume,
and any data you add will not be retrievable by normal access.
Tape
For tapes with IBM standard or ANSI/ISO/FIPS labels, the system reads trailer
labels on each volume starting with the first volume, and selects the first volume
that ends with an end-of-file label instead of an end-of-volume label. For unlabeled
tapes and those with the BLP option, the system selects the first volume.
The volume sequence number of 1 specifies that you want to use the first volume,
and the volume count of 2 specifies that the data set requires two volumes.
Thus, for the following DD statement, even though DISP=MOD is specified, the
system positions the read/write mechanism after the last record on the volume
specified in the volume sequence number in the label; this volume may or may not
be the last volume.
DD statement DD2 defines an existing data set and implies by the omitted second
subparameter that the data set is to be kept if the step terminates normally. The
statement requests that the system delete the data set if the step terminates
abnormally.
Example 2
//STEPA EXEC PGM=FILL
//DD1 DD DSNAME=SWITCH.LEVEL18.GROUP12,UNIT=3350,
// VOLUME=SER=LOCAT3,SPACE=(TRK,(80,15)),DISP=(,PASS)
//STEPB EXEC PGM=CHAR
//DD2 DD DSNAME=XTRA,DISP=OLD
//DD3 DD DSNAME=*.STEPA.DD1,DISP=(OLD,PASS,DELETE)
//STEPC EXEC PGM=TERM
//DD4 DD DSNAME=*.STEPB.DD3,DISP=(OLD,CATLG,DELETE)
DD statement DD1 defines a new data set and requests that the data set be
passed. If STEPA abnormally terminates, the data set is deleted because it is a new
data set, the second subparameter is PASS, and an abnormal termination
disposition is not coded.
DD statement DD3 in STEPB receives this passed data set and requests that the
data set be passed. If STEPB abnormally terminates, the data set is deleted
because of the third subparameter of DELETE.
DD statement DD4 in STEPC receives the passed data set and requests that the
data set be cataloged at the end of the step. If STEPC abnormally terminates, the
data set is deleted because of the abnormal termination disposition of DELETE.
DD statement DD2 defines an old data set named XTRA. When STEPB terminates,
normally or abnormally, this data set is kept.
Example 3
//SMSDD5 DD DSNAME=MYDS5.PGM,DATACLAS=DCLAS05,STORCLAS=SCLAS05,
// DISP=(NEW,KEEP)
DD statement SMSDD5 defines a new SMS-managed data set and requests that
the data set be kept (which implies that it be cataloged).
Example 4
//SMSDD7 DD DSNAME=MYDS7.PGM,DISP=(OLD,UNCATLG)
DD statement SMSDD7 defines an existing SMS-managed data set (the data set
had been assigned a storage class when it was created) and requests that the data
set be uncataloged. However, the data set is kept because UNCATLG is ignored for
SMS-managed data sets.
DLM Parameter
Parameter Type
Keyword, optional
Purpose
Use the DLM parameter to specify a delimiter to terminate this in-stream data set.
When the DLM parameter assigns a different delimiter, the in-stream data records
can include standard delimiters, such as /* and //, in the data.
Note: When the DLM delimiter overrides any implied delimiter, you must terminate
the data with the DLM characters. Otherwise, the system keeps reading until
the reader is empty.
Except for the JES2 /*SIGNON and /*SIGNOFF statements, the system does not
recognize JES2 and JES3 statements in an input stream between the DLM
parameter and the delimiter it assigns. The JES2 /*SIGNON and /*SIGNOFF
statements are processed by the remote work station regardless of any DLM
delimiter.
Syntax
DLM=delimiter
v If the specified delimiter contains any special characters, enclose it in apostrophes. In this
case, a special character is any character that is neither alphanumeric nor national ($, #,
@).
Failing to code enclosing apostrophes produces unpredictable results.
v If the delimiter contains an ampersand or an apostrophe, code each ampersand or
apostrophe as two consecutive ampersands or apostrophes. Each pair of consecutive
ampersands or apostrophes counts as one character.
v The DLM parameter can have a null value only when coded on a DD which either:
– Overrides a DD in a procedure
– Is added to a procedure.
Default
If you do not specify a DLM parameter, the default is the /* delimiter statement.
If the system finds an error on the DD statement before the DLM parameter, it does
not recognize the value assigned as a delimiter. The system reads records until it
reads a record beginning with /* or //.
The DLM parameter has meaning only on statements defining data in the input
stream, that is, DD * and DD DATA statements. If DLM is specified on any other
statement, a JCL error message is issued.
Invalid Delimiters
If the delimiter is not two characters:
v For JES2, the delimiter is not recognized. The in-stream data set is terminated
when a record starting with // or /* is read. The system fails the job due to the
invalid delimiter.
v For JES3, if an incorrect number of characters is coded, JES3 terminates the
job.
The DLM parameter assigns the characters AA as the delimiter for the data defined
in the input stream by DD statement DD1. For JES2, the characters // would also
serve as valid delimiters since a DD * statement was used. JES3 accepts only the
characters specified for the DLM parameter as a terminator for DD * or DD DATA.
DSID Parameter
Parameter Type
Keyword, optional
Purpose
Use the DSID parameter to specify the data set identifier of an input or output data
set on a diskette of the 3540 Diskette Input/Output Unit.
To read a data set from a 3540 diskette, the DD statement must contain:
v A DSID parameter.
v An * or DATA parameter, to begin the input stream data set.
Also, a system command, from the operator or in the input stream, must start the
diskette writer before this DD statement is processed.
References
For more information about associated data sets, see 3540 Programmer’s
Reference. For information about external writers, see z/OS JES2 Initialization and
Tuning Guide or z/OS JES3 Initialization and Tuning Guide.
Syntax
DSID= {id }
{(id,[V])}
Subparameter Definition
id Specifies the data set identifier. The id is 1 through 8 characters. The
characters must be alphanumeric, national ($, #, @), a hyphen, or a left
bracket. The first character must be alphabetic or national ($, #, @).
V Indicates that the data set label must have been previously verified on a 3741
Data Station/Workstation. This subparameter is required only on a SYSIN DD
statement.
BURST FLASH
CHARS MODIFY
DDNAME MVSGP
DYNAM QNAME
In this example, the SYSIN DD statement indicates that the input is on diskette
123456 in data set ABLE and must have been verified. The output will be written on
a diskette in data set BAKER.
DSNAME Parameter
Parameter Type
Keyword, optional
Purpose
Use the DSNAME parameter to specify the name of a data set. For a new data set,
the specified name is assigned to the data set; for an existing data set, the system
uses the name to locate the data set.
References
In a DFSMS-active environment, the names of all data sets that are to be cataloged
or SMS-managed must conform to the rules for cataloged data set names. For
information about the rules for cataloged data set names, refer to either z/OS
DFSMS Access Method Services for Catalogs.
dsname
dsname(member)
dsname(generation)
dsname(area)
&&dsname
&&dsname(member)
&&dsname(area)
&&dsname
*.ddname
*.stepname.ddname
*.stepname.procstepname.ddname
NULLFILE
Code each apostrophe that is part of the data set name as two consecutive apostrophes.
For example, code DAYS'END as DSNAME='DAYS''END'.
The system ignores blank characters at the end of a data set name, even if the data set
name is enclosed in apostrophes.
Significant Special Characters: The following special characters are significant to the
system. Do not enclose them in apostrophes.
v Periods to indicate a qualified data set name. However, you must enclose in apostrophes
a period immediately before a right parenthesis, immediately after a left parenthesis, or
immediately before a comma; for example, DSNAME='(.ABC)' and DSNAME='(ABC.)'
and DSNAME='A.B.C.'.
v Double ampersands to identify a temporary data set name. Note that if you use
apostrophes, DSNAME='&&AB' and DSNAME='&AB' refer to the same data set.
v Double ampersands to identify an in-stream or sysout data set name.
v Parentheses to enclose the member name of a partitioned data set (PDS) or partitioned
data set extended (PDSE), the area name of an indexed sequential data set, or the
generation number of a generation data set.
v Plus (+) or minus (-) sign to identify a generation of a generation data group.
v The asterisk to indicate a backward reference.
The data set name should not contain the 44 special characters (X'04') created by the
12-4-9 multiple punch or any operation that converts the value of characters to X'04'.
Subparameter Definition
The data set names you specify on DSNAME are described in the following topics:
v Data Set Name for Permanent Data Set
v Data Set Name for Temporary Data Set
v Data Set Name for In-Stream or Sysout Data Set
v Data Set Name Copied from Earlier DD Statement
v Data Set Name for Dummy Data Set
Unqualified Name
1 through 8 alphanumeric or national ($, #, @) characters, a hyphen, or a character
X'C0'. The first character must be alphabetic or national ($, #, @). For example,
DSNAME=ALPHA is an unqualified data set name.
For the characters allowed in ISO/ANSI/FIPS tape data set names, see information
about label definition and organization in z/OS DFSMS: Using Magnetic Tapes.
Qualified Name
Multiple unqualified names joined by periods. Each qualifier is coded like an
unqualified name; therefore, the name must contain a period after every 8
characters or fewer. For example, DSNAME=ALPHA.PGM is a qualified data set
name. The maximum length of a qualified data set name is:
Note: SMS manages a temporary data set if you specify a storage class (with the
DD STORCLAS parameter) or if an installation-written automatic class
selection (ACS) routine selects a storage class for the temporary data set.
When you define a temporary data set, you can code the DSNAME parameter or
omit it; in either case, the system generates a qualified name for the temporary data
set.
When you use DSNAME for a temporary data set, code the name as two
ampersands (&&) followed by a character string 1 to 8 characters in length:
v The first character following the ampersands must be alphabetic or national.
v The remaining characters must be alphanumeric or national.
The format of the qualified name the system generates depends on whether or not
you specified a data set name on the DSNAME parameter:
v All temporary data set names begin as follows:
SYSyyddd.Thhmmss.RA000.jjobname
where:
yy indicates the year
ddd indicates the Julian day
hh indicates the hour
mm indicates the minute
ss indicates the second
jjobname
indicates the name of the job
Date fields in the system-generated name reflect when the job containing the
request (or the dynamic allocation request) was allocated. Time fields in the
system-generated name reflect when the job started (or the time of a dynamic
allocation request).
| v If you do not specify a data set name, the full format of the temporary data set
| name is:
| SYSyyddd.Thhmmss.RA000.jjobname.Rggnnnnn
| where:
| gg 01 or, in a sysplex, the system identifier
| nnnnn
| a number that is unique within a system
v If you do specify a data set name, the full format of the temporary data set name
is:
SYSyyddd.Thhmmss.RA000.jjobname.name.Hgg
where:
name the name you specified as &&name on the DSNAME parameter
gg 01 or, in a sysplex, the system identifier.
If you use DSNAME, note that the system-generated qualified name for the
temporary data set will not be unique under the following conditions:
To ensure that a temporary data set name is unique, do not code a temporary data
set name. Allow the system to assign one.
Only the job that creates a temporary data set has access to it to read and write
data and to scratch the data set.
Note: In general, the system treats a single ampersand (&) followed by a character
string of 1 to 8 characters as a symbolic parameter. (See “Using System
Symbols and JCL Symbols” on page 5-12.) However, if you code a data set
name as a symbolic parameter (by coding DSNAME=&xxxxxxxx), and do not
assign a value to or nullify the symbolic parameter, the system will process it
as a temporary data set name.
&&dsname
Specifies the name of a temporary data set.
&&dsname(member)
Specifies the name of a temporary partitioned data set (PDS) or partitioned data
set extended (PDSE) and a member within that data set.
member
1 - 8 alphanumeric or national characters, or a character X'C0'. The first
character must be alphabetic or national.
&&dsname(area)
Specifies the name of a temporary indexed sequential data set and an area of
the data set. The area name is INDEX, PRIME, or OVFLOW.
If you define an indexed sequential data set on only one DD statement, omit the
area name or code it as PRIME. For example, DSNAME=&&dsname or
DSNAME=&&dsname(PRIME).
The data set name for in-stream and sysout data sets consists of two ampersands
(&&) followed by one through eight 8 alphanumeric or national ($, #, @,) characters,
a hyphen, or a character X'C0'. The first character following the ampersands must
be alphabetic or national ($, #, @).
The system generates a qualified name for the in-stream or sysout data set. The
qualified name contains:
v The userid of the job
v The jobname
v The jobid
v A system-assigned identifier
v The data set name from the DSNAME parameter (if DSNAME is coded), or a
question mark (?) if DSNAME is not coded.
When the system checks a user’s authority to access a SYSOUT data set, the
check is made against the JESSPOOL class using the fully qualified name,
preceded by the node name and a period:
nodename.userid.jobname.jobid.Ddsnumber.name
Profiles of this format may be defined in your security system to allow other users
access to your SYSOUT data sets. A profile is not necessary for you to access your
own data sets.
When copying the data set name, the system also copies the following from the DD
statement:
v Whether or not the data set is a PDS or a PDSE.
v Whether or not the data set is a temporary data set.
*.ddname
Asks the system to copy the data set name from earlier DD statement ddname.
*.stepname.ddname
Asks the system to copy the data set name from DD statement, ddname, in an
earlier step, stepname, in the same job.
*.stepname.procstepname.ddname
Asks the system to copy the data set name from a DD statement in a cataloged
or in-stream procedure. Stepname is the name of this job step or an earlier job
step that calls the procedure, procstepname is the name of the procedure step
that contains the DD statement, and ddname is the name of the DD statement.
DDNAME
DYNAM
QNAME
Do not code the DCB IPLTXID subparameter with the DSNAME parameter.
Do not code the following data set names on the DSNAME parameter with the *,
DATA, or SYSOUT parameter (an in-stream or sysout data set); the names are
reserved for system use.
JESJCL JESMSGLG
JESJCLIN JESYSMSG
When you code an AMP parameter for a VSAM data set, do not code a DSNAME:
v That contains parentheses, a minus (hyphen), or a plus (+) sign.
v That is in the form for ISAM.
v That is in the form for PAM (partitioned access method).
v That names a generation data group.
You can create a permanent data set by specifying a qualified or unqualified data
set name, the disposition must be other than DELETE.
The following two examples illustrate how to create a temporary data set:
//MYDD1 DD DSN=TEMP1,UNIT=3480,DISP=(,DELETE),SPACE=(TRK,(1,1))
//DD2 DD UNIT=SYSALLDA,SPACE=(TRK,1),DISP=(NEW,PASS)
Note: When you code a disposition of CATLG for a data set, do not code a
DSNAME name in apostrophes.
DD statement DD1 defines a new data set and names it ALPHA. DD statements in
later job steps or jobs may retrieve this data set by specifying ALPHA in the
DSNAME parameter, unit information in the UNIT parameter, and volume
information in the VOLUME parameter.
Example 2
//DDSMS1 DD DSNAME=ALPHA.PGM,DISP=(NEW,KEEP),DATACLAS=DCLAS1,
// MGMTCLAS=MCLAS1,STORCLAS=SCLAS1
Example 3
//DD2 DD DSNAME=LIB1(PROG12),DISP=(OLD,KEEP),UNIT=3350
// VOLUME=SER=882234
DD statement DD2 retrieves member PROG12 from the partitioned data set named
LIB1.
Example 4
//DDIN DD DATA,DSNAME=&&PAYIN1
.
data
.
/*
Example 5
//DDOUT DD DSNAME=&&PAYOUT1,SYSOUT=P
Example 6
//DD3 DD DSNAME=&&WORK,UNIT=3420
DD statement DD3 defines a temporary data set. Because the data set is deleted at
the end of the job step, the DSNAME parameter can be omitted. The following
example shows why a temporary data set should be named.
Example 7
//STEP1 EXEC PGM=CREATE
//DD4 DD DSNAME=&&ISDATA(PRIME),DISP=(,PASS),UNIT=(3350,2),
// VOLUME=SER=334859,SPACE=(CYL,(10,,2),,CONTIG),DCB=DSORG=IS
//STEP2 EXEC PGM=OPER
//DD5 DD DSNAME=*.STEP1.DD4,DISP=(OLD,DELETE)
DSNTYPE Parameter
Parameter Type
Purpose
Also use the DSNTYPE parameter to override the DSNTYPE attribute defined in
the data class of the partitioned data set or PDSE.
Serialization of the data set can exist at both the data set (library) level and the
member level. If you specify DISP=SHR on the DD statement for a PDSE, sharing
of the data set applies to the data set and the individual member specified. Multiple
jobs can access different members of the data set and create new members of the
data set concurrently. However, concurrent update access to a specific member (or
update and read by other jobs) is not allowed. Dispositions of DISP=OLD, NEW, or
MOD result in exclusive use of the entire data set. A PDSE can be created through
the BPAM, BSAM, and QSAM access methods.
If DFSMS is not installed or is not active, the system checks the syntax and then
ignores the DSNTYPE parameter.
Before you define a PDSE, check with your storage administrator to ensure that
SMS is able to manage the data set and assign the PDSE to a storage class.
Information that you need to define a PDSE appears in z/OS DFSMS: Using Data
Sets .
An HFS data set is a data set used by z/OS UNIX System Services (z/OS UNIX)
programs. It contains a mountable file system. It is a partitioned format data set,
similar to a PDSE.
A FIFO special file is a type of file with the property that data written to such a file is
read on a first-in-first-out basis. A FIFO special file defined in a DD statement
provides a connection filled with data among programs. One or more programs can
write data into the file; one or more programs can read the data.
References
For information on partitioned data sets and PDSEs, see z/OS DFSMS: Using Data
Sets. For information on HFS data sets and FIFO special files, see z/OS UNIX
System Services Planning and the z/OS UNIX System Services User’s Guide.
Subparameter Definition
LIBRARY
Specifies a DFSMS-managed partitioned data set extended (PDSE). A PDSE
can contain data and problem object members.
HFS
Specifies an HFS data set. Specify HFS only when the DD statement also
specifies a DSNAME parameter.
PDS
Specifies a partitioned data set (PDS). A PDS can contain data and load
module members.
PIPE
Specifies a FIFO special file. Specify PIPE only when the DD statement also
specifies a PATH parameter.
Defaults
If you do not specify DSNTYPE, the type of data set is determined by other data
set attributes, the data class for the data set, or an installation default.
DSNTYPE cannot default to HFS or PIPE. You must explicitly specify these
attributes.
Overrides
DSNTYPE overrides the DSNTYPE attribute in the DATACLAS parameter for the
data set. See “Overrides” on page 12-52.
* DDNAME
AMP DYNAM
DATA QNAME
RECORG
In the example, the NEWPDSE DD statement defines member REC1 in the new
PDSE named FILEA.ABC. Note that installation-written ACS routines select the data
class (which specifies LIBRARY for DSNTYPE), management class, and storage
class for the data set.
In the example, the NEWA DD statement defines member WEEK1 in the new
PDSE named REPORT.ONE. DSNTYPE=LIBRARY overrides the DSNTYPE
attribute in data class DCLAS09 but uses other data set attributes in DCLAS09.
Note that installation-written ACS routines select the management class and storage
class for the data set.
Example 3
//NEWB DD DSNAME=REPORT.TWO(WEEK2),DISP=SHR,
// DATACLAS=DCLAS09,DSNTYPE=LIBRARY
In the example, the NEWB DD statement adds a new member named WEEK2 to
the existing PDSE named REPORT.ONE. DSNTYPE=LIBRARY overrides the
DSNTYPE attribute in data class DCLAS09 but uses other data set attributes in
DCLAS09. Other jobs can be concurrently processing existing members of PDSE
named REPORT. Note that installation-written ACS routines select the management
class and storage class for the data set.
Example 4
//FILESYS DD DSNAME=OPENDS.USRJOE,DATACLAS=DCLAS05,DISP=(NEW,KEEP),
// DSNTYPE=HFS,SPACE=(CYL,(100,100,1))
The FILESYS DD statement creates an HFS data set to contain an HFS file
system. The DCLAS05 in DATACLAS specifies allocation characteristics. The
number of directory blocks must be specified to indicate that this is an HFS data set
but the value has no effect on allocation.
Example 5
//PIPE DD PATH=’/u/payroll/buffer’,DSNTYPE=PIPE,
// PATHOPTS=(OWRONLY,OEXCL,OCREAT),PATHMODE=(SIWUSR,SIRGRP),
// PATHDISP=(KEEP,DELETE)
The PIPE DD statement creates a file named /u/payroll/buffer for use as a FIFO
special file. The PATHOPTS parameter specifies that the user intends that the
program open the FIFO special file for writing. The PATHMODE parameter specifies
that the file owner can write in the FIFO special file and that users in the file group
class can read from the FIFO special file. The PATHDISP parameter requests that
the file be kept when the program ends normally and deleted when it ends
abnormally.
DUMMY Parameter
Parameter Type
Positional, optional
Purpose
One use of the DUMMY parameter is in testing a program. When testing is finished
and you want input or output operations performed on the data set, replace the DD
DUMMY statement with a DD statement that fully defines the data set.
Syntax
//ddname DD DUMMY[,parameter]...
All parameters coded on a DD DUMMY statement must be syntactically correct. The system
checks their syntax.
* DYNAM
DATA QNAME
DDNAME
The system treats data sets concatenated to a DUMMY data set as dummy data
sets in that I/O operations are bypassed. However, the system performs disposition
processing and allocates devices and storage for any concatenated data sets.
Note: The ISAM/VSAM interface does not support the DUMMY parameter. For
more information on the ISAM/VSAM interface, see z/OS DFSMS: Using
Data Sets.
DD statement OUTDD1 defines a dummy data set. The other parameters coded on
the statement are checked for syntax but not used.
Example 2
//IN1 DD DUMMY,DCB=(BLKSIZE=800,LRECL=400,RECFM=FB)
Example 3
//IN2 DD DUMMY,DSNAME=ELLN,DISP=OLD,VOLUME=SER=11257,UNIT=3350
Example 4
//TAB DD DSNAME=APP.LEV12,DISP=OLD
If you call a cataloged procedure that contains DD statement TAB in procedure step
STEP1, you can make this DD statement define a dummy data set by coding:
//STEP1.TAB DD DUMMY
Example 5
//MSGS DD SYSOUT=A
DYNAM Parameter
Parameter Type
Positional, optional
Purpose
Use the DYNAM parameter to increase by one the control value for dynamically
allocated resources held for reuse. Even when DYNAM is not coded, the system
normally holds resources in anticipation of reuse. The DYNAM parameter is
supported to provide compatibility with older systems.
Syntax
//ddname DD DYNAM [comments]
This DD statement increases by one the control value for dynamically allocated
resources held for reuse.
EXPDT Parameter
Parameter Type
Keyword, optional
Purpose
Use the EXPDT parameter to specify the expiration date for a new data set. On and
after the expiration date, the data set can be deleted or written over by another data
set.
Note: You cannot use the EXPDT parameter to change the expiration date of an
existing SMS data set.
Note: You may specify a past date; this would not be an error condition.
The EXPDT parameter achieves the same result as the RETPD parameter.
Code the EXPDT parameter when you want to specify an expiration date for the
data set, or, with SMS, override the expiration date defined in the data class for the
data set.
Syntax
EXPDT= {yyddd }
{yyyy/ddd}
The EXPDT parameter can have a null value only when coded on a DD statement that is
either added to a procedure or overrides a DD statement in a procedure.
Note: For expiration dates of January 1, 2000 and later, you MUST use the
form EXPDT=yyyy/ddd.
You may specify the years from 1900. However, if you specify the current date
or an earlier date, the data set is immediately eligible for replacement.
Overrides
With SMS, EXPDT overrides the expiration date defined in the DATACLAS
parameter for the data set. See “Overrides” on page 12-52.
With SMS, both the expiration date specified on EXPDT and defined in the data
class for an SMS-managed data set can be limited by a maximum expiration date
defined in the management class for the data set.
* DYNAM
DATA RETPD
DDNAME SYSOUT
In this example, the data set is not eligible for being deleted or written over until
February 2, 2006.
Example 2
//SMSDS2 DD DSNAME=MYDS2.PGM,DATACLAS=DCLAS02,DISP=(NEW,KEEP),
// EXPDT=2001/033
In this example, the expiration date of February 2, 2001 overrides the expiration
date defined in the data class for the data set.
FCB Parameter
Parameter Type
Keyword, optional
Purpose
The FCB image specifies how many lines are to be printed per inch and the length
of the form. JES loads the image into the printer’s forms control buffer. The FCB
image is stored in SYS1.IMAGELIB. IBM provides three standard FCB images:
v STD1, which specifies 6 lines per inch on an 8.5-inch-long form. (3211 and
3203-2 only)
v STD2, which specifies 6 lines per inch on an 11-inch-long form. (3211 and
3203-2 only)
References
For more information on the forms control buffer, see z/OS DFSMSdfp Advanced
Services or 3800 Programmer’s Guide.
Syntax
FCB= {fcb-name }
{(fcb-name[,ALIGN|,VERIFY])}
v You can omit the parentheses if you code only the fcb-name.
v Code the fcb-name as STD1 or STD2 only to request the IBM-supplied images.
v Code the fcb-name as STD3 for a high-density dump.
v Null positions in the FCB parameter are invalid.
Subparameter Definition
fcb-name
Identifies the FCB image. The name is 1 through 4 alphanumeric or national ($,
#, @) characters and is the last characters of a SYS1.IMAGELIB member
name:
v FCB2xxxx member for a 3211, a 3203 model 5, or a printer supported by
SNA.
v FCB3xxxx member for a 3800.
v FCB4xxxx member for a 4248.
ALIGN
Requests that the system ask the operator to check the alignment of the printer
forms before the data set is printed.
Note:
v ALIGN is ignored for a sysout data set.
v ALIGN is ignored for a data set printed on a 3800. The 3800 does not
use the ALIGN subparameter.
VERIFY
Requests that the system ask the operator to verify that the image displayed on
the printer is for the desired FCB image. The operator can also take this
opportunity to align the printer forms.
Defaults
If you do not code the FCB parameter, the system checks the FCB image in the
printer’s forms control buffer; if it is a default image, as indicated by its first byte,
JES uses it. If it is not a default image, JES loads the FCB image that is the
installation default specified at JES initialization.
Overrides
An FCB parameter on a sysout DD statement overrides an OUTPUT JCL FCB
parameter.
* DYNAM
AMP KEYOFF
DATA PROTECT
DDNAME QNAME
Do not code the following DCB subparameters with the FCB parameter.
CYLOFL INTVL
RKP
For output to the 3525, do not code the SYSOUT parameter and the FCB
parameter; the system ignores the FCB parameter.
When a work station does not use a PDIR, add an FCB member to
SYS1.IMAGELIB. At setup time, JES3 translates the FCB into a set vertical format
(SVF).
You can code one or both of these parameters. You can place both on the same
statement or one on each statement.
Example 2
This sysout DD statement specifies output class A. If output class A routes output to
a printer having the forms control buffer feature, JES loads the FCB image IMG2
into the forms control buffer. If the printer does not have the forms control buffer
feature, the operator receives a message to mount the carriage control tape IMG2
on the printer.
Example 3
//OUTDDS DD UNIT=3211,FCB=(6,ALIGN)
Example 4
//PUNCH DD UNIT=3525,FCB=DP2
In this example, the DD statement requests output on a 3525. Therefore, the FCB
parameter defines the data protection image to be used for the 3525.
Example 5
//SYSUDUMP DD SYSOUT=A,FCB=STD3
In this example, the DD statement requests that the 3800 print a dump at 8 lines
per inch.
FILEDATA Parameter
Parameter Type
Keyword, optional
Purpose
Use the FILEDATA keyword to describe the organization of a hierarchical file so that
the system can determine how to process the file.
If a job containing the FILEDATA parameter runs on a system without the required
DFSMS/MVS support, the system checks the FILEDATA syntax and then ignores
the parameter.
References
For more information on network file protocols, see z/OS Network File System
Customization and Operation and z/OS Network File System User’s Guide.
Subparameter Definition
BINARY
The file described by the DD statement is a byte-stream file and does not
contain record delimiters. The access method does not insert or delete record
delimiters.
TEXT
The file described by the DD statement contains records delimited by the
EBCDIC newline character (x’15’).
Defaults
If you do not code the FILEDATA parameter, the system assigns a default value of
BINARY.
Overrides
The FILEDATA parameter does not override the specification of any other JCL
keyword or system parameter.
You can code the following parameters with the FILEDATA parameter.
In this example, the DD statement identifies a hierarchical file and informs the
system that this file contains records delimited by the newline character.
FLASH Parameter
Parameter Type
Keyword, optional
Purpose
Use the FLASH parameter to identify the forms overlay to be used in printing this
sysout data set on a 3800 Printing Subsystem and, optionally, to specify the
number of copies on which the forms overlay is to be printed.
References
For information on forms overlays, see the Forms Design Reference Guide for the
3800.
Syntax
{overlay-name }
FLASH= {(overlay-name[,count])}
{NONE }
The count subparameter is optional. If you omit it, you can omit the parentheses. However,
if you omit it, you must not code it as a null; for example, FLASH=(ABCD,) is invalid.
Subparameter Definition
overlay-name
Identifies the forms overlay frame that the operator is to insert into the printer
before printing begins. The name is 1 through 4 alphanumeric or national ($, #,
@) characters.
count
Specifies the number, 0 through 255, of copies that JES is to flash with the
overlay, beginning with the first copy printed. Code a count of 0 to flash all
copies.
NONE
Suppresses flashing for this sysout data set.
If FLASH=NONE is on a DD statement in a job to be executed at a remote
node, JES3 sets the overlay-name to zero before sending the job to the node.
Defaults
If you do not code a FLASH parameter and an installation default was not specified
at JES2 or JES3 initialization, forms are not flashed.
Overrides
A FLASH parameter on a sysout DD statement overrides an OUTPUT JCL FLASH
parameter.
* DISP PROTECT
AMP DSID QNAME
DATA DYNAM SUBSYS
DDNAME LABEL VOLUME
In this example, JES issues a message to the operator requesting that the
forms-overlay frame named ABCD be inserted into the printer. Then JES prints the
first five copies of the data set with the forms-overlay and the last five copies
without.
FREE Parameter
Parameter Type
Keyword, optional
Purpose
Note: Specifying FREE will not release the enqueue on the data set until the last
step that requires the data set completes processing.
Syntax
FREE= {END }
{CLOSE}
Subparameter Definition
END
Requests that the system unallocate the data set at the end of the last step that
references the data set.
CLOSE
Requests that the system unallocate the data set when it is closed.
Defaults
If no FREE parameter is specified, the default is END. Also, if the FREE parameter
is incorrectly coded, the system substitutes END and issues a warning message.
Overrides
FREE=CLOSE is ignored when:
v The data set is a member of a concatenated group.
v The task using the data set abnormally terminates.
v The data set is referenced by another DD statement in the same or subsequent
step.
* DYNAM
DATA QNAME
DDNAME
If you specify SPIN=NO with FREE=CLOSE, the sysout data set will be
unallocated, but not printed until the end of the job.
When you specify SPIN=UNALLOC with FREE=CLOSE, the sysout data set is
available for printing immediately when you explicitly close or dynamically
unallocate the data set. If you do not explicitly close or dynamically unallocate the
data set, it will be available for printing at the end of the step.
If you specify SPIN=UNALLOC with FREE=END, the sysout data set is unallocated
at the end of the step, and is made available for printing then. If you dynamically
unallocate the sysout data set, the system makes it available for printing
immediately.
If you specify SPIN=NO with FREE=END, the system makes the sysout data set
available for printing at the end of the job, regardless of when the data set is
unallocated or closed.
The data set is not unallocated until the end of the job if the assembler CLOSE
macro instruction specifies LEAVE or REREAD. Then the data set can be
reopened.
In this example, the FREE=CLOSE parameter makes JES unallocate this output
class D data set when it is closed, rather than at the end of the job step. JES
schedules the data set for printing.
Example 2
//EA33 DD DSNAME=SYBIL,DISP=OLD,FREE=CLOSE
Example 3
//STEP1 EXEC PGM=ABLE1
//DD1 DD DSNAME=A,DISP=(,PASS),FREE=END
//STEP2 EXEC PGM=ABLE2
//DD2 DD DSNAME=A,DISP=(OLD,CATLG),FREE=END
Example 4
//STEP1 EXEC PGM=BAKER1
//DD DD DSNAME=A,DISP=(NEW,PASS),FREE=END
//STEP2 EXEC PGM=BAKER2
In this example, data set A is a new data set. Because PASS is specified,
FREE=END is ignored and the data set remains allocated.
HOLD Parameter
Parameter Type
Keyword, optional
Purpose
Use the HOLD parameter to tell the system to hold a sysout data set until it is
released by the system operator. When the data set is ready for processing, notify
the system operator to release it via a TSO/E NOTIFY parameter, a JES2
/*MESSAGE statement, or a JES3 //*OPERATOR statement.
A TSO/E user can specify HOLD=YES to retrieve a sysout data set and display it
on a terminal. For JES3, the TSO/E user can process only work on the hold queue.
Notes:
1. HOLD is supported only for sysout data sets. If HOLD appears on a DD
statement that does not contain a SYSOUT parameter, it is ignored.
2. HOLD allows the sysout data set to be the internal reader. If the sysout data set
is the internal reader, the job being submitted will be held.
Syntax
HOLD= {YES}
{Y }
{NO }
{N }
Example 1.
The following job executes on NODE1 and results in the SYSUT2 output
data set being held on the BDT queue on NODE1. (NODE5 is attached to
NODE1 via SNA and output class A is not defined as a hold class.)
//S1 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=A
//SYSIN DD DUMMY
//SYSUT1 DD DSN=SYS1.PROCLIB(JES3),DISP=SHR
//SYSUT2 DD SYSOUT=A,HOLD=YES,DEST=NODES
Example 2.
The following job executes on NODE1 and results in the SYSUT2 output
data set being held on the WTR queue on NODE1. (NODE5 is attached to
NODE1 via BSC and output class A is not defined as a hold class.)
//S1 EXEC PGM=IEBGENER
//O1 OUTPUT CLASS=A,DEST=NODE2.MYWRITR
//SYSPRINT DD SYSOUT=A
//SYSIN DD DUMMY
//SYSUT1 DD DSN=SYS1.PROCLIB(JES3),DISP=SHR
//SYSUT2 DD SYSOUT=(,),HOLD=YES,OUTPUT=(*.O1)
NO
Requests that the system perform installation-defined processing for the sysout
data set’s output class. You can also code this subparameter as N.
Defaults
If no HOLD parameter is specified, the default is NO. If the HOLD parameter is
incorrectly coded, the system assumes the default of NO and issues a warning
message; the job continues.
Overrides
HOLD=NO is overridden by the unallocation verb of dynamic allocation or the
TSO/E FREE command.
JES2 users can use the /*NOTIFY control statement to direct job notification
messages and to override a JOB NOTIFY parameter.
In this example, sysout data set DD1 from JOB01 is held on a queue until the
TSO/E user at RMT6 asks the system operator to release the data set.
Example 2
//$JOBxx JOB ,’OSWALD CHALMERS’,MSGLEVEL=1
//OUT1 OUTPUT DEST=NODE2.printer,CLASS=A,...
//STEP1 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DISP=SHR,DSN=A.DATA.SET
//SYSUT2 DD SYSOUT=(,),OUTPUT=(*.OUT1),HOLD=YES
In this example, if the job is submitted on NODE1, JES3 does not ignore the
HOLD=YES. The SYSOUT data set is held at NODE1 and is not transmitted to
NODE2 to be held there.
KEYLEN Parameter
Parameter Type
Keyword, optional
Purpose
Use the KEYLEN parameter to specify the length of the keys used in a new data
set.
The key length can be supplied from the data set label (or data class with SMS). If
a key length is not specified or supplied, input or output requests must not require
keys.
KEYLEN applies to data sets with the BDAM, BPAM, BSAM, EXCP, QISAM, and
TCAM access methods, and, with SMS, to VSAM data sets.
Syntax
KEYLEN=bytes
Subparameter Definition
bytes
Specifies the length, in bytes, of the keys used in the data set.
The number of bytes is:
v 0 to 255 for non-VSAM data sets. The key length must be less than or equal
to the record length.
Note: Use only 0 for a member of a partitioned data set extended (PDSE).
Use 0 or 8 to perform input operations on the directory of a PDSE.
v 1 to 255 for VSAM key-sequenced (RECORG=KS) data sets. A key length
must be specified, either explicitly with the KEYLEN or LIKE parameter, or in
the data class for the data set. The key length must be less than the record
length.
Overrides
KEYLEN overrides the key length specified in the data set label, and with SMS,
KEYLEN overrides the key length defined in the DATACLAS parameter for the data
set. See “Overrides” on page 12-52.
* DCB=STACK
DATA DCB=TRTCH
DCB=KEYLEN DDNAME
DCB=MODE DYNAM
DCB=PRTSP
DD statement DD4 defines a new data set named JST and requests that the
system copy the DCB information from the data set label of the cataloged data set
Example 2
//SMSDS3 DD DSNAME=MYDS3.PGM,DATACLAS=VSAM1,DISP=(NEW,KEEP),
// KEYLEN=6
In the example, where the data class VSAM1 defines a key-sequenced VSAM data
set, the key length of 6 overrides the key length defined in the data class.
KEYOFF Parameter
Parameter Type
Without SMS, use the RKP subparameter of the DCB parameter described on page
12-72.
Purpose
Use the KEYOFF parameter to specify the key offset, the position of the first byte of
the record key in each logical record of a new VSAM data set. The first byte of a
logical record is position 0.
If SMS is not installed or is not active, the system syntax checks and then ignores
the KEYOFF parameter.
Code the KEYOFF parameter only for a VSAM key-sequenced data set
(RECORG=KS).
Code the KEYOFF parameter when you want to (1) specify a key offset for the data
set or (2) override the key offset defined in the data class of the data set.
References
See z/OS DFSMS: Using Data Sets for information on VSAM key-sequenced data
sets.
Syntax
KEYOFF=offset-to-key
Subparameter Definition
offset-to-key
Specifies the position (offset), in bytes, of the first byte of the key in each
record. The offset is 0 to the difference between the record length (LRECL) and
key length (KEYLEN), in the range 0 to 32,760.
Overrides
KEYOFF overrides the key offset defined in the DATACLAS parameter for the data
set. See “Overrides” on page 12-52.
* DYNAM
DATA FCB
DCB=RESERVE UCS
DCB=RKP
DDNAME
In the example, the data class VSAM1 defines a key-sequenced VSAM data set.
The key offset of 2 overrides the key offset defined in the data class and specifies
that the first byte of the key is in the third position of each record.
LABEL Parameter
Parameter Type
Keyword, optional
Purpose
Use the LABEL parameter to specify for a tape or direct access data set:
v The type and contents of the label or labels for the data set.
v If a password is required to access the data set.
v If the system is to open the data set only for input or output.
v The expiration date or retention period for the data set.
Although subparameters RETPD and EXPDT are shown in the syntax of the LABEL
parameter, you should use the RETPD or EXPDT DD parameter to specify a
retention period or expiration date for the data set.
For a tape data set, this parameter can also specify the relative position of the data
set on the volume.
References
For details on tape labels, see z/OS DFSMS: Using Magnetic Tapes. For details on
direct access labels, see z/OS DFSMS: Using Data Sets. For information on
protecting a data set with a password, see z/OS DFSMSdfp Advanced Services.
The first four subparameters are positional; the last subparameter is keyword. If you omit
any positional subparameters but code a following positional subparameter, indicate each
omitted subparameter by a comma. If the following subparameter is one of the keyword
subparameters (EXPDT or RETPD), you do not need commas to indicate omitted
subparameters. For example:
LABEL=(0001,SUL,PASSWORD,IN)
LABEL=(,SUL,PASSWORD)
LABEL=(,SUL,,IN,EXPDT=97033)
LABEL=(,,PASSWORD,EXPDT=1997/033)
LABEL=(,SUL,EXPDT=1997/033)
LABEL=(0001,,,IN)
LABEL=(0001,EXPDT=1997/033)
If you specify only the data-set-sequence-number or only the retention period or only the
expiration date, you can omit the parentheses. For example, code LABEL=data-set-
sequence-number, LABEL=RETPD=nnnn, LABEL=EXPDT=yyddd, or
LABEL=EXPDT=yyyy/ddd.
See the DD RETPD parameter described on page 12-172, and the DD EXPDT
parameter described on page 12-114.
Subparameter Definition
Data-Set-Sequence-Number
data-set-sequence-number
Identifies the relative position of a data set on a tape volume. The
data-set-sequence-number is 1 through 4 decimal digits. Omit this
subparameter or code 0 or 1 to indicate the first data set on the tape volume.
Omit this subparameter for the following:
v Cataloged data sets. The system obtains the data-set-sequence-number from
the catalog.
Label
The system does not retain label type information for cataloged data sets; if the
label type is not coded in the LABEL parameter for a cataloged data set, the system
assumes SL.
For a data set on a direct access device, the system obtains the label type from the
DD statement; the label type is not obtained from any other source referred to in
the DD statement. Only two label types are valid for direct access devices: SL and
SUL.
SL
Indicates that a data set has IBM standard labels. If this subparameter is
omitted, SL is the default.
Code only SL or SUL for data sets on direct access devices.
If the LABEL parameter is coded on a SYSCKEOV DD statement, code
LABEL=(,SL).
SUL
Indicates that a data set has both IBM standard and user labels.
Code only SL or SUL for data sets on direct access devices.
Do not code SUL for partitioned or indexed sequential data sets.
AL
Indicates that a tape data set has ISO/ANSI Version 1 or ISO/ANSI/FIPS
Version 3 labels.
If you specify AL for a tape generation data set for output, the ending
.GnnnnVnn (where n=0 through 9) will not appear as part of the file identifier
(data set name field) of the HDR1 label. Instead, the data is placed in the
generation and version number fields of the HDR1 label.
AUL
Indicates that a tape data set has user labels and ISO/ANSI Version 1 or
ISO/ANSI/FIPS Version 3 labels.
NSL
Indicates that a tape data set has nonstandard labels.
Before you code NSL, ensure that your installation has created and installed
non-standard label processing routines, described in z/OS DFSMS Installation
Exits.
NL
Indicates that a tape data set has no labels.
When retrieving two or more data sets from several NL or BLP tape volumes,
concatenate the DD statements and repeat the LABEL parameter on each DD
statement.
If you are processing ASCII data on unlabeled tapes, the data control block
must specify OPTCD=Q.
Password Protection
For an SMS-managed data set (one with an assigned storage class), SMS sets the
password indicators in the VTOC and catalog but ignores the indicators and does
not use password protection for the data set. See the DD SECMODEL parameter
described on page 12-176.
To password-protect a data set on a tape volume containing other data sets, you
must password-protect all the data sets on the volume and the passwords must be
the same for all data sets.
Defaults
v If no data-set-sequence-number subparameter is specified or if the number is
coded as 0 or 1, the default is the first data set on the tape volume, unless the
data set is passed or cataloged.
v If no label type subparameter is specified, the default is only IBM standard labels
(SL).
* DATA MODIFY
BURST DDNAME QNAME
CHARS DYNAM SYSOUT
COPIES FLASH
Do not specify the LABEL parameter with the FUNC subparameter of the DCB
parameter. The results are unpredictable.
ISO/ANSI/FIPS Version 3 tape data sets can be protected by use of the ACCODE
parameter.
Data Conversion
AL or AUL in the LABEL parameter requests conversion between EBCDIC and
ASCII. You can also request conversion by specifying OPTCD=Q in the data control
block. If the tape is not labeled, LABEL=(,NL), you must specify OPTCD=Q for
conversion to occur.
DD statement DD1 defines a new data set. The LABEL parameter tells the system:
v This data set is to be the third data set on the tape volume.
v This tape volume has nonstandard labels.
v This data set is to be kept for 188 days.
Example 2
//DD2 DD DSNAME=A.B.C,DISP=(,CATLG,DELETE),UNIT=3400-5,LABEL=(,NL)
DD statement DD2 defines a new data set, requests that the system catalog it, and
indicates that the data set has no labels. Each time this data set is used by a
program, the DD statement must include LABEL=(,NL).
Example 3
//DD3 DD DSNAME=SPECS,UNIT=3400-5,VOLUME=SER=10222,
// DISP=OLD,LABEL=4
DD statement DD3 indicates an existing data set. The LABEL parameter indicates
that the data set is fourth on the tape volume.
DD statement DDX in STEP1 indicates an existing data set with nonstandard labels
and requests that the system pass the data set. DD statement DDY in STEP2
receives the data set. DDY contains the label type, because the system does not
obtain the label type through the backward reference in the DSNAME parameter.
Example 5
//DDZ DD DSNAME=CATDS,DISP=OLD,LABEL=(,SUL)
DD statement DDZ indicates an existing, cataloged data set on direct access. The
data set has IBM standard labels and user labels. The LABEL parameter is
required; otherwise, if the DD statement does not contain a LABEL parameter, the
system assumes that a direct access data set has SL labels.
Example 6
//DD7 DD DSNAME=TOM1,DISP=(NEW,KEEP),LABEL=EXPDT=2006/033,
// UNIT=3350,SPACE=(TRK,(1,1)),VOLUME=SER=663344
DD statement DD7 defines a new data set, requests the system to keep the data
set, and indicates that the data set cannot be deleted or written over until the
expiration date of February 2, 2006.
LGSTREAM Parameter
Parameter Type
Keyword, optional
Purpose
Use the LGSTREAM parameter to specify the prefix of the name of the log stream
for an SMS-managed VSAM data set. Use it only:
v For allocating SMS-managed VSAM data sets that will be accessed using record
level sharing (RLS).
v On a system that includes DFSMS/MVS Version 1 Release 4 or later. (The
system ignores the LGSTREAM parameter when operating with DFSMS 1.3 and
earlier releases.)
Syntax
LGSTREAM=name
Subparameter Definition
name
Specifies the name of the prefix the system logger uses for the forward
recovery log stream for recording changes made to the data set when accessed
in the RLS mode. The system logger adds other qualifiers to the end of the
LGSTREAM name to generate the data set name where it keeps the forward
recovery logs.
Defaults
If you do not code a LGSTREAM parameter the system will assign the value
specified in the SMS data class assigned to the data set, if applicable.
Overrides
The system ignores LGSTREAM specifications for non-SMS-managed and
non-VSAM data sets and for VSAM linear data sets.
* DLM PATHDISP
BURST DSNTYPE QNAME
CHARS DYNAM SEGMENT
COPIES FLASH SPIN
DATA MODIFY SYSOUT
DCB=DSORG OUTPUT TERM
DCB=RECFM PATHOPTS UCS
DDNAME PATHMODE
LIKE Parameter
Parameter Type
Without SMS, use the DCB=dsname form of the DCB parameter described on page
12-54.
Purpose
Use the LIKE parameter to specify the allocation attributes of a new data set by
copying the attributes of a model data set, which must be an existing cataloged
data set and reside on a direct access volume.
The following attributes are copied from the model data set to the new data set:
v Data set organization
– Record organization (RECORG) or
– Record format (RECFM)
v Record length (LRECL)
v Key length (KEYLEN)
v Key offset (KEYOFF)
v Type, PDS or PDSE (DSNTYPE)
v Space allocation (AVGREC and SPACE)
| Unless you explicitly code the SPACE parameter for the new data set, the
| system determines the space to be allocated for the new data set by adding up
| the space allocated in the first three extents of the model data set. Therefore, the
| space allocated for the new data set will generally not match the space that was
| specified for the model data set. Note that if the model data set was allocated in
| blocks (that is, BLKLGTH or RECLGTH was specified rather than TRK or CYL),
| then the system will allocate space for the new data set in tracks.
There is no requirement that either the new data set or the model data set must be
SMS-managed. If the new data set is to reside on tape:
v The model data set must be a sequential DASD data set
v Only the record format (RECFM) and the record length (LRECL) attributes are
copied to the new data set.
For VSAM data set compression, the LIKE parameter copies existing data set
attributes. That is, LIKE processing on a model data set that is compressed will
pass the attribute to the new data set. This means that specifying compaction in
DATACLAS is not the only way compression can be achieved. For additional
information on VSAM data set compression, see z/OS DFSMS Migration.
When you specify the LIKE parameter on a JCL DD statement, the SMS read-only
variable values that correspond to the attributes copied from the model data set are
not available as input to the ACS routines. For more information on SMS read-only
variables, see z/OS DFSMSdfp Storage Administration Reference.
If SMS is not installed or is not active, the system syntax checks and then ignores
the LIKE parameter.
Note: Do not use the LIKE parameter to copy attributes from a temporary data set
(&&dsname), partitioned data set if a member name is included, and relative
generation number for a GDG.
Syntax
LIKE=data-set-name
Subparameter Definition
data-set-name
Specifies the data set name (dsname) of the model data set whose attributes
are to be used as the attributes of the new data set.
Overrides
Any attributes obtained using the LIKE parameter override the corresponding
attributes in the DATACLAS parameter.
Any attributes you specify on the same DD statement with the following parameters
override the corresponding attributes obtained from the model data set.
AVGREC (record request and space quantity)
DSNTYPE (type, PDS or PDSE)
KEYLEN (key length)
KEYOFF (key offset)
LRECL (record length)
RECORG (record organization) or RECFM (record format)
SPACE (average record length, primary, secondary, and directory quantity)
DYNAM
REFDD
SYSOUT
In the example, the data set attributes used for MYDS6.PGM are obtained from the
cataloged model data set MYDSCAT.PGM.
Example 2
//SMSDS7 DD DSNAME=MYDS7.PGM,LIKE=MYDSCAT.PGM,DISP=(NEW,KEEP),
// LRECL=1024
LRECL Parameter
Parameter Type
Keyword, optional
Purpose
Use the LRECL parameter to specify the length of the records in a new data set.
LRECL applies to data sets with the BPAM, BSAM, EXCP, QISAM, QSAM, and
TCAM access methods, and with SMS, to VSAM data sets.
Syntax
LRECL=bytes
Subparameter Definition
bytes
Specifies (1) the length, in bytes, for fixed length records or (2) the maximum
length, in bytes, for variable-length records.
The value of bytes is:
v 1 to 32,760 for non-VSAM data sets.
v 1 to 32,761 for VSAM key-sequenced (KS), entry-sequenced (ES), or relative
record (RR) data sets. (LRECL does not apply to VSAM linear space,
RECORG=LS, data sets.)
For VSAM key-sequenced (KS) data sets, a record length must be specified,
either explicitly with the LRECL or LIKE parameter, or in the data class for
the data set. The record length must be greater than the key length.
Note: When RECFM is F or U, the length must not exceed DCB BLKSIZE. For
RECFM=D or V, the length must not exceed BLKSIZE minus 4. For
RECFM=VS, the length can exceed BLKSIZE. For unblocked records
when DCB RKP=0, the length is for only the data portion of the record.
LRECL=0 is valid only for RECFM=U.
Overrides
LRECL overrides the record length specified in the data set label, and with SMS,
LRECL overrides the record length defined in the DATACLAS parameter for the
data set. See “Overrides” on page 12-52.
DCB=LRECL
DDNAME
DYNAM
In the example, the logical record length of 326 is used for the new data set EVER.
Example 2
//SMSDS2 DD DSNAME=MYDS2.PGM,DATACLAS=DCLAS02,DISP=(NEW,KEEP),
// LRECL=256
In the example, the logical record length of 256 overrides the logical record length
defined in the data class for the data set.
MGMTCLAS Parameter
Parameter Type
Keyword, optional
Use this parameter only with SMS and for SMS-managed data sets.
Purpose
After the data set is allocated, the attributes in the management class control:
v Migration of the data set, including migration from primary storage to
DFSMShsm-owned storage to archival storage
If SMS is not installed or is not active, the system syntax checks and then ignores
the MGMTCLAS parameter.
SMS ignores the MGMTCLAS parameter if you specify it for an existing data set.
References
See z/OS DFSMS: Using the Interactive Storage Management Facility for
information on how to use ISMF to view your installation-defined management
classes.
Syntax
MGMTCLAS=management-class-name
Subparameter Definition
management-class-name
Specifies the name of a management class to be used for management of the
SMS-managed data set after the data set is allocated.
The name, one to eight alphanumeric or national ($ # @) characters, is defined
by the storage administrator at your installation.
Defaults
If you do not specify MGMTCLAS for a new data set and the storage administrator
has provided an installation-written automatic class selection (ACS) routine, the
ACS routine may select a management class for the data set. Check with your
storage administrator to determine if an ACS routine will select a management class
for the new data set, in which case you do not need to specify MGMTCLAS.
Overrides
You cannot override management class attributes via JCL parameters. With SMS,
MGMTCLAS overrides the attributes defined in the DATACLAS parameter for the
data set. See “Overrides” on page 12-52.
The management class for a data set defines a maximum value for the expiration
date or retention period of the data set. This maximum limits the values that are
specified on the EXPDT or RETPD parameter, or defined in the data class for the
data set.
An ACS routine can override the management class that you specify on the
MGMTCLAS parameter.
Code MGMTCLAS only when you specify a storage class for the data set (via the
STORCLAS parameter) or an ACS routine selects a storage class.
In the example, SMS uses the attributes in the management class named
MCLAS01 to handle the migration and backup of the SMS-managed data set. Note
that installation-written ACS routines may override the specified management class,
storage class, and data class.
MODIFY Parameter
Parameter Type
Keyword, optional
Purpose
Use the MODIFY parameter to specify a copy-modification module that tells JES
how to print this sysout data set on a 3800 Printing Subsystem. The module can
specify the following:
v Legends.
v Column headings.
v Where and on which copies the data is to be printed.
The module is defined and stored in SYS1.IMAGELIB using the IEBIMAGE utility
program.
Note: MODIFY applies only for the 3800 Printing Subsystem Models 1 and 2 and
the 3800 Printing Subsystem Models 3, 6, and 8 in compatibility mode.
References
For more information on the copy modification module and the IEBIMAGE utility
program, see z/OS DFSMSdfp Utilities.
Syntax
MODIFY= {module-name }
{(module-name[,trc])}
Defaults
If no MODIFY parameter is specified, JES3 uses an installation default specified at
initialization. JES2 provides no installation default at initialization.
If you do not specify trc or if the trc value is greater than the number of
table-names in the CHARS parameter, JES2 uses the first table named in the
CHARS parameter and JES3 uses the default character arrangement table.
Overrides
A MODIFY parameter on a sysout DD statement overrides an OUTPUT JCL
MODIFY parameter.
* DISP PROTECT
AMP DSID QNAME
DATA DYNAM SUBSYS
DDNAME LABEL VOLUME
The second character of each logical record can be a TRC code, so that each
record can be printed in a different font. This way of specifying fonts is indicated by
the OUTPUT JCL TRC parameter.
In this example, the MODIFY parameter requests that the data in the
copy-modification module named A replace variable data in the data set to be
printed by the 3800. Module A defines which positions are to be replaced and which
copies are to be modified. The second subparameter in MODIFY specifies that the
first character arrangement table in the CHARS parameter, GS15, be used.
OUTLIM Parameter
Parameter Type
Keyword, optional
Purpose
Use the OUTLIM parameter to limit the number of logical records in the sysout data
set defined by this DD statement. When the limit is reached, the system exits to the
SYSOUT limit exit routine. If the installation supplies an installation-written routine,
the routine can determine whether to terminate the job or increase the limit. If the
installation does not supply a routine, the system terminates the job.
References
For more information on the SYSOUT limit exit routine, see z/OS MVS Installation
Exits .
Syntax
OUTLIM=number
Subparameter Definition
number
Specifies the maximum number of logical records. The number is 1 through 8
decimal digits from 1 through 16777215.
Default
(1) If no OUTLIM parameter is specified or OUTLIM=0 is coded and (2) if output is
not limited by JES control statements, JES3 uses an installation default specified at
initialization; JES2 provides no installation default at initialization.
Do not code the OUTLIM parameter with the DCB subparameters CPRI or
THRESH; these subparameters can alter the OUTLIM value.
On Dump DD Statements
| Not only can JECL statement limit output, but the OUTLIM parameter is applied
| independently of other limits.
OUTPUT Parameter
Parameter Type
Keyword, optional
Purpose
Use the OUTPUT parameter with the SYSOUT parameter to associate a sysout
data set explicitly with an OUTPUT JCL statement. JES processes the sysout data
set using the options from this DD statement combined with the options from the
referenced OUTPUT JCL statement.
When the OUTPUT parameter references more than one OUTPUT JCL statement,
the system produces separate output for each OUTPUT JCL statement.
Syntax
OUTPUT= {reference }
{(reference[,reference]...)}
*.name
*.stepname.name
*.stepname.procstepname.name
v You can omit the parentheses if you code only one reference.
v You must not code a null in an OUTPUT parameter. For example, OUTPUT=(,*.name) is
invalid.
v You can reference a maximum of 128 OUTPUT JCL statements on one OUTPUT
parameter.
v You can code references in any combination. For example, the following are valid:
//EXA DD SYSOUT=A,OUTPUT=(*.name,*.name,*.stepname.name)
//EXB DD SYSOUT=A,OUTPUT=(*.stepname.name,
// *.stepname.procstepname.name,*.name)
v You can code the references to OUTPUT JCL statements in any order.
Subparameter Definition
*.name
Refers to an earlier OUTPUT JCL statement with name in its name field. The
system searches for the OUTPUT JCL statement first in the same step, then
before the first EXEC statement of the job.
*.stepname.name
Refers to an earlier OUTPUT JCL statement, name, in this step or an earlier
step, stepname, in the same job.
*.stepname.procstepname.name
Refers to an OUTPUT JCL statement in a cataloged or in-stream procedure.
Stepname is the name of this job step or an earlier job step that calls the
procedure, procstepname is the name of the procedure step that contains the
OUTPUT JCL statement, and name is the name field of the OUTPUT JCL
statement.
Defaults
If you do not code an OUTPUT parameter on a sysout DD statement, JES obtains
processing options for the sysout data set in the following order:
1. From each OUTPUT JCL statement containing DEFAULT=YES in the same
step.
2. From each OUTPUT JCL statement containing DEFAULT=YES before the first
EXEC statement in the job, provided that the step contains no OUTPUT JCL
statements with DEFAULT=YES.
3. Only from the sysout DD statement, provided that neither the step nor job
contains any OUTPUT JCL statements with DEFAULT=YES.
If you do not specify a SYSOUT class on the DD statement, JES3 uses the
truncation value associated with the first referenced (or defaulted) OUTPUT
statement that does specify a class. If this DD statement specifies an OUTPUT
class, JES3 accepts that class and its associated truncation value.
Overrides
When an OUTPUT JCL statement is used with the sysout DD statement to specify
processing, JES handles parameters as follows:
v If a parameter appears on the DD statement, JES uses the parameter.
v If a parameter appears only on the OUTPUT JCL statement, JES uses the
parameter.
v If the same parameter appears on both statements, JES uses the DD parameter.
Only EFGH is used. The system ignores all of the FLASH parameter on the
OUTPUT JCL statement, including the second parameter.
Null Subparameters
You cannot reference a JES2 /*OUTPUT statement using the third subparameter of
the SYSOUT parameter if either of the following is also coded:
v The OUTPUT parameter on the same DD statement.
v An OUTPUT JCL statement containing DEFAULT=YES in the same step or
before the EXEC statement of the job, when the DD statement does not contain
an OUTPUT parameter.
If you code DEFAULT=YES on an OUTPUT JCL statement, you can still refer to
that OUTPUT JCL statement in the OUTPUT parameter of a sysout DD statement.
Processing options are not cumulative across a group of OUTPUT JCL statements.
The OUTPUT parameter references two OUTPUT JCL statements. Therefore, the
system prints the single sysout data set twice:
v For DD ALL combined with OUTPUT JOUT, the sysout data set is printed in
class C. In the installation, output class C is printed on a 3211 Printer. Combining
the parameters from the DD and OUTPUT JCL statements, the system prints 5
copies of the data set on form RECP and indents the left margin 5 spaces.
v For DD ALL combined with OUTPUT SOUT, the sysout data set is printed in
class H. In the installation, output class H is printed on a 3800 Printing
Subsystem. Combining the parameters from the DD and OUTPUT JCL
statements, the system prints 5 copies of the data set with the forms-overlay
frame named BLHD using character-arrangement table GT12 and bursts the
output.
Example 2
//J6 JOB ,’SUE THACKER’
//OUTA OUTPUT DEST=HQ
//STEP1 EXEC PGM=RDR
//OUTB OUTPUT CONTROL=DOUBLE
//DS1 DD SYSOUT=A,OUTPUT=(*.OUTA,*.OUTB)
//STEP2 EXEC PGM=WRT
//OUTC OUTPUT DEST=ID2742
//DS2 DD SYSOUT=A,OUTPUT=(*.OUTC,*.STEP1.OUTB)
PATH Parameter
Parameter Type
Purpose
Use the PATH parameter to specify the name of the HFS file.
Reference
For information on HFS files, see z/OS UNIX System Services User’s Guide.
Syntax
PATH=pathname
v Enclose the pathname value in single quotes if it contains a character other than:
Uppercase letters
Numbers
National characters
Slash (/)
Asterisk (*)
Plus (+)
Hyphen (-)
Period (.)
Ampersand (&)
v Enclose the pathname value in single quotes if you continue it on another statement. For
example:
//EXA DD PATH=’/u/payroll/directory171/DEPT64directory/account
// ingDIR/personhoursfile’
Subparameter Definition
pathname
Identifies a file in a hierarchical file system (HFS). The pathname consists of
the names of the directories from the root to the file being identified, and then
the name of the file.
Each directory or filename:
v Is preceded by a slash (/). The system treats any consecutive slashes as a
single slash.
v Can contain symbolic parameters.
v Has a length of 1 through 254 characters, not including the slash.
v Consists of printable characters from X’40’ through X’FE’. These printable
characters include all the characters that can be used in a portable filename,
The pathname:
v Has the form:
/name1/name2/name3/.../namen
v Begins with a slash.
v Has a length of 1 through 255 characters. The system checks the length
after substituting for any symbols and before compressing any consecutive
slashes.
Defaults
Defaults for a DD statement with a PATH parameter are:
v If the PATHDISP parameter is not specified, the normal and abnormal disposition
is KEEP.
v If the PATHOPTS parameter is not specified, the status is OLD.
BLKSIZE
BUFNO
DSNTYPE
DUMMY
FILEDATA
LRECL
NCP
PATHDISP
PATHMODE
PATHOPTS
RECFM
TERM
JOBCAT
JOBLIB
STEPCAT
STEPLIB
SYSABEND
SYSMDUMP
SYSUDUMP
If:
v You specify either:
– OCREAT alone
or:
– Both OCREAT and OEXCL
on the PATHOPTS parameter,
And if:
v The file does not exist,
Then MVS performs an open() function. The options from PATHOPTS, the
pathname from the PATH parameter, and the options from PATHMODE (if specified)
are used in the open(). MVS uses the close() function to close the file before the
application program receives control.
For status group options other than OCREAT and OEXCL, the description in this
book assumes that the application passes the subparameters to the open() function
without modification. That is, this application uses dynamic allocation information
retrieval (the DYNALLOC macro) to retrieve the values specified for PATHOPTS
and passes the values to the open() function. The application program can ignore
or modify the information specified in the JCL.
//DUMMY1 DD PATH=’/dev/null’
//DUMMY2 DD DUMMY,PATH=/ANYNAME
//DUMMY3 DD PATH=’//dev///null’
The DD statement specifies the HFS file pay.time that is listed in the directory
applics. The directory applics is listed in the directory usr. The PATHOPTS
parameter specifies that the program can only read the file.
PATHDISP Parameter
Parameter Type
Purpose
Use the PATHDISP parameter to specify the disposition of an HFS file when the job
step ends normally or abnormally.
Reference
For information on HFS files, see z/OS UNIX System Services User’s Guide.
Syntax
PATHDISP={normal-termination-disposition }
={(normal-termination-disposition,abnormal-termination-disposition)}
PATHDISP=([KEEP ][,KEEP ])
=([DELETE][,DELETE])
A normal-termination-disposition or abnormal-termination-disposition is
one of the following:
KEEP
DELETE
Deleting a file deletes the name for the file. If the file has other names created
by link() functions, DELETE does not delete the file itself. The file persists until
all of its names are deleted.
Defaults
The system uses KEEP for both the normal and abnormal dispositions:
v If you do not code a value on the PATHDISP parameter — for example,
PATHDISP=(,)
v If you do not code a PATHDISP on a DD statement with a PATH parameter
You can code the following parameters with the PATHDISP parameter:
BLKSIZE
BUFNO
DSNTYPE
DUMMY
FILEDATA
LRECL
NCP
PATH
PATHMODE
PATHOPTS
RECFM
TERM
The DD statement identifies a file that already exists. The DD statement requests
that the system keep the file, if the step ends normally. If the step ends abnormally,
the system deletes the filename and, if no other names were set using link(),
deletes the file itself.
PATHMODE Parameter
Parameter Type
Purpose
Use the PATHMODE parameter to specify the file access attributes when the
system is creating the HFS file named on the PATH parameter. Creating the file is
specified by a PATHOPTS=OCREAT parameter.
Reference
For information on HFS files, see the z/OS UNIX System Services User’s Guide.
Syntax
PATHMODE={file-access-attribute }
{(file-access-attribute[,file-access-attribute]...)}
Subparameter Definition
For File Owner Class
The file owner class consists of the user who created the file or who currently owns
the file. The user is identified by an OMVS user ID (UID).
SIRUSR
Specifies permission for the file owner to read the file.
SIWUSR
Specifies permission for the file owner to write the file.
This value has the same effect as specifying all three parameters (SIRUSR,
SIWUSR, and SIXUSR).
This value has the same effect as specifying all three parameters (SIRGRP,
SIWGRP, and SIXGRP).
This value has the same effect as specifying all three parameters (SIROTH,
SIWOTH, and SIXOTH).
Do not specify these controls in JCL, because they will be reset when the file is
written.
The system overrides the SISUID and SISGID parameters and sets the controls so
that no users can run the program when either:
v The DD statement creates the file
v A user writes in the file, thus changing the program
Then, for the program to be run, the file owner must reset the controls.
SISUID
Specifies that the system set the user ID of the process to be the same as the
user ID of the file owner when the file is run as a program.
SISGID
Specifies that the system set the group ID of the process to be the same as the
group ID of the file owner when the file is run as a program. The group ID is
taken from the directory in which the file resides.
Defaults
When creating a new HFS file, if you do not code a PATHMODE on a DD statement
with a PATH parameter, the system sets the permissions to 0, which prevents
access by all users. If the HFS file already exists, PATHMODE is checked for
syntax but ignored. The permission bits are left as they are set.
You can code the following parameters with the PATHMODE parameter:
BLKSIZE
BUFNO
DSNTYPE
DUMMY
FILEDATA
LRECL
NCP
PATH
PATHMODE
PATHOPTS
RECFM
TERM
If:
v You specify either:
– OCREAT alone
And if:
v The file does not exist,
Then MVS performs an open() function. The options from PATHOPTS, the
pathname from the PATH parameter, and the options from PATHMODE (if specified)
are used in the open(). MVS uses the close() function to close the file before the
application program receives control.
For status group options other than OCREAT and OEXCL, the description in this
book assumes that the application passes the subparameters to the open() function
without modification. That is, this application uses dynamic allocation information
retrieval (the DYNALLOC macro) to retrieve the values specified for PATHOPTS
and passes the values to the open() function. The application program can ignore
or modify the information specified in the JCL.
The DD statement requests that the file named in the PATH parameter be created.
The PATHMODE parameter specifies that the file owner can read, write, and search
or execute the file and that users in the file group can read the file.
PATHOPTS Parameter
Parameter Type
Purpose
Use the PATHOPTS parameter to specify the access and status for the HFS file
named in the PATH parameter.
Reference
For information on HFS files, see z/OS UNIX System Services User’s Guide.
A file-option can be in the access or status group and is one of the following:
Subparameter Definition
Access Group
ORDONLY
Specifies that the program should open the file for reading.
OWRONLY
Specifies that the program should open the file for writing.
ORDWR
Specifies that the program should open the file for reading and writing. Do not
use this option for a FIFO special file.
Status Group
OAPPEND
Specifies that MVS sets the file offset to the end of the file before each write, so
that data is written at the end of the file.
OCREAT
Specifies that:
v If the file does not exist, the system is to create it. If a directory specified in
the pathname does not exist, one is not created, and the new file is not
created.
v If the file already exists and OEXCL was not specified, the system allows the
program to use the existing file.
v If the file already exists and OEXCL was specified, the system fails the
allocation and the job step.
The system does not change the mode and owner. OTRUNC has no effect on
FIFO special files or character special files.
Defaults
If you do not code a value on the PATHOPTS parameter or if you do not code a
PATHOPTS on a DD statement with a PATH parameter, the system assumes that
the pathname exists, searches for it, and issues a message if the pathname does
not exist.
You can code the following parameters with the PATHOPTS parameter:
BLKSIZE
BUFNO
DSNTYPE
DUMMY
FILEDATA
LRECL
NCP
PATH
PATHMODE
PATHOPTS
RECFM
TERM
If:
v You specify either:
– OCREAT alone
or:
– Both OCREAT and OEXCL
on the PATHOPTS parameter,
And if:
v The file does not exist,
Then MVS performs an open() function. The options from PATHOPTS, the
pathname from the PATH parameter, and the options from PATHMODE (if specified)
are used in the open(). MVS uses the close() function to close the file before the
application program receives control.
For status group options other than OCREAT and OEXCL, the description in this
book assumes that the application passes the subparameters to the open() function
without modification. That is, this application uses dynamic allocation information
retrieval (the DYNALLOC macro) to retrieve the values specified for PATHOPTS
and passes the values to the open() function. The application program can ignore
or modify the information specified in the JCL.
File Status
The MVS system uses the PATHOPTS parameter to determine the status for the
file, as follows:
v OLD status:
– PATHOPTS is not on the DD statement.
– PATHOPTS does not contain a file option.
– PATHOPTS does not contain OCREAT.
Note: The DISP parameter cannot appear on a DD statement containing the PATH
parameter.
OCREAT in the PATHOPTS parameter specifies that the file named in the PATH
parameter be created. OWRONLY requests that the system open the file only for
writing. OEXCL specifies that, if the file already exists, the system will not create a
file and the job step will fail.
PROTECT Parameter
Parameter Type
Keyword, optional
With SMS, use the SECMODEL parameter to protect data sets; SECMODEL is
described on page 12-176.
Purpose
Use the PROTECT parameter to tell the z/OS Security Server, which includes
RACF, to protect:
v One data set on a direct access volume.
v One data set on a tape volume with one of the following types of labels:
– IBM standard labels, LABEL=(,SL) or LABEL=(,SUL)
– ISO/ANSI/FIPS Version 3 labels, LABEL=(,AL) or LABEL=(,AUL)
– Nonstandard labels, LABEL=(,NSL), if the installation provides support
v An entire tape volume with one of the following:
– IBM standard labels, LABEL=(,SL) or LABEL=(,SUL)
– ISO/ANSI/FIPS Version 3 labels, LABEL=(,AL) or LABEL=(,AUL)
– Nonstandard labels, LABEL=(,NSL), if the installation provides support
– No labels, LABEL=(,NL)
– Bypassed label processing, LABEL=(,BLP)
– Leading tapemarks, LABEL=(,LTM)
References
Syntax
PROTECT= {YES}
{Y }
Overrides
With SMS, the DD SECMODEL parameter overrides the PROTECT=YES
parameter.
* DLM QNAME
BURST DYNAM SYSOUT
CHARS FCB TERM
DATA FLASH UCS
DDNAME MODIFY
RACF expects the data set name specified in the DSNAME parameter to have a
high-level qualifier that is defined to RACF. See the z/OS Security Server RACF
Security Administrator’s Guide for details.
Note that RACF cannot fully protect unlabeled tapes because RACF cannot verify
the volume serial number directly; the operator must verify the volume serial
number when mounting the tape volume.
This DD statement requests RACF protection for the new direct access data set
USER37.MYDATA.
Example 2
//TAPEVOL DD DSNAME=MHB1.TAPEDS,DISP=(NEW,KEEP),LABEL=(,NL),
// VOLUME=SER=T49850,UNIT=3400-5,PROTECT=YES
This DD statement requests RACF protection for tape volume T49850. Because a
specific tape volume is requested, it automatically has the PRIVATE attribute. The
volume has no labels.
Example 3
//TAPEDS DD DSNAME=INST7.NEWDS,DISP=(NEW,CATLG),LABEL=(2,SUL),
// VOLUME=SER=223344,UNIT=3400-5,PROTECT=YES
QNAME Parameter
Parameter Type
Keyword, optional
Purpose
Use the QNAME parameter to indicate that this DD statement defines a data set of
telecommunications access method (TCAM) messages. The QNAME parameter
References
For information about TCAM and the TPROCESS macro instruction, see
ACF/TCAM Installation Reference.
Syntax
QNAME=procname[.tcamname]
Subparameter Definition
procname
Identifies a TPROCESS macro instruction; procname must be identical to the
procname in the name field of the TPROCESS macro instruction.
tcamname
Names a TCAM job: tcamname must be identical to the jobname. The TCAM
job can be a task started by an operator START command.
This DD statement defines a data set of TCAM messages. FIRST is the name of
the TPROCESS macro instruction that specifies the destination queue to which the
messages are routed. The DCB parameter supplies information not supplied in the
program’s DCB macro instruction for the data control block.
Example 2
//DXD DD QNAME=SECOND.TCAM01
This DD statement defines a data set of TCAM messages. SECOND is the name of
the TPROCESS macro instruction that specifies the destination queue to which the
messages are routed. TCAM program TCAM01 will process the messages.
RECFM Parameter
Parameter Type
Keyword, optional
Purpose
Code the RECFM parameter when you want to (1) specify the record format for the
data set or (2) with SMS, override the record format defined in the data class of the
data set.
RECFM= {U }
{V }
{VS }
{VBS}
{F }
{FT }
RECFM= {U } [A]
{UT } [M]
{V }
{VB }
{VS }
{VT }
{VBS }
{VBT }
{VBST}
{F }
{FB }
{FT }
{FBT }
Default: U
RECFM= {U } [A]
{UT } [M]
{F }
{FB }
{FS }
{FT }
{FBS }
{FBT }
{V }
{VB }
{VS }
{VT }
{VBS }
{VBT }
{VBST}
Default: U
When creating indexed sequential data sets, you can code the RECFM subparameter; when
processing existing indexed sequential data sets, you must omit RECFM.
Default: V
RECFM= {U }
{V }
{VB}
{F }
Default: U
* DDNAME
AMP DYNAM
DATA RECORG
DCB=DSORG
DCB=RECFM
In the example, the record format of fixed block (FB) is used for the new data set
EVER.
Example 2
//SMSDS6 DD DSNAME=MYDS6.PGM,DATACLAS=DCLAS06,DISP=(NEW,KEEP),
// RECFM=FB
In the example, the record format of fixed block (FB) overrides the record format
defined in the data class for the data set.
RECORG Parameter
Parameter Type
Purpose
Use the RECORG parameter to specify the organization of the records in a new
VSAM data set.
Code the RECORG parameter when you want to (1) specify the record organization
for the data set or (2) override the record organization defined in the data class of
the data set.
If SMS is not installed or is not active, the system syntax checks and then ignores
the RECORG parameter.
References
See z/OS DFSMS: Using Data Sets for information on VSAM data sets.
Subparameter Definition
KS
Specifies a VSAM key-sequenced data set.
ES
Specifies a VSAM entry-sequenced data set.
RR
Specifies a VSAM relative record data set.
LS
Specifies a VSAM linear space data set.
Defaults
If you do not specify RECORG, SMS assumes a physical sequential (PS) or
partitioned (PO) data set.
Overrides
The RECORG parameter overrides the record organization defined in the
DATACLAS parameter for the data set. See “Overrides” on page 12-52.
* DDNAME
DATA DSNTYPE
DCB=DSORG DYNAM
DCB=RECFM RECFM
In the example, the record organization of key-sequenced (KS) overrides the record
organization defined in the data class.
REFDD Parameter
Parameter Type
Without SMS, use the DCB=*.ddname form of the DCB parameter described on
page 12-55.
Use the REFDD parameter to specify attributes for a new data set by copying
attributes of a data set defined on an earlier DD statement in the same job.
The following attributes are copied to the new data set from (1) the attributes
specified on the referenced DD statement, and (2) for attributes not specified on the
referenced DD statement, from the data class of the data set specified by the
referenced DD statement:
v Data set organization
– Record organization (RECORG) or
– Record format (RECFM)
v Record length (LRECL)
v Key length (KEYLEN)
v Key offset (KEYOFF)
v Type, PDS or PDSE (DSNTYPE)
v Space allocation (AVGREC and SPACE)
REFDD does not copy DCB attributes from the data set label. See the DD LIKE
parameter.
If SMS is not installed or is not active, the system checks the syntax and then
ignores the REFDD parameter.
The retention period (RETPD) or expiration date (EXPDT) is not copied to the new
data set.
Note: Do not use the REFDD parameter to copy attributes from a temporary data
set (&&dsname), partitioned data set if a member name is included, and
relative generation number for a GDG.
Syntax
{*.ddname }
REFDD= {*.stepname.ddname }
{*.stepname.procstepname.ddname}
Subparameter Definition
*.ddname
*.stepname.ddname
*.stepname.procstepname.ddname
Specify a backward reference to an earlier DD statement. The referenced DD
statement cannot name a cataloged data set or refer to another DD statement.
*.ddname
Specifies the ddname of an earlier DD statement in the same step.
*.stepname.ddname
Specifies the ddname of a DD statement in an earlier step, stepname, in
the same job.
*.stepname.procstepname.ddname
Specifies the ddname of a DD statement in a cataloged or in-stream
Overrides
Any attributes specified on the referenced DD statement override the corresponding
data class attributes of the referenced data set.
Any attributes you specify on the referencing DD statement with the following
parameters override the corresponding attributes obtained from the referenced DD
statement and the data class attributes of the referenced data set.
RECORG (record organization) or RECFM (record format)
LRECL (record length)
KEYLEN (key length)
KEYOFF (key offset)
DSNTYPE (type, PDS or PDSE)
AVGREC (record request and space quantity)
SPACE (average record length, primary, secondary, and directory quantity)
DYNAM
LIKE
In the example, the data set attributes used for MYDS7.PGM are obtained from the
referenced data set MYDS6.PGM.
Example 2
//SMSDS6 DD DSNAME=MYDS6.PGM,DATACLAS=DCLAS01,DISP=(NEW,KEEP),
// LRECL=512,RECFM=FB
//SMSDS8 DD DSNAME=MYDS8.PGM,REFDD=*.SMSDS6,DISP=(NEW,KEEP),
// LRECL=1024
In the example, the data set attributes used for MYDS8.PGM are obtained from the
referenced data set MYDS6.PGM. Also, the logical record length of 1024 overrides
the logical record length obtained from the referenced data set.
RETPD Parameter
Parameter Type
Keyword, optional
Purpose
The RETPD parameter achieves the same result as the EXPDT parameter.
Code the RETPD parameter when you want to (1) specify a retention period for the
data set or (2) with SMS, override the retention period defined in the data class for
the data set.
Syntax
RETPD=nnnn
v The RETPD parameter can have a null value only when coded on a DD which either:
– Overrides a DD in a procedure
– Is added to a procedure.
Subparameter Definition
nnnn
Specifies the retention period, in days, for the data set. The nnnn is one
through four decimal digits (0 - 9999).
| The system adds nnnn to the current date to produce an expiration date. For
| SMS data sets, the system adds nnnn to the data set creation date to produce
| an expiration date. The calculated expiration date uses 365-day years and
366-day leap years.
Note: If you code RETPD and the calculated expiration date is December 31,
1999, the expiration date is set to January 1, 2000.
Overrides
With SMS, RETPD overrides the retention period defined in the DATACLAS
parameter for the data set. See “Overrides” on page 12-52.
With SMS, both the retention period specified on RETPD and defined in the data
class for an SMS-managed data set can be limited by a maximum retention period
defined in the management class for the data set.
* DYNAM
DATA EXPDT
DDNAME SYSOUT
In the example, the data set is not eligible for being deleted or written over for 188
days.
Example 2
//SMSDS2 DD DSNAME=MYDS2.PGM,DATACLAS=DCLAS02,DISP=(NEW,KEEP),
// RETPD=732
In the example, the retention period of 732 days overrides the retention period
defined in the data class for the data set.
RLS Parameter
Parameter Type
Keyword, optional
Purpose
Note: RLS is most useful for an existing application. For a new or heavily-modified
application, you can request record-level sharing in application code and do
not need to specify RLS on the DD statement.
Subparameter Definition
NRI
Specifies ″no read integrity″ (NRI). The application can read all records. Use
this subparameter if the application can read uncommitted changes made to a
data set by another application. NRI provides better performance than the CR
subparameter because it avoids the overhead of obtaining a lock when reading
a record from the data set.
CR
Specifies ″consistent read″ (CR). This subparameter requests VSAM to obtain a
SHARE lock on each record the application reads. This ensures the application
will not read uncommitted changes made to a data set by another application.
VSAM obtains the lock while processing a GET NUP request, and releases the
lock before completing the GET request. An application that processes a data
set allocated with RLS=CR may require modification if it tries to read changes
to the data set.
Overrides
Specifying RLS does not override any other JCL parameter. See z/OS DFSMS:
Using Data Sets for a description of how to override the RLS value specified in the
JCL.
*
AMP DSNTYPE PATHDISP
BURST DYNAM QNAME
CHARS FLASH SEGMENT
COPIES MODIFY SPIN
DATA OUTPUT SYSOUT
DCB (see Note) PATH TERM
DDNAME PATHOPTS UCS
DLM PATHMODE
Note: You can code RLS with DCB as long as the only DCB subparameters you
specify are KEYLEN and LRECL.
When the program BATCHPRG opens DD1, the data set is to be processed as a
shared resource. NRI specifies that an application can read uncommitted changes
made by other applications.
When the program BATCHPRG opens DD2, the data set is to be processed as a
shared resource. CR specifies that an application can read only committed changes
made by other applications.
SECMODEL Parameter
Parameter Type
Purpose
Use the SECMODEL parameter to specify the name of an existing RACF data set
profile that is copied to the discrete data set profile that RACF builds for the new
data set.
The following information from the RACF data set profile, which RACF uses to
control access to the data set, is copied to the discrete data set profile of the new
data set:
v OWNER - indicates the user or group assigned as the owner of the data set
profile.
v ID - indicates the access list of users or groups authorized to access the data
set.
v UACC - indicates the universal access authority associated with the data set.
v AUDIT/GLOBALAUDIT - indicates which access attempts are logged.
v ERASE - indicates that the data set is to be erased when it is deleted
(scratched).
v LEVEL - indicates the installation-defined level indicator.
v DATA - indicates installation-defined information.
v WARNING - indicates that an unauthorized access causes RACF to issue a
warning message but allow access to the data set.
v SECLEVEL - indicates the name of an installation-defined security level.
Use the SECMODEL parameter (1) when you want a different RACF data set
profile than the default profile selected by RACF or (2) when there is no default
profile.
If SMS is not installed or is not active, the system syntax checks and then ignores
the SECMODEL parameter.
References
For information about RACF, see z/OS Security Server RACF Command Language
Reference.
Subparameter Definition
profile-name
Specifies the name of a RACF model profile, discrete data set profile, or
generic data set profile. The named profile is copied to the discrete data set
profile of the new data set.
If a generic data set profile is named, GENERIC must also be coded.
GENERIC
Identifies that the profile-name refers to a generic data set profile.
Overrides
The SECMODEL parameter overrides the PROTECT=YES parameter.
* DDNAME
DATA DYNAM
In the example, RACF uses the previously defined model data set profile named
GROUP4.DEPT1.DATA to control access to the new data set.
Example 2
//SMSDS5 DD DSNAME=MYDS5.PGM,SECMODEL=(GROUP5.*,GENERIC),
// DISP=(NEW,KEEP)
In the example, RACF uses the previously defined generic data set profile named
GROUP5.* to control access to the new data set.
SEGMENT Parameter
Parameter Type
Keyword, optional
Purpose
In a JES2 system, use the SEGMENT parameter to allow part of a job’s output to
be printed while the job is still executing, or to allow multiple segments of a job’s
output to be printed simultaneously on multiple printers. With SEGMENT, portions of
a data set are spun, one segment at a time. You determine the size of the portion
with the SEGMENT parameter. SEGMENT allows you to specify the number of
Syntax
SEGMENT=page-count
Subparameter Definition
page-count
Indicates the number of pages produced for the sysout data set for the current
segment. When the number is reached, the system spins-off the data segment
for output processing.
Overrides
The system spins the sysout regardless of SPIN, FREE, and OUTDISP
specifications.
In this example, if the sysout data set produced 400 pages, then four separate
segments, 100 pages in each, are produced for output processing.
SPACE Parameter
Parameter Type
Keyword, optional
Note: With SMS, code the SPACE parameter when you want to
v Request space for a new data set, or
v Override the space allocation defined in the DATACLAS parameter for the
data set.
Purpose
Use the SPACE parameter to request space for a new data set on a direct access
volume. You can request space in two ways:
v Tell the system how much space you want and let the system assign specific
tracks.
v Tell the system the specific tracks to be allocated to the data set.
Letting the system assign the specific tracks is most frequently used. You specify
only how space is to be measured — in tracks, cylinders, blocks, or records — and
how many of those tracks, cylinders, blocks, or records are required.
The SPACE parameter has no meaning for tape volumes; however, if you assign a
data set to a device class that contains both direct access devices and tape
devices, for example, UNIT=SYSSQ, you should code the SPACE parameter.
If you code the SPACE parameter on a DD statement that defines an existing data
set, the SPACE value you specify temporarily overrides the SPACE value used to
create the data set. For example, a data set created with SPACE=(CYL,(5,1))
causes 5 cylinders to be allocated to the data set, and, if it needs more space, it
can obtain 1 additional cylinder.
Suppose, though, that there is one particular job that specifies DISP=MOD and will
write many records to this data set. JCL for this job can define, for example,
SPACE=(CYL,(5,10)) to obtain an additional 10 cylinders instead of just 1 cylinder.
The override, however, is in effect only for this job. Any other job that requires a
secondary extent and does not have a SPACE parameter override gets just the 1
additional cylinder specified in the JCL that created the job.
Notes
v When creating VSAM data sets, be aware that there is no direct one-to-one
correspondence between ‘define cluster’ parameters and JCL keyword
parameters.
v The average value in the SPACE keyword is meant to be an average block
length value for space calculations and is not meant to represent an LRECL
value.
v The AVGREC keyword is only to be used as a multiplier in determining how
much space is to be allocated.
v When defining VIO data sets, be aware that a SPACE parameter in the JCL or
the SPACE value defined for a data class will override the system default space
value.
v The size of a data set is limited to 65,536 tracks per volume except for the
following types of data sets:
– Hierarchical File System (HFS)
– Extended format sequential
– Partitioned data set extended (PDSE)
– VSAM
v You can omit the parentheses around the primary quantity if you do not code secondary,
directory, or index quantities. For example,
SPACE=(TRK,20,RLSE,CONTIG) or SPACE=(TRK,20).
Note that if you omit these inner parentheses, you also omit the commas within them.
v All the subparameters are positional. Code a comma to indicate an omitted subparameter
if any others follow. Thus:
– If you code primary and directory or index quantities and omit a secondary quantity,
code a comma inside the inner parentheses to indicate the omission. For example,
SPACE=(TRK,(20,,2)).
– If you omit RLSE but code a following subparameter, code a comma to indicate the
omission. For example, SPACE=(TRK,(20,10),,CONTIG) or
SPACE=(TRK,20,,CONTIG).
– If you omit CONTIG, MXIG, or ALX and ROUND follows, code a comma to indicate
the omission. For example, SPACE=(400,30,RLSE,,ROUND). If you also omit RLSE,
this example becomes SPACE=(400,30,,,ROUND).
Subparameter Definition
System Assignment of Space
TRK
Requests that space be allocated in tracks.
CYL
Requests that space be allocated in cylinders.
blklgth — (only if AVGREC is not coded)
Specifies the average block length of the data, in bytes. The blklgth is a decimal
number from 0 through 65535. This parameter indicates that the values
specified for primary-qty and second-qty are block quantities, and directs the
system to compute the number of tracks to allocate using a block length. The
value specified for block size uses block length in this computation, with the
exception of the value zero. See primary-qty and second-qty descriptions for
how a zero block size is handled.
reclgth — (only if AVGREC is coded and SMS is active)
With SMS, specifies the average record length of the data, in bytes. The reclgth
is a decimal number from 0 through 65535. This parameter indicates that the
values specified for primary-qty and second-qty are record quantities, whose
average record length is reclgth. If you specify zero, no space will be allocated.
Note: When you specify TRK or CYL for a partitioned data set (PDS or PDSE),
the primary quantity includes the space for the directory. When you
specify a block length or record length for a partitioned data set (PDS or
PDSE), the primary quantity does not include the directory space; the
system assigns the directory to space outside the primary space
assignment.
If the data set does not have the space constraint relief option, one volume
must have enough available space for the primary quantity. If you request a
particular volume and it does not have enough space available for your request,
the system terminates the job step. In order for a data set to have the space
constraint relief option, it must be SMS-managed and the data class must
specify the option.
If you specify a blklgth of zero for the first subparameter, the system uses one
of the following as the block length to compute the number of tracks to allocate,
in the order indicated:
1. The block size from the DCB parameter, if specified
2. The block size determined from RECFM and LRECL on the DD statement
or data class, if available
3. A default value of 4096.
To request an entire volume, either code the ALX parameter or specify in the
primary quantity the number of tracks or cylinders on the volume minus the
number used by the volume table of contents (VTOC), volume label track,
VTOC index, and VVDS (if any). The volume must not contain other data sets.
second-qty
Specifies the number of additional tracks, cylinders, blocks, or records to be
allocated, if more space is needed. The system does not allocate additional
space until it is needed.
With SMS, use the AVGREC parameter to specify that the secondary quantity
represents units, thousands, or millions of records. The system computes the
number of tracks to allocate using a block length as indicated in the following
order:
1. The block size from the DCB parameter, if specified
2. The system determined block size, if available
3. A default value of 4096.
When you specify a secondary quantity and the data set requires additional
space, the system allocates the specified quantity:
v In contiguous tracks or cylinders, if available.
v If not available:
– If the data set does not have the space constraint relief option, in up to
five extents.
– With the space constraint relief option, the system might have to allocate
more than five new extents. A data set has this option only if it is
SMS-managed and the data class specifies the option.
The system can allocate up to 123 extents for a data set on a volume if it is a
PDSE, an HFS data set, an extended format data set, or a VSAM data set in
an ICF catalog. For other types of data sets the system can allocate up to 16
extents for each data set on each volume. An extent is space that may or may
not be contiguous to other space allocated to the data set. The extents for a
data set include the primary quantity space and user-label space.
When your program has filled a sequential data set’s allocated space on a
volume, the system determines where the following data is written as follows:
v If the disposition of the data set is NEW or MOD and the limit on the number
of extents on a volume has not been reached, the system attempts to
allocate the secondary quantity on the same volume.
v If the disposition of the data set is OLD or SHR, the system examines the
next volume specified for the data set.
– If space has been allocated on the next volume for the data set, the next
volume is used for the data set.
– If space has not been allocated on the next volume for the data set,
secondary space is allocated on the next volume for the data set.
If there is not another volume specified for the data set, the system attempts
to allocate the secondary quantity on the current volume.
Note that your program should not write with a disposition of DISP=SHR
unless you take precautions to prevent other programs from writing at the
same time.
If the requested volumes have no more available space and if at least one
volume is demountable, the system asks the operator to mount scratch
(nonspecific) volumes until the secondary allocation is complete. If none of the
volumes are demountable, the system abnormally terminates the job step.
directory
Specifies the number of 256-byte records needed in the directory of a
partitioned data set (PDS).
The PDS directory must fit in the first extent of the data set. If the primary
quantity is too small for the directory, or if the system has allocated the primary
quantity over multiple extents and the first extent is too small for the directory,
then the allocation fails.
With SMS, you can specify the number of directory records on the SPACE
parameter without specifying any other subparameters. For example:
//DD12 DD DSNAME=PDS.EXMP,DATACLAS=DCLAS12,SPACE=(,(,,20)),
// DISP=(NEW,KEEP)
specifies 20 directory records for the data set. In this example, the number of
specified directory records (20) overrides the number of directory records
defined in the data class of the data set. (SMS uses all other space allocation
attributes defined in the data class of the data set.)
index
For the index of an indexed sequential data set, specifies one of the following:
v For TRK, the number of tracks needed. The number of tracks must equal
one or more cylinders.
v For CYL, the number of cylinders needed.
RLSE (Partial Release)
Requests that space allocated to an output data set, but not used, is to be
released when the data set is closed. This partial release parameter causes
the close function to release unused space only if the data set is open to allow
writing and the last operation was not a read or a POINT macro.
For a multi-volume sequential data set, only unused space on the current
volume is released when the data set is closed; allocated space on any
subsequent volume is not affected.
If you specify RLSE and an abnormal termination occurs, the system does not
release unused space even though the data set is open.
RLSE is supported only for sequential, partitioned, and VSAM extended format
data sets.
Coding RLSE for primary allocation does not prohibit use of secondary
allocation. The secondary request for space is still in effect.
The system ignores a request to release unused space when closing a data set
if it cannot immediately obtain exclusive control of the data set. Circumstances
that would preclude obtaining exclusive control include:
v Another job is sharing the data set.
v Another task in the same multitasking job is processing an OPEN, CLOSE,
EOV, or FEOV request for the data set.
v Another data control block is open for the data set.
you can release unused tracks when you retrieve the data set by coding:
SPACE=(TRK,(100),RLSE)
You can release space in the following additional ways other than by deleting
the data set:
v Partial release option in the management class
v DFSMShsm space management cycle
v PARTREL macro issued by an authorized program.
CONTIG
Requests that space allocated to the data set must be contiguous. This
subparameter affects only primary space allocation.
If CONTIG is specified and contiguous space is not available, the system
terminates the job step.
MXIG
Requests that space allocated to the data set must be (1) the largest area of
available contiguous space on the volume and (2) equal to or greater than the
primary quantity. This subparameter affects only primary space allocation.
Caution: IBM recommends that you use extreme care when coding this
parameter. Large amounts of storage could be allocated, depending on how
much free space is available at the time the request is made. If you code this
parameter, IBM recommends that you also code the RLSE parameter to release
any unused space.
Note: Do not code a MXIG subparameter for an indexed sequential data set.
ALX
Requests that space allocated to the data set is to be up to 5 of the largest
areas of available contiguous space on the volume, and each area must be
equal to or greater than the primary quantity. The system allocates fewer than 5
areas only when 5 areas of sufficient size are not available. ALX affects only
primary space allocation.
For example, assume the following space extents (in tracks) are available: 910,
435, 201, 102, 14, 12, and 8.
If your job requests 14 tracks as its primary allocation, and ALX is in effect, the
job receives the following 5 extents: 910, 435, 201, 102, and 14.
However, if the job requests 15 tracks as its primary allocation, it would receive
4 extents: 910, 435, 201, and 102. The job does not receive the 14-track extent
because it is less than the primary space allocation.
Caution: IBM recommends that you use extreme care when coding this
parameter. Large amounts of storage could be allocated, depending on how
much free space is available at the time the request is made. If you code this
parameter, IBM recommends that you also code the RLSE parameter to release
any unused space.
Note: Do not code an ALX subparameter for an indexed sequential data set.
Note: When creating a partitioned data set, you must request space for a
directory.
index
Specifies the number of tracks needed for the index of an indexed sequential
data set. The number of tracks must equal one or more cylinders.
Overrides
With SMS, the SPACE parameter overrides the space allocation attributes defined
in the data class for the data set.
Explicit specification of SPACE on the DD statement overrides both the SPACE and
the AVGREC values specified in the data class.
* DYNAM
DATA QNAME
DDNAME SUBSYS
If space is requested in blocks and the blocks have keys, code the DD parameter
KEYLEN (or the DCB subparameter KEYLEN) on the DD statement and specify the
key length.
The DD statement defines a temporary data set. The UNIT parameter requests any
available tape or direct access volume; MIXED is the installation’s name for a group
of tape and direct access devices. If a tape volume is assigned, the SPACE
parameter is ignored; if a direct access volume is assigned, the SPACE parameter
is used to allocate space to the data set. The SPACE parameter specifies only the
required subparameters: the type of allocation and a primary quantity. It requests
that the system allocate 10 cylinders.
Example 2
//DD2 DD DSNAME=PDS12,DISP=(,KEEP),UNIT=3350,
// VOLUME=SER=25143,SPACE=(CYL,(10,,10),,CONTIG)
The DD statement defines a new partitioned data set. The system allocates 10
cylinders to the data set, of which ten 256-byte records are for a directory. Since
the CONTIG subparameter is coded, the system allocates 10 contiguous cylinders
on the volume.
Example 3
//REQUEST1 DD DSNAME=EXM,DISP=NEW,UNIT=3330,VOLUME=SER=606674,
// SPACE=(1024,75),DCB=KEYLEN=8
//REQUESTA DD DSNAME=EXQ,DISP=NEW,UNIT=3380,
// SPACE=(1024,75),DCB=KEYLEN=8
These DD statements request space in block lengths. The average block length of
the data is 1024 bytes. 75 blocks of data are expected as output. Each block is
preceded by a key eight bytes long. The system computes how many tracks are
needed, depending on the device requested in the UNIT parameter.
Example 4
//REQUEST2 DD DSNAME=PET,DISP=NEW,UNIT=3330,VOLUME=SER=606674,
// SPACE=(ABSTR,(5,1))
In this example, the SPACE parameter asks the system to allocate 5 tracks,
beginning on the second track of the volume.
Example 5
//DD3 DD DSNAME=MULTIVOL,UNIT=3350,DISP=(,CATLG),
// VOLUME=SER=(223344,223345),SPACE=(CYL,(554,554))
Example 6
//SMSDS3 DD DSNAME=MYDS3.PGM,DATACLAS=DCLAS03,DISP=(NEW,KEEP),
// SPACE=(128,(5,2)),AVGREC=K
In this example, the space allocation defined in the DCLAS03 data class is
overridden by the SPACE and AVGREC parameters, which indicate an average
record length of 128 bytes, a primary quantity of 5K (5,120) records, and a
secondary quantity of 2K (2,048) records.
SPIN Parameter
Parameter type
Keyword, optional
Purpose
Use the SPIN parameter to specify that the output for the sysout data set is to be
made available for processing
v Immediately upon unallocation
v At the end of the job.
Syntax
SPIN= {UNALLOC}
{NO }
Subparameter Definition
UNALLOC
Indicates that the system makes the data set available for processing
immediately when the data set is unallocated. If you dynamically unallocate the
sysout data set, either explicitly or by specifying FREE=CLOSE, the system
makes the data set available for processing immediately. If you do not
dynamically unallocate it, the sysout data set is unallocated at the end of the
step, and the system will make it available for processing then.
NO
Indicates that the system makes the sysout data set available for processing as
a part of the output at the end of the job, regardless of when the data set is
unallocated.
Defaults
If you dynamically unallocate the sysout data set, the default is that the data set is
immediately available for processing. If you unallocate the sysout data set at the
end of the step, the default is that the data set is available for processing. at the
end of the job.
If you specify FREE=END, the default is that the data set is available for processing
at the end of the job.
Overrides
The SEGMENT parameter overrides the SPIN parameter.
Note: Another way for a program to control when the sysout data set becomes
available for processing is to issue a SETPRT macro. For more information,
see z/OS DFSMS Macro Instructions for Data Sets.
In this example, if you explicitly close or dynamically unallocate the sysout data set,
the system makes it available for printing immediately. If you do not explicitly close
or dynamically unallocate the sysout data set, the system makes it available for
printing at the end of the step.
Example 2
//DD2 DD SYSOUT=A,FREE=CLOSE,SPIN=NO
In this example, the system makes the sysout data set available for printing at the
end of the job, regardless of when it is unallocated or closed.
Example 3
//DD3 DD SYSOUT=A,FREE=END,SPIN=UNALLOC
In this example, the sysout data set is unallocated at the end of the step, and made
available for printing then. If you dynamically unallocate the sysout data set, the
system makes it available for printing immediately.
Example 4
//DD4 DD SYSOUT=A,FREE=END,SPIN=NO
In this example, the system makes the sysout data set available for printing at the
end of the job, regardless of whether the data set is unallocated or closed.
STORCLAS Parameter
Parameter Type
Keyword, optional — use this parameter only with SMS and for SMS-managed data
sets
Without SMS or for non-SMS-managed data sets, use the UNIT parameter
(described on page 12-203) and the VOLUME parameter (described on page
12-210).
Purpose
Use the STORCLAS parameter to specify a storage class for a new SMS-managed
data set. The storage administrator at your installation defines the names of the
storage classes you can code on the STORCLAS parameter.
The storage class contains the attributes that identify a storage service level to be
used by SMS for storage of the data set. It replaces the storage attributes that are
specified on the UNIT and VOLUME parameters for non-SMS-managed data sets.
An SMS-managed data set is defined as a data set that has a storage class
assigned. A storage class is assigned when either (1) you specify the STORCLAS
parameter or (2) an installation-written automatic class selection (ACS) routine
selects a storage class for a new data set.
If SMS is not installed or is not active, the system syntax checks and then ignores
the STORCLAS parameter.
SMS ignores the STORCLAS parameter if you specify it for an existing data set.
References
See z/OS DFSMS: Using the Interactive Storage Management Facility for
information on how to use ISMF to view your installation-defined storage classes.
Syntax
STORCLAS=storage-class-name
Subparameter Definition
storage-class-name
Specifies the name of a storage class to be used for storage of the data set.
The name, one to eight characters, is defined by the storage administrator at
your installation.
Defaults
If you do not specify STORCLAS for a new data set and the storage administrator
has provided an installation-written automatic class selection (ACS) routine, the
Overrides
No attributes in the storage class can be overridden by JCL parameters.
An ACS routine can override the storage class that you specify on the STORCLAS
parameter.
* DYNAM UNIT=AFF
DATA QNAME VOLUME=REF
DDNAME
In the example, SMS uses the attributes in the storage class named SCLAS01 for
the storage service level of the data set. Note that installation-written ACS routines
may select a management class and data class and can override the specified
storage class.
Example 2
//SMSDS2 DD DSNAME=MYDS2.PGM,STORCLAS=SCLAS02,DISP=(NEW,KEEP),
// VOLUME=SER=(223344,224444)
In the example, SMS uses the attributes in the storage class named SCLAS02 for
the storage service level of the data set. Also, if the storage administrator has
specified GUARANTEED_SPACE=YES in the storage class, VOLUME=SER can be
coded and the data set will reside on the specified volumes. (However, if space is
not available on the volumes, the job step fails.) Note that installation-written ACS
routines may select a management class and data class and can override the
specified storage class.
SUBSYS Parameter
Parameter Type
Keyword, optional
Purpose
Use the SUBSYS parameter to request a subsystem to process this data set and,
optionally, to specify parameters defined by the subsystem.
References
Syntax
SUBSYS= {subsystem-name }
{(subsystem-name[,subsystem-subparameter]...)}
Single Subparameter: You can omit the parentheses if you code only the subsystem-name.
Multiple Subparameters: When the parameter contains more than the subsystem-name,
separate the subparameters by commas and enclose the subparameter list in parentheses.
For example, SUBSYS=(XYZ,1724,DT25).
Code each apostrophe that is part of a subparameter as two consecutive apostrophes. For
example, code O’Day as SUBSYS=(XYX,1724,'NAME=O''DAY').
If you code a symbolic parameter on the SUBSYS parameter, you can code the symbolic
parameter in apostrophes.
Continuation onto Another Statement: Enclose the subparameter list in only one set of
parentheses. End each statement with a comma after a complete subparameter. For
example:
//DS1 DD DSNAME=DATA1,SUBSYS=(XYZ,1724,’KEY=Y’,
// DT25,’NAME=O’’DAY’)
Note: The SUBSYS parameter can have a null value only when coded on a DD which
either:
v Overrides a DD in a procedure
v Is added to a procedure.
Subparameter Definition
subsystem-name
Identifies the subsystem. The subsystem name is 1 through 4 alphanumeric or
The specified subsystem can define other parameters that you must not code with
the SUBSYS parameter:
If you specify any of the following DD parameters,the system checks them for
syntax and then ignores them:
FCB
UNIT
If you specify the SPACE parameter, the system checks its syntax and then ignores
it, but the subsystem designated on the SUBSYS parameter may use this
information when it allocates the DD.
DISP Parameter
The system checks the DISP status subparameter for syntax, but always indicates
a status of MOD to the subsystem. If the DISP normal or abnormal termination
subparameter is CATLG or UNCATLG, the system allocates the appropriate catalog
to the subsystem.
DUMMY Parameter
If DUMMY is specified with SUBSYS, the subsystem checks the syntax of the
subsystem subparameters. If they are acceptable, the system treats the data set as
a dummy data set.
Example 2
//DD1 DD DSNAME=ANYDS,DISP=OLD,SUBSYS=(XYZ2,
// ’KEYWORD=DATA VALUE1’)
The DD statement asks subsystem XYZ2 to process data set ANYDS. The system
passes the subparameter KEYWORD=DATA VALUE1 to the subsystem. The
parameter is enclosed in apostrophes because it contains an equal sign and a
blank, which are special characters.
Example 3
//DD1 DD DSNAME=ANYDS,DISP=OLD,SUBSYS=(XYZ2,IKJ2,
// ’NAME=’’MODULE1’’’,’DATE=4/11/86’)
The DD statement asks subsystem XYZ2 to process the data set ANYDS. The
system passes three subparameters to the subsystem: IKJ2, NAME='MODULE1'
and DATE=4/11/86. Note that the character string MODULE1 is passed to the
subsystem enclosed in apostrophes.
SYSOUT Parameter
Parameter Type
Keyword, optional
Purpose
Use the SYSOUT parameter to identify this data set as a system output data set,
usually called a sysout data set.
Do not use the SYSOUT parameter for an SMS-managed data set (one with an
assigned storage class).
The sysout data set is processed according to the following processing options, in
override order:
1. The options specified on this sysout DD statement.
2. The options specified on a referenced OUTPUT JCL statement.
3. The options specified on a referenced JES2 /*OUTPUT statement or on a JES3
//*FORMAT statement.
4. The installation default options for the requested output class.
References
For information on output writers and external writers, see z/OS MVS Using the
Subsystem Interface.
Syntax
SYSOUT= { class }
{ * }
{ ([class] [,writer-name] [,form-name]) }
[,INTRDR ] [,code-name]
SYSOUT=(,)
Subparameter Definition
class
Identifies the output class for the data set. The class is one character: A through
Z or 0 through 9, which you may optionally include in quotation marks. The
attributes of each output class are defined during JES initialization; specify the
class with the desired attributes.
* Requests the output class in the MSGCLASS parameter on the JOB statement.
In a JES2 system you can also use the dollar-sign ($) to request the output
class in the MSGCLASS parameter on the JOB statement.
In order for the writer to process that output, the writer’s userid must be in a
RACF access list. The access list permits the writer’s userid to the SYSOUT
data set. The writer’s userid is the userid specified in the started procedure
table for the writer task. If your installation’s policy requires security labels, the
security label associated with the external writer must be equal to or greater
than the security label associated with the SYSOUT. For more information, see
your security administrator.
Note:
v code-name is supported only on JES2 systems.
v Do not specify the code-name subparameter when the job or job step
contains a default OUTPUT JCL statement.
Defaults
In a JES2 system, if you do not specify a class on this DD statement or a
referenced OUTPUT JCL statement, JES2 assigns the sysout data set to the output
class defined by the MSGCLASS value of the JOB statement. See the override
order shown under ″Purpose″ for how this default is established.
* DDNAME LIKE
AMP DISP PROTECT
CHKPT DYNAM QNAME
DATA EXPDT RETPD
DATACLAS LABEL SUBSYS
VOLUME
Ignored Parameters
Because JES allocates sysout data sets, the UNIT and SPACE parameters are
ignored, if coded on a sysout DD statement.
Code the DSNAME parameter with the SYSOUT parameter if you wish to assign
the last qualifier of the system-generated name to a sysout data set.
Do not code the SYSOUT writer-name subparameter when coding a DEST userid
subparameter. These subparameters are mutually exclusive. You can code:
//VALID1 DD SYSOUT=D,DEST=(node,userid)
//VALID2 DD SYSOUT=(D,writer-name),DEST=(node)
Backward References
For more information, see z/OS JES3 Initialization and Tuning Guide.
In this example, the DD statement specifies that JES is to write the sysout data set
to the device handling class P output.
Example 2
//DD2 DD DSNAME=&&PAYOUT1,SYSOUT=P
In this example, DD statement DD2 defines PAYOUT1 as the last qualifier of the
system-generated name for the sysout data set. The system generates a name
such as userid.jobname.jobid.Ddsnumber.PAYOUT1. The DD statement specifies
that JES is to write the data set to the device handling class P output.
Example 3
//JOB50 JOB ,’C. BROWN’,MSGCLASS=C
//STEP1 EXEC PGM=SET
//DDX DD SYSOUT=C
In this example, DD statement DDX specifies that JES is to write the sysout data
set to the device handling class C output. Because the SYSOUT parameter and the
MSGCLASS parameter specify the same class, the messages from this job and the
sysout data set can be written to the same device.
Example 4
//STEP1 EXEC PGM=ANS
//OT1 OUTPUT DEST=NYC
//OT2 OUTPUT DEST=LAX
//OT3 OUTPUT COPIES=5
//DSA DD SYSOUT=H,OUTPUT=(*.OT2,*.OT1,*.OT3)
In this example, the DD statement combines with the three referenced OUTPUT
JCL statements to create three separate sets of output:
1. DSA combines with OT1 to send the sysout data set to NYC.
2. DSA combines with OT2 to send the sysout data set to LAX.
3. DSA combines with OT3 to print five copies of the data set locally on the printer
used for output class H.
Example 5
//DD5 DD SYSOUT=(F,,2PRT)
In this example, the DD statement specifies that JES is to write the sysout data set
to the device handling class F output. The data set is to be printed or punched on
forms named 2PRT.
TERM Parameter
Parameter Type
Keyword, optional
Do not use the TERM parameter for an SMS-managed data set (one with an
assigned storage class).
Purpose
Use the TERM parameter to indicate to the system that a data set is coming from
or going to a terminal for a TSO/E user.
Syntax
TERM=TS
Subparameter Definition
TS
In a foreground job submitted by a TSO/E user, indicates that the input or
output data set is coming from or going to a TSO/E userid.
In a background or batch job, the system either:
v Ignores the TERM=TS parameter, when it appears with other parameters.
v Fails the TERM=TS parameter with an allocation error, when the parameter
appears by itself. (The system bypasses this error if SYSOUT=* is coded
with TERM=TS.)
* DYNAM
AMP PROTECT
DATA QNAME
DDNAME
Code only the DCB and SYSOUT parameters with the TERM parameter. The
system ignores any other DD parameters.
Example 2
//DD1 DD TERM=TS,SYSOUT=*
Example 3
//DD3 DD UNIT=3400-5,DISP=(MOD,PASS),TERM=TS,LABEL=(,NL),
// DCB=(LRECL=80,BLKSIZE=80)
In a foreground job, the system ignores all of the parameters in this example except
TERM and DCB. In a batch job, the system ignores only the TERM parameter.
UCS Parameter
Parameter Type
Keyword, optional
Purpose
The UCS image specifies the special character set to be used. JES loads the
image into the printer’s buffer. The UCS image is stored in SYS1.IMAGELIB. IBM
provides the special character set codes in Table 12-2.
References
For more information on the UCS parameter, see z/OS DFSMSdfp Advanced
Services.
Subparameter Definition
character-set-code
Identifies a universal character set. The character-set-code is 1 through 4
alphanumeric or national ($, #, @) characters. See Table 12-2 for IBM standard
special character set codes.
FOLD
Requests that the chain or train for the universal character set be loaded in fold
mode. Fold mode is described in 2821 Component Description. Fold mode is
most often used when upper- and lower-case data is to be printed only in
uppercase.
Note: JES2 and JES3 do not support the FOLD subparameter. For JES2, the
FOLD option is specified in the UCS image for JES2-controlled printers.
See z/OS DFSMSdfp Advanced Services.
VERIFY
Requests that, before the data set is printed, the operator verify visually that the
character set image is for the correct chain or train. The character set image is
displayed on the printer before the data set is printed.
Table 12-2. Special Character Sets for the 1403, 3203 Model 5, and 3211 Printers
3203
1403 Model 5 3211 Characteristics
AN AN A11 Arrangement A, standard EBCDIC character set, 48 characters
HN HN H11 Arrangement H, EBCDIC character set for FORTRAN and
COBOL, 48 characters
G11 ASCII character set
PCAN PCAN Preferred alphanumeric character set, arrangement A
PCHN PCHN Preferred alphanumeric character set, arrangement H
PN PN P11 PL/I alphanumeric character set
QN QN PL/I preferred alphanumeric character set for scientific
applications
QNC QNC PL/1 preferred alphanumeric character set for commercial
applications
RN RN Preferred character set for commercial applications of
FORTRAN and COBOL
SN SN Preferred character set for text printing
TN TN T11 Character set for text printing, 120 characters
XN High-speed alphanumeric character set for 1403, Model 2
Defaults
If you do not code the UCS parameter, the system checks the UCS image in the
printer’s buffer; if it is a default image, as indicated by its first byte, JES uses it. If it
is not a default image, JES loads the UCS image that is the installation default
specified at JES initialization.
On an impact printer, if the chain or train does not contain a valid character set,
JES asks the operator to specify a character set and to mount the corresponding
chain or train.
Overrides
For printing on a printer with the UCS feature, the UCS parameter on a sysout DD
statement overrides an OUTPUT JCL UCS parameter. For printing on a 3800, a
CHARS parameter on the sysout DD statement or the OUTPUT JCL statement
overrides all UCS parameters.
For a data set scheduled to the Print Services Facility (PSF), the PSF uses the
following parameters, in override order, to select the font list:
1. Font list in the library member specified by an OUTPUT JCL PAGEDEF
parameter.
2. DD CHARS parameter.
3. OUTPUT JCL CHARS parameter.
4. DD UCS parameter.
5. OUTPUT JCL UCS parameter.
6. JES installation default for the device.
7. Font list on the PAGEDEF parameter in the PSF cataloged procedure.
* DYNAM
AMP KEYOFF
DATA PROTECT
DDNAME QNAME
Do not code the UCS parameter with the DCB subparameters CYLOFL, INTVL,
RESERVE, and RKP.
In this example, the DD statement requests a 1403 Printer. The UCS parameter
requests the chain or train for special character set code YN. Because VERIFY is
coded, the system will display the character set image on the printer before the
data set is printed.
Example 2
//DD2 DD SYSOUT=G,UCS=PN
In this example, the DD statement requests the device for output class G. If the
device is a printer with the UCS feature, the system loads the UCS image for code
PN. If the device is an impact printer, the system asks the operator to mount the
chain or train for PN, if it is not already mounted. If the device is a 3800, the system
uses the UCS subparameter to select the character-arrangement table. Otherwise,
the system ignores the UCS parameter.
UNIT Parameter
Parameter Type
Keyword, optional
Note: With SMS, you do not need to use the UNIT parameter to specify a device
for an SMS-managed data set. Use the STORCLAS parameter (described
on page 12-189) or let an installation-written automatic class selection (ACS)
routine select a storage class for the data set.
Also with SMS, for a non-SMS-managed data set, if your storage administrator has
set a system default unit under SMS, you do not need to specify UNIT. Check with
your storage administrator.
Purpose
Use the UNIT parameter to ask the system to place the data set on:
v A specific device.
v A certain type or group of devices.
v The same device as another data set.
The UNIT parameter can also tell the system how many devices to assign and
request that the system defer mounting the volume until the data set is opened.
{UNIT=AFF=ddname }
v You can omit the parentheses if you code only the first subparameter.
v All of the subparameters are positional. If you omit unit-count or P but code DEFER,
code a comma to indicate the omission; one device is assigned to the data set. For
example, UNIT=(3490,,DEFER).
Subparameter Definition
device-number
Identifies a specific device by a 3-digit or 4-digit hexadecimal number. Precede
a 4-digit number with a slash (/). A 3-digit number can be specified with or
without a slash.
Attention: Specify a device number only when necessary. When you specify a
device number, the system can assign only that specific device. If the device is
already being used, the job must be delayed or canceled.
However, for a permanently mounted direct access device, such as a 3390
Direct Access Storage, specifying a device type (UNIT=3390) and a volume
serial number in the VOLUME=SER parameter has the same result as
specifying a device number in the UNIT parameter.
In a JES3 system, if any DD UNIT parameter in a job specifies a
device-number for a device that is JES3-managed or jointly JES3/MVS
managed, the JES3 //*MAIN statement must contain a SYSTEM parameter.
SMS ignores a device number, if specified for SMS-managed DASD.
device-type
Requests a device by its generic name, which is an IBM-supplied name that
identifies a device by its machine type and model. For example, UNIT=3390.
When a device-type name contains a hyphen, do not enclose it in apostrophes,
for example, UNIT=3400-5.
Obtain the list of device types you can specify from your installation.
If you specify the device-type subparameter, SMS ignores it.
For a 3480 Magnetic Tape Subsystem in compatibility mode, code
UNIT=3400-9 or a group-name.
group-name
Requests a group of devices by a symbolic name. The installation must have
assigned the name to the device(s) during system initialization or IBM must
have assigned the name. The group-name is 1 through 8 alphanumeric
characters.
If you specify the group-name subparameter, SMS ignores it.
Allocation from Groups: The system assigns a device from the group. If a
group consists of only one device, the system assigns that device. If the group
consists of more than one device type, the units requested are allocated from
the same device type. For example, if GPDA contains 3380 Disk Storage and
3390 Direct Access Storage devices, a request for two units would be allocated
to two 3380s or to two 3390s.
Extending Data Set: If a data set that was created using the group-name
subparameter is to be extended, the system allocates additional devices of the
same type as the original devices. However, the additional devices may not
necessarily be from the same group.
Use these group names to override the device type eligibility retrieved by the
system when referencing existing 3480- or 3480 XF-formatted data sets.
Specifically, use SYS3480R when you want to read 3480-formatted data sets
and use SYS348XR when you want to read 3480 XF-formatted data sets.
You may receive more devices than the unit-count requests if you specify
VOLUME=REF or a permanently resident or reserved volume. And, if two DD
statements in a step request the same volume and either DD statement
requests any other volume(s), the system assigns an additional device.
Unit Count for Received or VOLUME=REF Data Sets: The system assigns
one device when the DD statement receives a passed data set or refers in a
Unit Count when Device Number Specified: When the first subparameter
requests a specific device, the unit count must be 1 or omitted. Only when the
device is a communication device can the unit count be higher than 1.
P Asks the system to allocate the same number of devices as requested in the
VOLUME volume-count or SER subparameter, whichever is higher. Thus, all
volumes for the data set are mounted in parallel.
If you specify the P subparameter for system-managed DASD, the system
ignores it. If you specify the P subparameter for system-managed tape libraries,
the system honors it.
DEFER
Asks the system to assign the data set to device(s) but requests that the
volume(s) not be mounted until the data set is opened. To defer mounting,
DEFER must be specified or implied for all DD statements that reference the
volume.
If you specify the DEFER subparameter for system-managed DASD, the system
ignores it. If you specify the DEFER subparameter for system-managed tape
libraries, the system honors it.
DEFER when Data Set is Never Opened: If you request deferred mounting of
a volume and the data set on that volume is never opened by the processing
program, the volume is never mounted during the job step.
Restrictions on DEFER: Do not code DEFER:
v For a new data set on direct access. The system ignores DEFER.
v On a SYSCKEOV DD statement.
AFF=ddname
Requests that the system allocate different data sets residing on different,
removable volumes to the same device during execution of the step. This
request is called unit affinity, where ″ddname″ is the ddname of an earlier DD
statement in the same step. Use unit affinity to reduce the number of devices
used in a job step; request that an existing data set be assigned to the same
device(s) as another existing data set.
If you specify the UNIT=AFF subparameter for system-managed DASD, the
system ignores it. If you specify the UNIT=AFF subparameter for
system-managed tape libraries, the system attempts to honor it.
Under certain conditions the system ignores unit affinity. See z/OS MVS JCL
User’s Guide for more information.
In a JES3 environment, UNIT=AFF=ddname may not be honored. See z/OS
MVS JCL User’s Guide and z/OS HCD Planning for information about device
eligibility and unit affinity.
Overrides
If you code SYSOUT and UNIT on the same statement, the SYSOUT parameter
overrides the UNIT parameter.
The system also obtains device information when the system obtains volume serial
information from:
v A VOLUME=REF=dsname reference to an earlier data set.
v A VOLUME=REF=ddname reference to an earlier DD statement.
v The volume(s) for a passed data set.
v The catalog for a cataloged data set.
However, you can override the retrieved device information if the device you specify
is a subset of the retrieved device information; otherwise the system ignores the
overriding device information. For example, if the retrieved unit grouping is 3350,
and the specified unit subparameter is 3350A (a subset of 3350), then the system
allocates from the devices contained in 3350A.
If you have 3490 Magnetic Tape Subsystem models A10 and A20 defined to your
system and you use one of the IBM-generated group names SYS3480R or
SYS348XR, the system overrides the device type retrieved from the catalog with a
device from the esoteric device group.
For more about how the system uses device information it retrieves from the
catalog, see the text about the relationship of the UNIT and VOLUME parameters
for non-SMS-managed data sets in z/OS MVS JCL User’s Guide.
* DYNAM
DATA QNAME
DDNAME
The following example illustrates a case where the system treats the DD statement
containing the UNIT=AFF as a DD DUMMY statement:
//STEP EXEC PGM=TKM
//DD1 DD DDNAME=DD5
//DD2 DD DSNAME=A,DISP=OLD
//DD3 DD DSNAME=C,DISP=SHR,UNIT=AFF=DD1
//DD5 DD DSNAME=B,DISP=SHR
DD3 requests unit affinity to DD1. Although DD1 occurs earlier in the job step than
DD3, it refers to DD5 that is located after DD3. Because DD1 is not completely
defined, the system treats DD3 as a dummy statement.
DD statement DDX requests two 3480 tape devices, DD statement DDZ requests
the same two devices as DDX. Note that the operator will have to change volumes
on the two 3480 devices during execution of the job step.
Example 2
//DD1 DD DSNAME=AAG3,DISP=(,KEEP),
// VOLUME=SER=13230,UNIT=3400-5
This DD statement defines a new data set and requests that the system assign any
3420 Magnetic Tape Unit that can operate in 6250 BPI NRZI nine-track format.
Example 3
//DD2 DD DSNAME=X.Y.Z,DISP=OLD,UNIT=(,2)
This DD statement defines a cataloged data set and requests that the system
assign two devices to the data set. The system obtains the device type from the
catalog.
Example 4
//DD3 DD DSNAME=COLLECT,DISP=OLD,
// VOLUME=SER=1095,UNIT=(3490,,DEFER)
Example 5
//STEPA DD DSNAME=FALL,DISP=OLD,UNIT=237
For this data set, the system retrieves the volume and device type from the catalog.
The UNIT parameter, by specifying device 237, overrides the catalog device type;
however, device 237 must be the same type as the device stated in the catalog.
Example 6
In STEP2, DD21, data set L is an existing data set and is cataloged on SD3,
SMS-managed DASD. DD21 is both the referenced DD (referenced by the
UNIT=AFF on DD22) and the primary DD.
In STEP2, DD22 is the referencing DD, which requests unit affinity to DD21.
Because data set L is on SMS-managed DASD, the system cannot honor the unit
affinity for DD22 which is intended to go to tape. With the unit affinity ignored, the
system must determine a unit to be used for DD22.
The system is not able to rely on the unit information in the catalog for data set L,
because the catalog reflects a DASD unit (as a result of being redirected). Because
data set L was created in a prior step and there is no unit specified on DD21, the
system is not able to use the JCL for DD21 as a source of unit information. The
system will, therefore, use the unit-affinity-ignored unit name of 3490 for DD22.
VOLUME Parameter
Parameter Type
Keyword, optional
Terminology
Data sets on system-managed tape volumes exhibit both SMS and non-SMS
characteristics. When necessary, data sets on a system-managed tape volume
are distinguished from system-managed DASD data sets. Otherwise, the term
system-managed data sets refers to both data sets on a system-managed tape
volume and system-managed DASD data sets.
To cause multiple data sets to be stacked on the same volume, see z/OS MVS JCL
User’s Guide for recommendations and examples.
Purpose
Use the VOLUME parameter to identify the volume or volumes on which a data set
resides or will reside. You can request:
v A private volume
v Retention of the volume
v A specific volume by serial number
v The same volume that another data set uses
You can also specify which volume of a multivolume data set is to be processed
first and, for an output data set, the number of volumes required.
A nonspecific volume request is a DD statement for a new data set that can be
assigned to any volume or volumes. To make a nonspecific volume request for a
new data set, either:
v Omit the VOLUME parameter.
v Code a VOLUME parameter but omit a SER or REF subparameter.
[SER=serial-number ]
[SER=(serial-number[,serial-number]...)]
[,] [REF=dsname ]
[REF=*.ddname ]
[REF=*.stepname.ddname ]
[REF=*.stepname.procstepname.ddname ]
Single Subparameter: You can omit the parentheses if you code only PRIVATE or only a
keyword subparameter. For example, VOLUME=PRIVATE or VOLUME=SER=222001 or
VOLUME=REF=DS1.
Null REF Subparameter: The REF subparameter of the VOLUME parameter can have a
null value only when coded on a DD that either overrides a DD in a procedure or is added
to a procedure.
Null Positional Subparameters: Null positions in the VOLUME=SER parameter are invalid.
Single SER Subparameter: You can omit the parentheses in the SER
subparameter if you code only one serial number. For example,
VOLUME=SER=222001.
When the dsname in the REF subparameter contains special characters, other than
the periods used in a qualified name, enclose it in apostrophes. For example,
VOLUME=REF='DS/284'.
Code each apostrophe that is part of the serial number or data set name as two
consecutive apostrophes. For example, VOLUME=SER='O''HARE' or
VOLUME=REF='DS''371'.
Subparameter Definition
PRIVATE
Requests a private volume. Private means that:
v The system is not to allocate an output data set to the volume unless the
volume is specifically requested, such as in a VOLUME=SER subparameter.
v If tape, the volume is to be demounted after the data set is closed, unless
RETAIN is also coded or the DD DISP parameter specifies PASS.
v If a demountable direct access volume, the volume is to be demounted after
the data set is closed.
RETAIN
For a private tape volume, RETAIN requests that this volume is not to be
demounted or rewound after the data set is closed or at the end of the step. For
a public tape volume, RETAIN requests that this volume is to be retained at the
device if it is demounted during the job.
Note: The system uses the unit count to determine how many devices to
allocate. However, if you also specify P (for parallel mount) in the UNIT
parameter, the system might use the value specified for the volume
count to determine how many devices and volumes to allocate. See the
unit-count subparameter description on page 12-205 for further
information.
Volume Count for Tape Data Sets: Code a volume count when a new data set
will reside on 6 or more volumes. If you omit the volume count or if you specify
1 through 5, the system allows up to five volumes; if you specify 6 through 20,
the system allows 20 volumes; if you specify a count greater than 20, the
system allows 5 plus a multiple of 15 volumes.
Volume Count and Serial Numbers: When the volume count is greater than:
v The number of volume serials coded in the SER subparameter
v The number of volume serials the system retrieved from the catalog
v The number of volume serials the system retrieved from VOL=REF
v The number of volume serials the system retrieved from a passed data set,
If a data set may need more volumes than the number of volume serials coded,
specify a volume count equal to the total number of volumes that might be
used. Requesting more volumes in the volume count will make sure that the
data set can be written on more volumes if it exceeds the requested volumes.
If you do not code a volume count and volume serial number, the system can
extend an existing cataloged data set that resides on a removable volume up to
20 volumes.
If the request is for a nonspecific, private volume, the system treats it like a
specific request if the volume count is more than one and allocates the number
of volumes in the volume count.
Volume Count for System-Managed DASD Data Sets: You cannot specify a
volume count for an existing system-managed DASD data set. (If you do, the
system will ignore it.) When you create a new system-managed DASD data set,
however, you can override the volume count defined in the data class by using
the volume-count subparameter.
Volume Count for System-Managed Tape Data Sets: If you specify a volume
count and DISP=PASS on a DD statement, the system will pass the volume
count to subsequent receiving steps within the job. This may cause the system
to allocate more devices than expected to the receiving DD. Coding UNIT=AFF
in the receiving step’s DD will result in the optimum number of devices being
allocated to the receiving DD. For more information about the number of
devices allocated, refer to the z/OS MVS JCL User’s Guide.
SER=serial-number
SER=(serial-number[,serial-number]...)
Identifies by serial number the volume(s) on which the data set resides or will
reside. A volume serial number is 1 through 6 alphanumeric, national ($, #, @),
or special characters; enclose a serial number that contains special characters,
other than hyphens, in apostrophes. If the number is shorter than 6 characters,
it is padded with trailing blanks.
You can code a maximum of 255 volume serial numbers on a DD statement.
Do not specify duplicate volume serial numbers in a SER subparameter. Each
volume must have a unique volume serial number, regardless of whether it is a
tape or disk volume.
Do not code a volume serial number as SCRTCH, PRIVAT, or Lnnnnn (L with
five numbers); these are used in messages to ask the operator to mount a
volume. Do not code a volume serial number as MIGRAT, which is used by the
Hierarchical Storage Manager DFSMShsm for migrated data sets. When using
some typewriter heads or printer chains, a volume serial number may be
unrecognizable if you code certain special characters.
When two data sets, one that is SMS-managed and one that is not, share the
same data set name:
v If you specify the non-SMS-managed volume, the system will allocate the
non-SMS-managed data set.
v If you do not specify the volume information, or you specify an SMS-
managed volume, the system will allocate the SMS-managed data set.
REF=dsname
REF=*.ddname
REF=*.stepname.ddname
REF=*.stepname.procstepname.ddname
Tells the system to obtain volume serial numbers from another data set or an
earlier DD statement.
Note: VOL=REF obtains ONLY the volume serial numbers from the referenced
data set or earlier DD statement. In particular it does not obtain the
volume sequence number, volume count, label type, or data set
sequence number.
dsname
Names a cataloged or passed data set. The system assigns this data set to
the same volumes containing the cataloged or passed data set.
When dsname names a passed data set, the reference must appear on a
DD statement before the receiving DD statement. (After a passed data set
is received, the passed data set information is no longer available.)
The dsname can be an alias name or a catalog name. The dsname cannot
be a generation data group (GDG) base name, a GDG relative generation
member, or a member name of a non-GDG data set.
| References to Multivolume Tape Data Sets: When REF refers to a data set
| residing on more than one tape volume, the system allocates all volumes to the
| referencing DD when it represents an OLD data set, that is, a data set that
| existed prior to the current job step. For a NEW tape data set the system
| allocates only the last volume of a referenced multivolume tape data set.
| If an earlier job step extends the referenced data set to more volumes, or adds
| or extends an earlier data set so that the referenced data set resides on a later
| volume, the new volume information is available to the referencing DD
| statement.
| If the current job step extends the referenced data set to more volumes, or
| adds or extends an earlier data set so that the referenced data set resides on a
| later volume, the new volume information is available to the referencing DD
| statement ONLY when the referenced data set is a new data set with no
| volume serial numbers explicitly or implicitly specified, which means only if the
| entire collection of data sets on the volumes was created in the current step. In
| other words, if the current job step extends the referenced data set to more
| volumes, or adds or extends an earlier data set so that the referenced data set
| resides on a later volume, the new volume information is not available to the
| referencing DD statement when either of the following conditions is true:
| v The data set that is referenced (directly or through a chain of references)
| existed before the start of the step containing the reference.
| v The data set that is referenced (directly or through a chain of references) is a
| new data set requested with specific volume serial numbers.
| If the referenced data set already exists and has volume serial numbers
| explicitly specified, then the last listed volume serial is used even if the earlier
| data set actually exists on or is written to fewer volumes.
| In either of these cases, the allocation of the referencing data set is likely to fail.
If a DD statement that is requesting a new data set has a unit count and
volume count greater than one but specifies no volume serial numbers, one
volume is allocated. If a second DD statement within the same step requests
the same data set, the same volume is allocated to it. If this job step extends
the data set to more volumes, this new volume information is not available to
the second DD statement.
Two or more DD statements in the same step can request the same data set.
However, if the data set is extended to additional volumes in that step, the
additional volume information is not available to the second or succeeding DD
statements within the step.
If the ACS routine attempts to make the referencing data set SMS-managed,
SMS fails the allocation with message IGD305I.
Label Type Picked up from Referenced Statement: When REF is coded, the
system also copies the LABEL label type subparameter from the referenced DD
statement.
Overrides
The volume sequence number overrides a DISP=MOD parameter. Thus, instead of
starting at the end of the data set on the last volume, according to the MOD
subparameter, processing of the data set begins with the volume indicated by the
volume sequence number.
When REF is coded, the system also copies the LABEL label type subparameter
from the referenced DD statement.
The DD statement requests an existing data set, which resides on the direct access
volume, serial number 548863. Since PRIVATE is coded, the system will not assign
to the volume another data set for which a nonspecific volume request is made and
will demount the volume at the end of the job.
Example 2
//DD2 DD DSNAME=QUET,DISP=(MOD,KEEP),UNIT=(3400-5,2),
// VOLUME=(,,,4,SER=(96341,96342))
The DD statement requests an existing data set, which resides on two volumes,
serial numbers 96341 and 96342. The VOLUME volume count subparameter
requests four volumes, if required. Thus, if more space is required, the system can
assign a third and fourth volume.
Example 3
//DD3 DD DSNAME=QOUT,UNIT=3400-5
The DD statement defines a data set that is created and deleted in the job step. By
omission of the VOLUME parameter, the statement makes a nonspecific volume
request, thereby asking the system to assign a suitable volume to the data set.
Example 4
//DD4 DD DSNAME=NEWDASD,DISP=(,CATLG,DELETE),UNIT=3350,
// VOLUME=SER=335006,SPACE=(CYL,(10,5))
This new data set is assigned to volume serial number 335006, which is a
permanently mounted volume on a particular 3350 Direct Access Storage. You can
obtain the same space on the same volume in another way: instead of specifying
the volume serial number and UNIT=3350, you can specify the device number of
the particular 3350 device in the UNIT parameter.
Example 5
DD statement OUTDD creates a multivolume data set and catalogs it. If the data
set does not require three volumes, it will reside on fewer volumes. DD statement
NEXT then deletes the data set.
If the data set resides on fewer volumes than the number of volumes on which it is
cataloged, the following messages appear in the job log when the system deletes
the data set:
IEF285I TEST.TWO DELETED
IEF285I VOL SER NOS=333001,333003.
IEF283I TEST.TWO NOT DELETED
IEF283I VOL SER NOS=333002 1.
IEF283I TEST.TWO UNCATALOGED
IEF283I VOL SER NOS=333001,333002,333003.
If the data set resides on all specified volumes, the following messages appear in
the job log when the system deletes the data set:
IEF285I TEST.TWO DELETED
IEF285I VOL SER NOS=333001,333002,333003.
Example 6
//SMSDS2 DD DSNAME=MYDS2.PGM,STORCLAS=SCLAS02,DISP=(NEW,KEEP),
// VOLUME=SER=(223344,224444)
For new system-managed DASD data sets or data sets on a system-managed tape
volume, the system uses the attributes in the storage class named SCLAS02 for the
storage service level of the data set. Also, if the storage administrator has specified
GUARANTEED_SPACE=YES in the storage class for DASD VOLUME=SER can be
coded and the data set will reside on the specified volumes. (However, if space is
not available on the volumes, the job step fails. Allocation also fails if the requested
volumes aren’t in any of the possible storage groups for the data set. For tape
requests, the system always gets the tape request specified with a specific volume
serial.) Installation-written automatic class selection (ACS) routines select the data
class and management class.
Example 7
//STEP1 EXEC PGM=....
//DD1 DD DSN=OLD.SMS.DATASET,DISP=SHR
//DD2 DD DSN=FIRST,DISP=(NEW,CATLG,DELETE),VOL=REF=*.DD1
Description
Syntax
//ddname DD keyword-parameter[,keyword-parameter]... [comments]
Special ddnames
The special data sets are identified by the following ddnames:
JOBCAT
JOBLIB
STEPCAT
STEPLIB
SYSABEND
SYSCHK
SYSCKEOV
SYSIN
SYSMDUMP
SYSUDUMP
Except for SYSIN, code these ddnames only when you want the special data sets.
JOBCAT DD Statement
Purpose
The system does not support the JOBCAT DD statement (or STEPCAT DD
statement) for catalogs that have a unit control block (UCB) above the 16MB line.
You cannot specify CVOLs as JOBCAT. Access to a CVOL is possible only with a
special CVOL pointer in the master catalog.
References
For more information about VSAM data sets, see z/OS DFSMS: Using Data Sets.
| See also “Relationship between JOBLIB and Passed Data Sets” on page 13-5 for
| information about the relationship of the JOBCAT statement to the JOBLIB
| statement.
JOBLIB DD Statement
Purpose
Syntax
//JOBLIB DD parameter[,parameter]... [comments]
Other Parameters
Code the DCB parameter if complete data control block information is not contained
in the data set label. Do not specify FREE=CLOSE; CLOSE is ignored.
The system searches the libraries for the program in the same order as the DD
statements.
Overriding a JOBLIB
If you want the system to ignore the JOBLIB for a particular job step and the step
does not require another private library, define the system library on a STEPLIB DD
statement. For example, specify:
//STEPLIB DD DSNAME=SYS1.LINKLIB,DISP=SHR
For this particular job step, the system will search SYS1.LINKLIB, as specified on
the STEPLIB DD statement, for the program requested in the EXEC statement. The
system will not search the JOBLIB.
| For this example, assume that there are three different versions of data set
| “user_dataset”:
| v one version on volserJ, cataloged in UCAT.JOBCAT
| v one version on volserX, cataloged in UCAT.STEPCATX
| v one version on volserY, cataloged in UCAT.STEPCATY
| Using the above JCL and cataloging and placement of data sets, here is what a
| user might expect to happen, versus what actually does happen:
| STEP1
| userpgm1
| EXPECTED: userpgm1(X) from user_library(X) on volserX
| ACTUAL: userpgm1(X) from user_library(X) on volserX
| user_dataset
| EXPECTED: user_dataset(X) on volserX
| ACTUAL: user_dataset(X) on volserX
| STEP2
| userpgm2
| EXPECTED: userpgm2(Y) from user_library(Y) on volserY
| ACTUAL: userpgm2(X) from user_library(X) on volserX
| user_dataset
| EXPECTED: user_datasetY on volserY
| ACTUAL: user_datasetX on volserX
| v If PASS had not been coded on STEP1’s DD1, the user_dataset selected
| WOULD have been user_datasetY from volserY, but userpgm2 would STILL have
| been userpgm2(X) from user_library(X) on volserX due to the implied PASS on
| JOBLIB.
| STEP3
| userpgm3
| EXPECTED: userpgm3(J) from user_library(J) on volserJ
| ACTUAL: userpgm3(X) from user_library(X) on volserX
| user_dataset
| EXPECTED: user_dataset(J) on volserJ
| ACTUAL: user_dataset(X) on volserX
| v If PASS had not been coded on STEP2’s DD2, the user_dataset selected
| WOULD have been user_dataset(J) from volserJ, but userpgm3 would STILL
| have been userpgm3(X) from user_library(X) on volserX due to the implied PASS
| on JOBLIB.
Example 2
//PAYROLL JOB FOWLER,CLASS=L
//JOBLIB DD DSNAME=PRIV.DEPT58,DISP=(OLD,PASS),
// UNIT=3350,VOLUME=SER=D58PVL
//STEP EXEC PGM=DAY
//STEP2 EXEC PGM=BENEFITS
//DD1 DD DSNAME=*.JOBLIB,VOLUME=REF=*.JOBLIB,DISP=(OLD,PASS)
Example 3
//TYPE JOB MSGLEVEL=(1,1)
//JOBLIB DD DSNAME=GROUP8.LEVEL5,DISP=(NEW,CATLG),
// UNIT=3350,VOLUME=SER=148562,SPACE=(CYL,(50,3,4))
//STEP1 EXEC PGM=DISC
//DDA DD DSNAME=GROUP8.LEVEL5(RATE),DISP=MOD,
// VOLUME=REF=*.JOBLIB
//STEP2 EXEC PGM=RATE
The private library requested on the JOBLIB DD statement does not exist yet;
therefore, the JOBLIB DD statement contains all the parameters required to define
the library. The library is created in STEP1, when DD statement DDA defines the
new member RATE for the library. Therefore, the system searches SYS1.LINKLIB
for the program named DISC. In STEP2, the system searches for the program
RATE first in GROUP8.LEVEL5.
Example 4
//PAYROLL JOB BIRDSALL,TIME=1440
//JOBLIB DD DSNAME=KRG.LIB12,DISP=(OLD,PASS)
// DD DSNAME=GROUP31.TEST,DISP=(OLD,PASS)
// DD DSNAME=PGMSLIB,UNIT=3350,
// DISP=(OLD,PASS),VOLUME=SER=34568
The three DD statements concatenate the three private libraries. The system
searches the libraries for each program in this order:
KRG.LIB12
GROUP31.TEST
PGMSLIB
SYS1.LINKLIB
STEPCAT DD Statement
Purpose
The system does not support the STEPCAT DD statement (or JOBCAT DD
statement) for catalogs that have a unit control block (UCB) above the 16MB line.
References
For more information about VSAM data sets, see z/OS DFSMS: Using Data Sets.
Syntax
//STEPCAT DD DISP={OLD},DSNAME=private-catalog-name[,parameter]... [comments]
{SHR}
Overriding a JOBCAT
To override a JOBCAT private catalog with the master catalog for a particular job
step, code the following in the job step:
//STEPCAT DD DISP=OLD,DSNAME=master-catalog-name
| See also “Relationship between JOBLIB and Passed Data Sets” on page 13-5 for
| information about the relationship of the STEPCAT statement to the JOBLIB
| statement.
The STEPCAT DD statement specifies a private catalog that the system uses for
this job step only.
STEPLIB DD Statement
Purpose
The private library is a partitioned data set (PDS) or partitioned data set extended
(PDSE) on a direct access device. Each member is an executable, user-written
program.
Subsequent job steps in the same job may refer to or receive a private library
defined on a STEPLIB DD statement. Also, you can place a STEPLIB DD statement
in an in-stream or cataloged procedure.
Syntax
//STEPLIB DD parameter[,parameter]... [comments]
In the passing job step, code a DISP disposition subparameter of PASS when a
step library is to be used by subsequent steps in the job.
In a receiving step:
v Code in the DSNAME parameter either the name of the step library or a
backward reference of the form *.stepname.STEPLIB. If the step library is
defined in a procedure, the backward reference must include the procedure step
name: *.stepname.procstepname.STEPLIB.
v Code the DISP parameter. The status subparameter must be OLD. The
disposition subparameters should indicate what you want done with the private
library after its use in the receiving step.
Other Parameters
Code the DCB parameter if complete data control block information is not contained
in the data set label. Do not specify FREE=CLOSE; CLOSE is ignored.
The system searches the libraries for the program in the same order as the DD
statements.
Overriding a JOBLIB
If you want the system to ignore the JOBLIB for a particular job step and the step
does not require another private library, define the system library on a STEPLIB DD
statement. For example, specify:
//STEPLIB DD DSNAME=SYS1.LINKLIB,DISP=SHR
For this particular job step, the system will first search SYS1.LINKLIB, as specified
on the STEPLIB DD statement, for the program requested in the EXEC statement.
The system will not search the JOBLIB.
The system searches PRIV.LIB5 for the program SPKCH and PRIV.LIB12 for TIL80.
The system catalogs both private libraries.
Example 2
//PAYROLL JOB BAKER,MSGLEVEL=1
//JOBLIB DD DSNAME=LIB5.GROUP4,DISP=(OLD,PASS)
//STEP1 EXEC PROC=SNZ12
//STEP2 EXEC PGM=SNAP10
//STEPLIB DD DSNAME=LIBRARYP,DISP=(OLD,PASS),
// UNIT=3350,VOLUME=SER=55566
//STEP3 EXEC PGM=A1530
//STEP4 EXEC PGM=SNAP11
//STEPLIB DD DSNAME=*.STEP2.STEPLIB,
// DISP=(OLD,KEEP)
Example 3
//PAYROLL JOB THORNTON,MSGLEVEL=1
//JOBLIB DD DSNAME=LIB5.GROUP4,DISP=(OLD,PASS)
//STEP1 EXEC PGM=SUM
//STEPLIB DD DSNAME=SYS1.LINKLIB,DISP=OLD
//STEP2 EXEC PGM=VARY
//STEP3 EXEC PGM=CALC
//STEPLIB DD DSNAME=PRIV.WORK,DISP=(OLD,PASS)
// DD DSNAME=LIBRARYA,DISP=(OLD,KEEP),
// UNIT=3350,VOLUME=SER=44455
// DD DSNAME=LIB.DEPT88,DISP=(OLD,KEEP)
//STEP4 EXEC PGM=SHORE
The dump contents are as described only when the installation uses the
IBM-supplied defaults for the dumps. The contents of these dumps can be set
during system initialization and/or can be changed for an individual dump in the
ABEND macro instruction, in a CHNGDUMP command, and by a SLIP command.
For details, see z/OS MVS Initialization and Tuning Guide.
Dumps are optional; use a dump DD statement only when you want to produce a
dump.
References
For information on how to interpret dumps, see z/OS MVS Diagnosis: Tools and
Service Aids.
Storing a Dump
If you wish to store a dump instead of having it printed, code the following
parameters on the dump DD statement:
v The DSNAME parameter.
v The UNIT parameter.
v The VOLUME parameter. This parameter is optional and not recommended. The
system will select a volume.
v The DISP parameter. The data set’s status is NEW. Because you want to store
the data set, make the data set’s abnormal termination disposition KEEP or
CATLG.
v The SPACE parameter, if the dump is written on direct access.
SYSMDUMP Requirements
With the exception of the following facility, the system processes dump data sets
according to the disposition to which they are allocated. To keep only the first
SYSMDUMP dump written to a dump data set, specify the following on the
SYSMDUMP DD statement:
v DSNAME=SYS1.SYSMDPxx, where xx is 00 through FF and indicates the
specific dump data set to be used. SYSMDPxx is a preallocated data set that
must have end-of-file (EOF) mark as its first record.
v DISP=SHR
v FREE=CLOSE for multiple job steps
See z/OS MVS Diagnosis: Tools and Service Aids for a description of the
SYS1.SYSMDPxx naming convention and an explanation of how the system
manages the dump data sets.
Printing a Dump
To print a dump for either a SYSABEND or SYSUDUMP DD statement, code one of
the following on the DD statement for the output data set:
v A UNIT parameter that specifies a printer.
v The SYSOUT parameter that specifies a print output class.
If you print the dump in a JES3 system on a 3800 Printing Subsystem, code
CHARS=DUMP for a dump with 204 characters per line and FCB=STD3 for 8 lines
per inch.
When the system finds dump DD statements with duplicate ddnames, processing is
as follows:
v In a JES2 system, the job fails with message IEA912I.
v In a JES3 system:
– If both DD statements request JES3- or jointly-managed devices, the job is
cancelled during JES3 interpretation.
– If only one or neither statement requests JES3- or jointly-managed devices,
the job fails with message IEA912I.
The SYSUDUMP DD statement specifies that you want the dump routed to system
output class A.
Example 2
//SYSMDUMP DD DSNAME=DUMP,DISP=(NEW,KEEP),
// UNIT=3400-6,VOLUME=SER=147958
Example 3
//STEP1 EXEC PGM=PROGRAM1
//SYSABEND DD DSNAME=DUMP,UNIT=3350,DISP=(,PASS,KEEP),
// VOLUME=SER=1234,SPACE=(TRK,(40,20))
//STEP2 EXEC PGM=PROGRAM2
//SYSABEND DD DSNAME=*.STEP1.SYSABEND,DISP=(OLD,DELETE,KEEP)
Both SYSABEND DD statements specify that the dump is to be stored. The space
request in STEP1 is ample and will not inhibit dumping due to insufficient space. If
STEP1 does not abnormally terminate but STEP2 does, the system writes the
Example 4
//STEP EXEC PGM=EXSYSM
//SYSMDUMP DD UNIT=3330,VOLUME=SER=123456,SPACE=(CYL,(0,1)),
// DISP=(NEW,DELETE,KEEP),DSNAME=MDUMP
The SYSMDUMP DD statement allocates dump data set MDUMP to a direct access
device.
Example 5
//JOB1 JOB
//STEP EXEC PGM=EXSYSMDP
//SYSMDUMP DD DSNAME=SYS1.SYSMDP00,DISP=SHR
//JOB2 JOB
//STEP EXEC PGM=EXSYSMDP
//SYSMDUMP DD DSNAME=SYS1.SYSMDP00,DISP=SHR
Only the SYSMDUMP dump written by the first job will be in data set
SYS1.SYSMDP00. All subsequent jobs receive message IEA849I, indicating that
the data set is full.
SYSCHK DD Statement
Purpose
Use the SYSCHK DD statement to define a checkpoint data set that the system is
to write during execution of a processing program. Use this statement again when
the step is restarted from a checkpoint written in the data set.
References
For detailed information about the checkpoint/restart facilities, see z/OS DFSMS
Checkpoint/Restart.
Syntax
//SYSCHK DD parameter[,parameter]... [comments]
Other Parameters
v Code the LABEL parameter if the checkpoint data set does not have standard
labels.
v Code DCB=TRTCH=C if the checkpoint data set is on 7-track magnetic tape with
nonstandard labels or no labels.
v If the volume containing the checkpoint data set is to be mounted on a
JES3-managed device, do not code the DEFER subparameter of the UNIT
parameter on the SYSCHK DD statement.
Note: Do not use VSAM for a checkpoint data set, and do not use a partitioned
data set extended (PDSE) for a checkpoint data set.
The checkpoint data set defined on the SYSCHK DD statement is not cataloged.
Example 2
//JOB2 JOB RESTART=(STEP2,NOTE2)
//JOBLIB DD DSNAME=PRIV.LIB3,DISP=(OLD,PASS)
//SYSCHK DD DSNAME=CHECKPTS,DISP=(OLD,KEEP),
// UNIT=3400-6,VOLUME=SER=438291
//STEP1 EXEC PGM=B
The checkpoint data set defined on the SYSCHK DD statement is not cataloged.
Note that the SYSCHK DD statement follows the JOBLIB DD statement.
SYSCKEOV DD Statement
Purpose
Use the SYSCKEOV DD statement to define a checkpoint data set for checkpoint
records from the checkpoint at end-of-volume (EOV) facility. The checkpoint at EOV
facility is invoked by a DD CHKPT parameter.
References
Syntax
//SYSCKEOV DD parameter[,parameter]... [comments]
Other Parameters
v Do not code on the SYSCKEOV DD statement the following:
– CHKPT=EOV parameter.
– DCB parameter. All DCB information is provided by the checkpoint at EOV
facility.
– DEFER subparameter of the UNIT parameter.
v If you code the LABEL parameter, you must specify LABEL=(,SL) for IBM
standard labels.
v If the SYSCKEOV data set resides on a direct access storage device, that device
cannot be shared with another processor.
This statement defines a checkpoint data set for checkpoint at EOV records.
SYSIN DD Statement
Purpose
Use the delimiter statement to indicate the end of data or transmittal records in the
input stream.
Description
Syntax
/* [comments]
xx [comments]
A delimiter statement consists of the characters /* or the two characters specified in a DLM
parameter in columns 1 and 2 and one field: comments.
Comments Field
The comments field follows the delimiter characters.
For JES2, code any comments in columns 4 through 80. (A blank must follow the
delimiter characters.)
For JES3, text in columns 3 through 80 is a comment, except when the default
delimiter (/*) is used with an //XMIT statement causing the text starting in column 3
to be recognized as a JECL statement (for example, /*ROUTE, /*JOBPARM). This
includes JES2 commands (/*$command) except that any command prefix other
than $ is considered a comment instead of a command.
To avoid ambiguity in these cases, IBM recommends that you either start comments
in column 4 or use a delimiter other than the default on the //XMIT statement.
Example 2
//JOB54 JOB ,’C BROWN’,MSGLEVEL=(2,0)
// XMIT DEST=NODEA,DLM=BB
//JOB55 JOB ,’C BROWN’,MSGLEVEL=(2,0)
//STEPA EXEC PGM=SERS
//DD1 DD *
.
.
data
.
/* END OF DATA FOR DATA SET DD1
//DD2 DD DATA,DLM=AA
.
.
data
.
AA END OF DATA FOR DATA SET DD2
BB END OF TRANSMITTED JOB
Use the ENDCNTL statement to mark the end of the program control statements
following a CNTL statement.
Description
Syntax
//[label] ENDCNTL [comments]
The ENDCNTL statement consists of the characters // in columns 1 and 2, and three fields:
label, operation (ENDCNTL), and comments.
Label Field
Code a label on the ENDCNTL statement, as follows:
v Each label must be unique within the job.
v The label must begin in column 3.
v The label is 1 through 8 alphanumeric or national ($, #, @) characters.
v The first character must be alphabetic or national ($, #, @).
v The label must be followed by at least one blank.
Operation Field
The operation field consists of the characters ENDCNTL and must be preceded and
followed by at least one blank. It can begin in any column.
Comments Field
The comments field follows the ENDCNTL after at least one intervening blank.
(For information about the PRINTDEV JCL statement see the manual PSF for
OS/390 & z/OS: Customization.)
A job can have a maximum of 255 job steps. This maximum includes all steps in
any procedures the EXEC statements call.
The parameters you can specify for step processing are arranged alphabetically in
the following pages.
References
For information about the JES initialization parameters that provide installation
defaults, see z/OS JES2 Initialization and Tuning Reference and z/OS JES3
Initialization and Tuning Reference.
Description
Syntax
//[stepname] EXEC positional-parm[,keyword-parm]...[,symbolic-parm=value]...
[comments]
The EXEC statement consists of the characters // in columns 1 and 2 and four fields: name,
operation (EXEC), parameter, and comments.
Name Field
A stepname is optional, but is needed for the following. When a stepname is
needed, it must be unique within the job, including stepnames in any procedures
called by the job.
v Referring to the step in later job control statements.
v Overriding parameters on an EXEC statement or DD statement in a cataloged or
in-stream procedure step.
v Adding DD statements to a cataloged or in-stream procedure step. However, a
stepname is not required when adding to the first step in a procedure.
v Performing a step or checkpoint restart at or in the step.
v Identifying a step in a cataloged or in-stream procedure.
Operation Field
The operation field consists of the characters EXEC and must be preceded and
followed by at least one blank. It can begin in any column.
Parameter Field
An EXEC statement has two kinds of parameters: positional and keyword.
Positional Parameters
An EXEC statement must contain one of the positional parameters: PGM, PROC,
or procedure name. This positional parameter must precede all keyword
parameters.
Keyword Parameters
An EXEC statement can contain the following keyword parameters. You can code
any of the keyword parameters in any order in the parameter field after the
positional parameter.
COND[.procstepname]=
((code,operator[,stepname][.procstepname]) )
([,(code,operator[,stepname][.procstepname])...])
( [,EVEN] )
( [,ONLY] )
PARM[.procstepname]=subparameter
PARM[.procstepname]=(subparameter,subparameter)
PARM[.procstepname]=(’subparameter’,subparameter)
PARM[.procstepname]=’subparameter,subparameter’
The procstepname is the name field on the procedure EXEC statement containing
the keyword parameter to be overridden. For example:
//STEP1 EXEC PROC=WKREPORT,ACCT.PSTEPWED=5670
The accounting information 5670 applies only to step PSTEPWED in the procedure
WKREPORT.
An EXEC statement can assign values to, or nullify, symbolic parameters. See
“Using System Symbols and JCL Symbols” on page 5-12 for more information
about symbolic parameters.
Comments Field
The comments field follows the parameter field after at least one intervening blank.
The EXEC statement named STEP4 invokes a program named DREC and passes
the value in the PARM parameter to DREC.
Example 2
// EXEC PGM=ENTRY,TIME=(2,30)
Example 3
//FOR EXEC PROC=PROC489,ACCT=DB1528,RD.PSTEP2=RNC,DEV=3350
ACCT Parameter
Parameter Type
Keyword, optional
Purpose
References
For more information on how to add accounting routines, see z/OS MVS System
Management Facilities (SMF).
Syntax
ACCT[.procstepname]=(accounting-information)
If you code a symbolic parameter on the ACCT parameter, you can code the symbolic
parameter in apostrophes.
Subparameter Definition
accounting-information
Specifies one or more subparameters of accounting information, as defined by
the installation.
This EXEC statement executes program JP5 and specifies accounting information
for this job step.
Example 2
//STP3 EXEC PROC=LOOKUP,ACCT=(’/83468’)
Example 3
//STP4 EXEC PROC=BILLING,ACCT.PAID=56370,ACCT.LATE=56470,
// ACCT.BILL=’121+366’
ADDRSPC Parameter
Parameter Type
Keyword, optional
Purpose
Use the ADDRSPC parameter to indicate to the system that the job step requires
virtual storage (which is pageable) or central storage (also called real storage,
which is nonpageable).
Syntax
ADDRSPC[.procstepname]= {VIRT}
{REAL}
Subparameter Definition
VIRT
Requests virtual storage. The system can page the job step.
REAL
Requests central storage (also called real storage). The system cannot page
the job step and must place the job step in central storage.
Defaults
If no ADDRSPC parameter is specified, the default is VIRT.
Overrides
The JOB statement ADDRSPC parameter applies to all steps of the job and
overrides any EXEC statement ADDRSPC parameters.
Code EXEC statement ADDRSPC parameters when each job step requires different
types of storage. The system uses an EXEC statement ADDRSPC parameter only
when no ADDRSPC parameter is on the JOB statement and only during the job
step.
Code a REGION parameter to specify how much virtual storage the job needs. If
you omit the REGION parameter, the system uses the default.
This EXEC statement executes program A and requests virtual (pageable) storage.
Because the REGION parameter is not specified, the storage available to this job
step is the installation default or the region size specified on the JOB statement.
Example 2
//CAC2 EXEC PROC=B,ADDRSPC=REAL,REGION=80K
CCSID Parameter
Parameter Type
Keyword, optional
Purpose
When CCSID is not specified at the JOB, EXEC, or DD levels, data passed to
BSAM and QSAM is converted to 7-bit ASCII when writing to ISO/ANSI Version 4
tapes. This may result in data loss on conversion. On READ operations the CCSID
(if recorded) on the tape header label is used for conversion.
The CCSID is recorded in the tape header label if conversion is not defaulted.
Syntax
CCSID= nnnnn
Subparameter Definition
nnnnn
The CCSID as a decimal number from 1 through 65535.
Default
If no CCSID parameter is specified on the JOB statement, the default is 500.
* DDNAME QNAME
BURST DYNAM SYSOUT
CHARS FCB TERM
COPIES FLASH UCS
DATA MODIFY
COND Parameter
Parameter Type
Keyword, optional
Purpose
Use the COND parameter to test return codes from previous job steps and
determine whether to bypass this job step. You can specify one or more tests on
the COND parameter, and you can test return codes from particular job steps or
from every job step that has completed processing. If any of the test conditions are
satisfied, the system evaluates the COND parameter as true and bypasses the job
step. If none of the test conditions specified on the COND parameter are satisfied,
the system evaluates the COND parameter as false and executes the job step.
Bypassing a step because of a return code test is not the same as abnormally
terminating the step. The system abnormally terminates a step following an error so
serious that it prevents successful execution. In contrast, bypassing of a step is
merely its omission.
If a step abnormally terminates, the system normally bypasses all following steps in
the job unless the step(s) are part of an IF/THEN/ELSE/ENDIF construct that
specifies the ABEND, ABENDCC, or ¬ABEND keywords, described in Chapter 17,
“IF/THEN/ELSE/ENDIF Statement Construct” on page 17-1. Another way to make
the system execute a following step, for instance, to write a dump, is to code EVEN
or ONLY on that step’s EXEC statement. The EVEN or ONLY subparameters are
interpreted first. If they indicate that the step should be executed, then the return
code tests, if specified, are performed. If no return code tests were coded or if none
of the coded tests is satisfied, the system executes the step.
Note that a test showing that a return code from a step is zero is not sufficient to
verify that the step did not fail; the system may fail a step (or job) even if the return
code is zero. This could happen, for example, as a result of specifying CATLG_ERR
FAILJOB(YES) and incurring that type of ″post execution error.″ (The return code is
generated by the application program and is never changed by the operating
system.) You can determine that a step failed due to a ″post execution error″ if bit
SMF30SYE in the two-byte SMF30STI field in the SMF30 subtype 4 record is on.
Syntax
COND[.procstepname] = (code,operator)
COND[.procstepname] = ((code,operator[,stepname][.procstepname])
[,(code,operator[,stepname][.procstepname])]... [,EVEN])
[,ONLY]
COND=EVEN
COND=ONLY
Note: Specifying a decimal number greater than 4095 could result in invalid
return code testing or invalid return codes in messages.
operator
Specifies the type of comparison to be made to the return code. If the specified
test is true, the step is bypassed. Use Table 16-1 on page 16-15 to select the
correct operator. Operators and their meanings are:
Operator Meaning
GT Greater than
GE Greater than or equal to
EQ Equal to
LT Less than
LE Less than or equal to
NE Not equal to
stepname
Identifies the EXEC statement of a previous job step that issues the return code
to be used in the test. If the specified step is in a procedure, this step must be
in the same procedure. Otherwise, the specified step must not be in a
procedure; the specified step must contain a PGM keyword, rather than invoke
a procedure.
If you omit stepname, the code you specify is compared to the return codes
from all previous steps. If the return code issued by any of those previous steps
causes the test condition to be satisfied, the system evaluates the COND
parameter as true and bypasses the job step.
If this step is invoked in JCL that runs as a started task, see “Stepnames for
Started Tasks” on page 16-2 for information about the stepname the system
assigns.
stepname.procstepname
Identifies a step in a cataloged or in-stream procedure called by an earlier job
step. Stepname identifies the EXEC statement of the calling job step;
procstepname identifies the EXEC statement of the procedure step that issues
the return code to be used in the test. The step identified by procstepname
must contain the PGM keyword, rather than invoke a procedure.
EVEN
Specifies that this job step is to be executed even if a preceding job step
abnormally terminated. When EVEN is coded, the system:
v Does not test the return code of any steps that terminated abnormally.
v Does test the return code of any steps that terminated normally. If none of
the return code tests for these steps is satisfied, this job step is executed.
See “Considerations when Using the COND Parameter” on page 16-13 for
cautions related to the use of EVEN.
See “Considerations when Using the COND Parameter” for cautions related to
the use of ONLY.
Overrides
If you code the COND parameter on the JOB statement and on one or more of the
job’s EXEC statements, and if a return code test on the JOB statement is satisfied,
the job terminates. In this case, the system does not process any subsequent
EXEC statement COND parameters.
If the tests on the JOB statement are not satisfied, the system then performs the
return code tests on the EXEC statement. If a return code test is satisfied, the step
is bypassed.
The COND on the calling EXEC statement overrides the COND on the called EXEC
statement. If the called EXEC statement does not have COND coded on it, the
COND on the calling EXEC statement will be added to the called EXEC statement.
After certain types of abnormal termination by the system, remaining job steps are
not executed, regardless of whether EVEN or ONLY were specified. The completion
codes associated with these types of abnormal termination are:
122 Operator canceled job
222 Operator or TSO/E user canceled job
You might encounter other system completion codes for which remaining job steps
are not executed, regardless of whether EVEN or ONLY was specified. See z/OS
MVS System Codes for further information about specific system completion codes.
For the system to act on the COND parameter, the step must abnormally terminate
while the program has control. If a step abnormally terminates during scheduling,
due to failures such as JCL errors or the inability to allocate space, the system
bypasses the remaining steps, no matter what the COND parameter requests.
JES3 Considerations
In both JES2 and JES3 systems, an EXEC COND parameter determines if a step is
executed or bypassed. However, JES3 processes all jobs as though each step will
execute; therefore, JES3 allocates devices for steps that are bypassed. JES3 will
fail jobs that delete a data set in one step and attempt to reference the deleted data
set in a later step, even if the step that deletes the data set is bypassed during
execution. JES3 does not support conditional JCL, although it does permit
conditional statements to be specified.
In this example, if the return code from STEP3 is 0 through 3, the system bypasses
STEP6. If the return code is 4 or greater, the system executes STEP6. Because
neither EVEN nor ONLY is specified, the system does not execute this step if a
preceding step abnormally terminates.
Example 2
//TEST2 EXEC PGM=DUMPINT,COND=((16,GE),(90,LE,STEP1),ONLY)
The system executes this step ONLY if two conditions are met:
1. A preceding job step abnormally terminated.
2. No return code tests are satisfied.
Therefore, the system executes this step only when all three of the following are
true:
v A preceding job step abnormally terminated.
v The return codes from all preceding steps are 17 or greater.
v The return code from STEP1 is 89 or less.
The system bypasses this step if any one of the following is true:
v All preceding job steps terminated normally.
v The return code from any preceding step is 0 through 16.
v The return code from STEP1 is 90 or greater.
Example 3
//STEP1 EXEC PGM=CINDY
.
.
//STEP2 EXEC PGM=NEXT,COND=(4,EQ,STEP1)
.
.
//STEP3 EXEC PGM=LAST,COND=((8,LT,STEP1),(8,GT,STEP2))
.
The system does not perform the second return code test because STEP2 was
bypassed.
Example 4
//STP4 EXEC PROC=BILLING,COND.PAID=((20,LT),EVEN),
// COND.LATE=(60,GT,FIND),
// COND.BILL=((20,GE),(30,LT,CHGE))
Example 5
The job:
//JOB1 JOB...RESTART=JOBSTEP
//JOBSTEP EXEC PROC=TEST
JOB1 restarts at JOBSTEP. PROCSTP1 is the first step in the job because of the
RESTART specification, and the COND parameter test is not valid because no
previous steps have run. Therefore, the system evaluates the COND parameter for
PROCSTP1 as false, and PROCSTP1 runs. PROCSTP3 has no COND parameter.
The COND parameters for PROCSTP2 and PROCSTP4 are used.
The job:
//JOB1 JOB...RESTART=JOBSTEP.PROCSTP2
//JOBSTEP EXEC PROC=TEST,COND=(8,GT)
The job:
//JOB1 JOB...RESTART=JOBSTEP.PROCSTP2
//JOBSTEP EXEC PROC=TEST,COND.PROCSTP4=(8,GT)
DYNAMNBR Parameter
Parameter Type
Keyword, optional
Purpose
Use the DYNAMNBR parameter to tell the system to hold a number of resources in
anticipation of reuse. Code DYNAMNBR instead of several DD statements with
DYNAM parameters.
Syntax
DYNAMNBR[.procstepname]=n
Subparameter Definition
n Specifies a value used to calculate the maximum number of data set allocations
that the system can hold in anticipation of reuse. Specify n as a decimal
number from 0 through 3273 minus the number of DD statements in the step.
Note that the limit of 3273 is based on the number of single unit DD statements
for a 64K TIOT (task input output table). This limit can be different depending
on the installation-defined TIOT size. 32K is the default TIOT size. The limit for
a 32K TIOT is 1635. (In a JES3 system, the installation might further reduce the
limit.)
Note: If you specify DISP=(NEW,PASS) but, at the end of the job, one or more
data sets were not received by any job step, then the maximum number
of DD statements you can specify decreases by one. For example, if the
current limit is 1635 DD statements, you can specify DISP=(NEW,PASS),
and up to 1634 DD statements.
The number of resources that the system actually holds in anticipation of reuse
equals n plus the number of DD statements in the step, including any DD
statements in a cataloged or in-stream procedure called by the step.
Defaults
If no DYNAMNBR parameter is specified, the default is 0. If you code DYNAMNBR
incorrectly, the system uses the default of 0 and issues a JCL warning message.
For the procedure step CALC, this statement specifies that the system should hold
the following data set allocations for reuse: 12 plus the number of DD statements
following this EXEC statement and the number of DD statements in procedure
ACCT.
MEMLIMIT Parameter
Parameter Type
Keyword, optional
Purpose
Use the MEMLIMIT parameter to specify the limit on the total number of usable
virtual pages above the bar in a single address space.
Syntax
MEMLIMIT={nnnnnM}
{nnnnnG}
{nnnnnT}
{nnnnnP}
{NOLIMIT}
Subparameter Definition
nnnnnM
nnnnnG
nnnnnT
nnnnnP
Specifies a value to be used as the limit on the total number of usable virtual
pages above the bar in a single address space. The value may be expressed in
megabytes (M), gigabytes (G), terabytes (T), or petabytes (P). nnnnn may be a
value from 0 to 99999.
NOLIMIT
Specifies that there is no limit on the virtual pages to be used above the bar.
Defaults
If no MEMLIMIT parameter is specified, the default is the value defined to SMF.
Overrides
The JOB statement MEMLIMIT parameter applies to all steps of the job and
overrides any EXEC statement MEMLIMIT parameter.
If MEMLIMIT is not specified, SMF provides a default value. The IEFUSI installation
exit can override any JCL- or SMF-supplied value.
This job step specifies a limit of 10000 megabytes of usable virtual pages above the
bar, depending on other job and installation factors.
PARM Parameter
Parameter Type
Keyword, optional
Purpose
Use the PARM parameter to pass variable information to the processing program
executed by this job step. To use the information, the processing program must
contain instructions to retrieve the information.
References
For details on the format of the passed information and its retrieval, see z/OS MVS
Programming: Assembler Services Guide.
Syntax
PARM[.procstepname]=subparameter
PARM[.procstepname]=(subparameter,subparameter)
PARM[.procstepname]=(’subparameter’,subparameter)
PARM[.procstepname]=’subparameter,subparameter’
Length: The length of the subparameters passed must not exceed 100 characters:
v Including any commas, which are passed to the processing program.
v Excluding any enclosing parentheses or apostrophes, which are not passed.
Commas: When you code more than one subparameter, separate the subparameters by
commas and enclose the subparameters in parentheses or apostrophes. For example,
PARM=(P1,123,MT5) or PARM='P1,123,MT5'.
Code each apostrophe and ampersand that is part of the subparameter as two consecutive
apostrophes or ampersands. For example, code 3462&5 as PARM='3462&&5'.
Do not code an apostrophe in column 71; see ″Continuing Parameter Fields Enclosed in
Apostrophes″ if you need more information.
Example 2
// EXEC PROC=PROC81,PARM=MT5
The system passes MT5 to the first step of the procedure named PROC81. If
PROC81 contains more steps and their EXEC statements contain PARM
parameters, the system nullifies those PARM parameters.
Example 3
//STP6 EXEC PROC=ASMFCLG,PARM.LKED=(MAP,LET)
The system passes MAP,LET to the procedure step named LKED in procedure
ASMFCLG. If any other procedure steps in ASMFCLG contain a PARM parameter,
those PARM parameters remain in effect.
Example 4
//RUN4 EXEC PGM=IFOX00,PARM=(NOOBJECT,’LINECNT=50’, ’TRUNC(BIN)’,
// DECK)
PERFORM Parameter
Parameter Type
Keyword, optional
Purpose
In WLM goal mode, any PERFORM parameter on an EXEC statement for a job or
a started procedure is ignored. However, for a TSO session, a PERFORM
parameter specified on the EXEC statement of the TSO logon procedure, or
entered on the TSO logon panel, can be used for classification of the session to a
service class or report class. For details on how to use workload management
classification rules to map a PERFORM value to a service class or report class, see
z/OS MVS Planning: Workload Management.
Syntax
PERFORM[.procstepname]=n
Subparameter Definition
n The n is a number from 1 through 999.
In WLM compatibility mode, n identifies a performance group that has been
defined by your installation. The specified performance group should be
appropriate for your step type according to your installation’s rules.
Defaults
In WLM compatibility mode, if no PERFORM parameter is specified or if the
specified PERFORM number fails validity checks, the system uses an installation
default specified at initialization. If the installation did not specify a default, the
system uses a built-in default:
Default Use
1 For non-TSO/E job steps
2 For TSO/E sessions
Overrides
A JOB statement PERFORM parameter applies to all steps of the job and overrides
any EXEC statement PERFORM parameters.
Code EXEC statement PERFORM parameters when each job step is to execute in
a different performance group. The system uses an EXEC PERFORM parameter
only when no PERFORM parameter is on the JOB statement and only during the
job step.
This job step will be run in performance group 60 if it passes validity checks. The
installation must have defined the significance of this performance group.
PGM Parameter
Parameter Type
Positional, optional
Purpose
Use the PGM parameter to name the program that the system is to execute. The
specified program must be a member of a partitioned data set (PDS) or partitioned
data set extended (PDSE) used as a system library, a private library, or a temporary
library.
Syntax
PGM= {program-name }
{*.stepname.ddname }
{*.stepname.procstepname.ddname}
{JCLTEST }
{JSTTEST }
The EXEC statement parameter field must begin with a PGM parameter or a PROC
parameter. These two parameters must not appear on the same EXEC statement.
Subparameter Definition
program-name
Specifies the member name or alias of the program to be executed. The
program-name is 1 through 8 alphanumeric or national ($, #, @) characters; the
first character must be alphabetic or national.
Use this form of the parameter when the program resides in a system library,
such as SYS1.LINKLIB, or in a private library specified in the job by a JOBLIB
DD statement or in the step by a STEPLIB DD statement.
*.stepname.ddname
Refers to a DD statement that defines, as a member of a partitioned data set
(PDS) or a partitioned data set extended (PDSE), the program to be executed.
Stepname identifies the EXEC statement of the earlier job step that contains the
DD statement with ddname in its name field.
Use this form of the parameter when a previous job step creates a temporary
library to store a program until it is required.
These statements indicate that the system is to search the private library
DEPT12.LIB4 for the member named USCAN, read the member into storage, and
execute the member.
Example 2
//PROCESS JOB ,MARY,MSGCLASS=A
//CREATE EXEC PGM=IEWL
//SYSLMOD DD DSNAME=&&PARTDS(PROG),UNIT=3350,DISP=(MOD,PASS),
// SPACE=(1024,(50,20,1))
//GO EXEC PGM=*.CREATE.SYSLMOD
Example 3
//JOBC JOB ,JOHN,MSGCLASS=H
//STEP2 EXEC PGM=UPDT
//DDA DD DSNAME=SYS1.LINKLIB(P40),DISP=OLD
//STEP3 EXEC PGM=*.STEP2.DDA
Positional, optional
Purpose
Use the PROC parameter to specify that the system is to call and execute a
cataloged or in-stream procedure.
Syntax
{PROC=procedure-name}
{procedure-name }
v The EXEC statement parameter field must begin with a PGM parameter or a PROC
parameter. These two parameters must not appear on the same EXEC statement.
v You can omit PROC= and code only the procedure-name.
Subparameter Definition
procedure-name
Identifies the procedure to be called and executed:
v The member name or alias of a cataloged procedure.
v The name on the PROC statement that begins an in-stream procedure. The
in-stream procedure must appear earlier in this job.
Any DD statements following this EXEC statement are added to the procedure, or
override or nullify corresponding DD statements in the procedure.
Example 2
RD Parameter
Parameter Type
Keyword, optional
Purpose
The system can perform automatic restart only if all of the following are true:
v The JOB or EXEC statement contains RD=R or RD=RNC.
v The step to be restarted abended with a restartable wait state code.
v The operator authorizes a restart.
The system can perform automatic step restart for a job running during a system
failure as long as the job has a job journal.
A job journal is a sequential data set that contains job-related control blocks needed
for restart. If you use the automatic restart manager (ARM) to restart a job, you do
not need to save the journal because ARM does not use the job journal when
restarting jobs.
References
Syntax
RD[.procstepname]= {R }
{RNC}
{NR }
{NC }
Subparameter Definition
R (Restart, Checkpoints Allowed)
Indicates that the operator can perform automatic step restart if the job step
fails.
RD=R does not suppress checkpoint restarts:
v If the processing program executed in a job step does not include a CHKPT
macro instruction, RD=R allows the system to restart execution at the
beginning of the abnormally terminated step.
v If the program includes a CHKPT macro instruction, RD=R allows the system
to restart execution at the beginning of the step, if the step abnormally
terminates before the CHKPT macro instruction is executed.
v If the step abnormally terminates after the CHKPT macro instruction is
executed, only checkpoint restart can occur. If you cancel the affects of the
CHKPT macro instruction before the system performs a checkpoint restart,
the request for automatic step restart is again in effect.
RNC (Restart, No Checkpoints)
Indicates that the operator can perform automatic step restart if the job step
fails.
RD=RNC suppresses automatic and deferred checkpoint restarts. It
suppresses:
v Any CHKPT macro instruction in the processing program: That is, the
operator cannot perform an automatic checkpoint restart, and the system is
not to perform a deferred checkpoint restart if the job is resubmitted.
v The DD statement CHKPT parameter.
v The checkpoint at end-of-volume (EOV) facility.
NR (No Automatic Restart, Checkpoints Allowed)
Indicates that the operator cannot perform automatic step restart if the job fails.
RD=NR suppresses automatic checkpoint restart but permits deferred
checkpoint restarts. It permits:
v A CHKPT macro instruction to establish a checkpoint.
v The job to be resubmitted for restart at the checkpoint. On the JOB
statement when resubmitting the job, specify the checkpoint in the RESTART
parameter.
If you code RD=NR and the system fails, RD=NR does not prevent the job from
restarting.
NC (No Automatic Restart, No Checkpoints)
Indicates that the operator cannot perform automatic step restart if the job step
fails.
Defaults
If you do not code the RD parameter, the system uses the installation default from
the job’s job class specified at initialization.
Overrides
v A JOB statement RD parameter applies to all steps of the job and overrides any
EXEC statement RD parameters.
When no RD parameter is on the JOB statement, the system uses an EXEC
statement RD parameter, but only during the job step. Code EXEC statement RD
parameters when you want to specify different restart types for each job step.
v A request by a CHKPT macro instruction for an automatic checkpoint restart
overrides a request by a JOB or EXEC statement RD=R parameter for automatic
step restart.
RD=R specifies that the operator can perform automatic step restart if the job step
fails.
Example 2
//NEST EXEC PGM=T18,RD=RNC
RD=RNC specifies that, if the step fails, the operator can perform automatic step
restart. RD=RNC suppresses automatic and deferred checkpoint restarts.
Example 3
//CARD EXEC PGM=WTE,RD=NR
RD=NR specifies that the operator cannot perform automatic step restart or
automatic checkpoint restart. However, a CHKPT macro instruction can establish
checkpoints to be used later for a deferred restart.
REGION Parameter
Parameter Type
Keyword, optional
Purpose
Use the REGION parameter to specify the amount of central or virtual storage that
the step requires.
The amount of storage that you request must include the following:
v Storage for all programs in the step to execute.
v All additional storage that the programs in the step request with GETMAIN,
STORAGE, and CPOOL macro instructions.
v Enough unallocated storage for task initialization and termination. Task
initialization and termination can issue GETMAIN macro instructions for storage
in the user’s address space.
Two installation exits, IEFUSI and IEALIMIT, can also affect the size of the user
address space assigned to the job step.
References
For more information on address space size, see ″Resource Control of Address
Space″ in z/OS MVS JCL User’s Guide. For more information on region size with
checkpoint/restart jobs, see z/OS DFSMS Checkpoint/Restart.
Syntax
REGION[.procstepname]= {valueK}
{valueM}
Subparameter Definition
valueK
Specifies the required storage in kilobytes (1 kilobyte = 1024 bytes). The value
is 1 through 7 decimal numbers, from 1 through 2096128. Code a multiple of 4.
For example, code REGION=68K. If the value you code is not a multiple of 4,
the system will round it up to the next multiple of 4.
Note: Specifying a REGION size that gives the STEP all the available storage,
such as 0K or any value greater than 16,384K, can cause storage
problems if the IBM- or installation-supplied routine IEALIMIT or IEFUSI
is not used to establish a limiting value.
Note: Specifying a REGION size that gives the STEP all the available storage,
such as 0M or any value greater than 16M, can cause storage problems
if the IBM- or installation-supplied routine IEALIMIT or IEFUSI is not
used to establish a limiting value.
Defaults
If no REGION parameter is specified, the system uses an installation default
specified at JES initialization.
If your installation does not change the IBM-supplied default limits in the IEALIMIT
or IEFUSI exit routine modules, then specifying various values for the region size
have the following results:
v A value equal to 0K or 0M — gives the job step all the storage available below
and above 16 megabytes. The resulting size of the region below and above 16
megabytes depends on system options and what system software is installed.
v A value greater than 0K or 0M and less than or equal to 16,384K or 16M —
establishes the size of the private area below 16 megabytes. If the region size
specified is not available below 16 megabytes, the job step abnormally
terminates. The extended region size is the default value of 32 megabytes.
v A value greater than 16,384K or 16M and less than or equal to 32,768K or 32M
— gives the job step all the storage available below 16 megabytes. The resulting
size of the region below 16 megabytes depends on system options and what
system software is installed. The extended region size is the default value of 32
megabytes.
v A value greater than 32,768K or 32M and less than or equal to 2,096,128K or
2047M — gives the job step all the storage available below 16 megabytes. The
resulting size of the region below 16 megabytes depends on system options and
what system software is installed. The extended region size is the specified
value. If the region size specified is not available above 16 megabytes, the job
step abnormally terminates.
Overrides
A JOB statement REGION parameter applies to all steps of the job and overrides
any EXEC statement REGION parameters.
When no REGION parameter is on the JOB statement, the system uses an EXEC
statement REGION parameter, but only during the job step. Code EXEC statement
REGION parameters when you want to specify a different region size for each job
step.
Code a REGION parameter to specify how much central storage (also called real
storage) the step needs.
The system assigns 40K bytes of central (real) storage to this job step.
Example 2
//STP6 EXEC PGM=CONT,REGION=120K
The system assigns a region of 120K bytes. When the ADDRSPC parameter is not
specified, the system defaults to ADDRSPC=VIRT.
TIME Parameter
Parameter Type
Keyword, optional
Purpose
Use the TIME parameter to specify the maximum amount of time that a job step
may use the processor or to find out through messages how much processor time a
step used.
You can use the TIME parameter on an EXEC statement to increase or decrease
the amount of processor time available to a job step over the default value.
A step that exceeds its allotted time abnormally terminates and causes the job to
terminate, unless an installation exit routine extends the time for the job. The exit
routine IEFUTL is established through System Management Facilities (SMF).
References
See “TIME Parameter” on page 20-47 (the TIME parameter on the JOB statement)
or z/OS MVS Installation Exits.
Subparameter Definition
minutes
Specifies the maximum number of minutes the step can use the processor.
Minutes must be a number from 0 through 357912 (248.55 days).
seconds
Specifies the maximum number of seconds that the step can use the processor,
in addition to any minutes that are specified. Seconds must be a number from 0
through 59.
1440 or NOLIMIT
Indicates that the step can use the processor for an unlimited amount of time.
(″1440″ literally means ″24 hours.″)
Also code TIME=1440 or TIME=NOLIMIT to specify that the system is to allow
this step to remain in a continuous wait state for more than the installation time
limit, which is established through SMF.
MAXIMUM
Indicates that the step can use the processor for the maximum amount of time.
Coding TIME=MAXIMUM allows the step to run for 357912 minutes.
0 Indicates that the step is to use the time remaining from the previous step. If
the step exceeds the remaining time available, the step abnormally terminates.
Defaults
Each job step has a time limit. If you do not specify a TIME parameter on the JOB
statement, the time limit for any job step is:
v The value you specify for the TIME parameter on its EXEC statement, or
v The default time limit (that is, the JES default job step time limit), if you do not
specify a TIME parameter on its EXEC statement.
Overrides
If you specify either MAXIMUM or a value in minutes or seconds other than 1440
for the JOB statement TIME parameter, the system can reduce the processor time
available to a job step. In those two cases, the system sets the time limit for the
step to the smaller of the two following values:
v The job time remaining after all previous job steps have completed.
v The time limit that was specified or the default time limit.
Example 1
//STEP1 EXEC PGM=GRYS,TIME=(12,10)
This statement specifies that the maximum amount of time the step can use the
processor is 12 minutes, 10 seconds.
Example 2
//FOUR EXEC PGM=JPLUS,TIME=(,30)
This statement specifies that the maximum amount of time the step can use the
processor is 30 seconds.
Example 3
//INT EXEC PGM=CALC,TIME=5
This statement specifies that the maximum amount of time the step can use the
processor is 5 minutes.
Example 4
//LONG EXEC PGM=INVANL,TIME=NOLIMIT
This statement specifies that the step can have unlimited use of the processor.
Therefore, the step can use the processor and can remain in a wait state for an
unspecified period of time, if not restricted by the JOB statement TIME parameter.
Example 5
//STP4 EXEC PROC=BILLING,TIME.PAID=(45,30),TIME.BILL=(112,59)
Example 6
//STP6 EXEC PGM=TIMECARD,TIME=MAXIMUM
Example 7
//TEST1 JOB MSGLEVEL=(1,1)
//STEP1 EXEC PGM=USES40,TIME=(,50)
//STEP2 EXEC PGM=USESREST,TIME=0
STEP1 can use the processor for 50 seconds. If STEP1 actually uses the processor
for only 40 seconds, STEP2 can use the processor for 10 seconds, because that is
the time remaining from the previous step.
Example 8
//TEST1 JOB MSGLEVEL=(1,1),TIME=(,50)
//STEP1 EXEC PGM=USES15,TIME=(,25)
//STEP2 EXEC PGM=USES30,TIME=(,40)
//STEP3 EXEC PGM=USESREST,TIME=0
STEP1 can use the processor for 25 seconds. If STEP1 actually uses the processor
for only 15 seconds, the time limit for STEP2 is the smaller of the following values:
v The job time remaining (35 seconds)
v The time limit specified on the EXEC statement for STEP2 (40 seconds).
In this case, the job time remaining is the smaller value, so STEP2 can use the
processor for 35 seconds. If STEP2, then, actually uses the processor for only 30
seconds, STEP3 can use the processor for 5 seconds, because that is the time
remaining from the previous step.
Example 9
//TEST2 JOB MSGLEVEL=(1,1),TIME=8,CLASS=5
//STEP1 EXEC PGM=USES4
//STEP2 EXEC PGM=USESREST
Assume that the default time limit for class 5 is 5 minutes. The time limit for STEP1
is 5 minutes (the default). If STEP1 actually uses the processor for 4 minutes, the
time limit for STEP2 is the smaller of the following values:
v The job time remaining (4 minutes)
v The default time limit (5 minutes).
In this case, the job time remaining is the smaller value, so STEP2 can use the
processor for 4 minutes.
Purpose
Description
Syntax
//[name] IF [(]relational-expression[)] THEN [comments]
.
. action when relational-expression is true
.
//[name] ELSE [comments]
.
. action when relational-expression is false
.
//[name] ENDIF [comments]
The IF statement consists of the characters // in columns 1 and 2 and the five fields: name,
operation (IF), the relational-expression, the characters THEN, and comments. The
relational-expression can be enclosed in parentheses.
The ELSE statement consists of the characters // in columns 1 and 2 and the three fields:
name, operation (ELSE), and comments.
The ENDIF statement consists of the characters // in columns 1 and 2 and the three fields:
name, operation (ENDIF), and comments.
Name Field
A name is optional on IF/THEN, ELSE, and ENDIF statements. If used, code it as
follows:
v The name should be unique within the job.
v The name must begin in column 3.
Operation Field
The operation field consists of the characters IF, ELSE, or ENDIF and must be
preceded and followed by at least one blank. It can begin in any column.
Relational-Expression Field
The relational-expression field follows the IF operation field after at least one
intervening blank and is followed by at least one blank before the characters THEN.
For example, to test that a return code is greater than 4, code:
// IF RC > 4 THEN
A relational-expression indicates the condition that the system evaluates. The result
of the evaluation of the relational-expression always depends on two factors: the
operation specified, and the values of the operands or expressions that are
compared at execution time. The result of evaluating a relational-expression is
either true or false.
You can continue relational-expressions on the next JCL statement. Break the
relational-expression where a blank is valid on the current statement, and continue
the expression beginning in column 4 through 16 of the next statement. Do not put
comments on the statement that you are continuing. You can code comments after
you have completed the statement. For example:
//TESTCON IF (RC = 8 | RC = 10 | RC = 12 |
// RC = 14) THEN COMMENTS OK HERE
.
.
Priorities of Operators
The operators that you can use in a relational-expression and their processing
priority are shown in Figure 17-1 on page 17-3.
You can specify either the alphabetic characters or the special characters for an
operator. For example, GT and > have the same meaning. (RC GT 10) and (RC >
10) are the same.
Order of
Operator Operation Evaluation
-------- --------- ----------
NOT operator:
Comparison operators:
Logical operators:
Comparison Operators
Use comparison operators in a relational-expression to compare a keyword with a
numeric value. The comparison results in a true or false condition.
Blanks are not required to precede and follow special character comparison
operators (such as > or ¬=). However, it is good practice to use blanks so your
code is easier to read. Blanks are required to precede and follow alphabetic
comparison operators (such as GT or EQ). Precede and follow the special
character & with at least one blank so that it is not confused with symbolic
parameters.
Logical Operators
Use the & (AND) and | (OR) logical operators in a complex relational-expression to
indicate that the Boolean result of two or more relational-expressions is to be
evaluated.
You must precede and follow the & (AND) and | (OR) operators with at least one
blank.
The | (OR) operator specifies that only one of the expressions need be true. For
example, to test that a return code is either equal to 8, equal to 10, or greater than
24, code:
//TESTOR IF (RC = 8 | RC = 10 | RC > 24) THEN
NOT Operator
Use the ¬ (NOT) operator to reverse the testing of relational-expressions.
For example, the statements TESTNOTA and TESTNOTB make the same test. The
relational expression is true when the return code is between 0 and 8:
//TESTNOTA IF ¬(RC > 8) THEN
//TESTNOTB IF (RC <= 8) THEN
The statements TESTNOTC and TESTNOTD make the same test; the relational
expression is true when the return code is 0, 1, 2, 3, 4, 5, 6, 7, 9, or 10.
//TESTNOTC IF ¬(RC = 8 | RC > 10) THEN
//TESTNOTD IF (RC ¬= 8 & RC <= 10) THEN
Note that the use of the ¬ operator reverses both the logical and comparison
operators.
You do not need to code a blank between the ¬ operator and the expression it is
reversing.
Relational-Expression Keywords
The following keywords are the only keywords supported by IBM and recommended
for use in relational-expressions. Any other keywords, even if accepted by the
system, are not intended or supported keywords.
Keyword
Use
RC indicates a return code
ABEND
indicates an abend condition occurred
¬ABEND
indicates no abend condition occurred
ABENDCC
indicates a system or user completion code
RUN indicates that the specified step started execution
¬RUN indicates that the specified step did not start execution
You must always specify a step name when using the RUN relational-expression
keywords to determine if a step or procedure step executed. For more information
about step names in relational expression keywords, see z/OS MVS JCL User’s
Guide.
By keeping the same expressions but changing the position of the parentheses, you
can test that a return code is 0, 1, 2, 3 or 16:
//TESTPAR1 IF ((RC LT 4 & RC LT 12) | RC = 16) THEN
Comments Field
The comments field follows THEN, ELSE, and ENDIF after at least one intervening
blank.
Defaults
By default, job steps within the IF/THEN/ELSE/ENDIF statement construct do not
execute when
v An abend occurred, and
v the IF/THEN/ELSE/ENDIF structure containing the job steps does not specify the
ABEND, ABENDCC, or ¬ABEND keyword. If any of these keywords is specified
(with or without stepname or procstepname), the job steps do execute despite
the abend.
v The step’s COND parameter, if any, does not specify an abend condition
(COND=EVEN or COND=ONLY).
The system executes the following statements conditionally, in either the THEN
clause or the ELSE clause of an IF/THEN/ELSE/ENDIF statement construct.
Execution of the statement depends on the evaluation of the relational-expression
at execution time:
Nested IF/THEN/ELSE/ENDIF statement constructs
EXEC statements
DD (including DD * and DD DATA) statements
STEPCAT and STEPLIB DD statements
SYSABEND, SYSMDUMP, and SYSUDUMP DD statements
SYSCHK (step level) and SYSCKEOV DD statements
SYSIN DD statements
OUTPUT JCL statements
CNTL and ENDCNTL statements
The system processes the following statements regardless of the logic of the
IF/THEN/ELSE/ENDIF statement construct. They can be placed in a THEN or ELSE
clause, but they are not executed conditionally.
PROC and PEND statements
JES2 and JES3 statements and commands
JCL command statements
Comment (//*) statements
INCLUDE statements
Delimiter (/*) statements
Null statements
SET statements
There are additional considerations related to errors that prevent execution of the
THEN or ELSE clause, no matter what is specified on the IF statement, and there
are special considerations related to restarted jobs.
After certain types of abnormal termination by the system, remaining job steps are
not executed, regardless of any tests for abnormal termination conditions. The
completion codes associated with these types of abnormal termination are:
122 Operator canceled job
222 Operator or TSO/E user canceled job
You might encounter other system completion codes for which the THEN or ELSE
clause is not executed, regardless of any tests for abnormal termination conditions.
See z/OS MVS System Codes for further information about specific system
completion codes.
The system abnormally terminates processing if a step has exceeded the time limit
for the job. The specification of the IF/THEN/ELSE/ENDIF construct has no effect
on this type of abnormal termination.
If you plan to use either type of deferred restart, you should keep certain points in
mind when coding the JCL for the job. Planning ahead in this manner can help
prevent the need to update the JCL when the job is submitted for restart. The points
to consider are the following:
v Relational expressions on IF/THEN statements that refer to a step preceding the
restarted step are evaluated as false.
v Relational expressions on IF/THEN statements on steps following the restarted
step can still refer to these following steps, but should also check to see whether
the referenced steps actually ran during this invocation. The default value for
relational expressions on IF/THEN statements is false, which, unlike COND, will
cause the system to skip steps. Adding a ¬STEP.RUN condition is recommended.
See “Example 7” on page 17-13 for an example of a statement construct with a
deferred checkpoint restart.
Example 2
The following example shows a simple IF/THEN/ELSE/ENDIF statement construct
without an ELSE statement.
//JOBA JOB ...
//STEP1 EXEC PGM=RTN
.
.
//IFBAD IF (ABEND | STEP1.RC > 8) THEN
//TRUE EXEC PROC=ERROR
//IFBADEND ENDIF
//NEXTSTEP EXEC PROC=CONTINUE
Example 3
The following example shows a simple IF/THEN/ELSE/ENDIF statement construct
with a null ELSE clause.
//JOBB JOB ...
//STEP1 EXEC PGM=RTN
.
.
//IFBAD IF (ABEND | STEP1.RC > 8) THEN
//TRUE EXEC PROC=ERROR
// ELSE
//IFBADEND ENDIF
//NEXTSTEP EXEC PROC=CONTINUE
The IF statement named IFBAD invokes procedure ERROR if either an abend has
occurred on a previous step of the job, or STEP1 has returned a return code that is
greater than 8. Otherwise, the system bypasses step TRUE, and the null ELSE
clause passes to NEXTSTEP.
Example 4
The following example shows a simple IF/THEN/ELSE/ENDIF statement construct
with an ELSE clause.
//JOBC JOB ...
//STEP0 EXEC PGM=RTN1
.
.
//IFTEST2 IF (RC > 4 & RC < 8) THEN
//* *** WARNING CONDITION REPORTING GROUP ***
//STEP1 EXEC PGM=IEFBR14
//REPORT EXEC PROC=REPTRTN
//* *** WARNING CONDITION REPORTING GROUP END ***
// ELSE
//ERRORSTP EXEC PROC=ERRORTN
//ENDTEST2 ENDIF
//NEXTSTEP EXEC PROC=CONTINUE
Example 5
The following example shows nested IF/THEN/ELSE/ENDIF statement constructs
with ELSE clauses. The nested statements are indented so that they are easier to
read.
//JOBD JOB ...
//PROC1 PROC
//PSTEPONE EXEC PGM=...
//PSTEP11 EXEC PGM=...
Example 6
The following example shows two IF/THEN/ELSE/ENDIF statement constructs, one
of which is nested in the ELSE clause of the other. The nested statements are
indented so that they are easier to read.
//JOBE JOB ...
//PROC1 PROC
//PSTEPONE EXEC PGM=...
// PEND
//PROC2 PROC
//PSTEPTWO EXEC PGM=...
// PEND
//EXP1 EXEC PROC=PROC1
//EXP2 EXEC PROC=PROC2
//IFTEST4 IF (EXP1.PSTEPONE.RC > 4) THEN
//STEP1ERR EXEC PGM=PROG1
// ELSE
//IFTEST5 IF (EXP2.PSTEPTWO.ABENDCC=U0012) THEN
//STEP2ERR EXEC PGM=PROG2
// ELSE
//NOERR EXEC PGM=PROG3
//ENDTEST5 ENDIF
//ENDTEST4 ENDIF
//NEXTSTEP EXEC ...
Example 7
The following example shows an IF/THEN/ELSE/ENDIF statement construct with a
deferred checkpoint restart.
//DEFER1 JOB RESTART=(STEP2,CHECK004)
//STEP1 EXEC PGM=IEFBR14
//IF1 IF STEP1.RC=0 | ¬STEP1.RUN THEN
//STEP2 EXEC PGM=DEBIT1
//STEP3 EXEC PGM=CREDIT1
//STEP4 EXEC PGM=SUMMARY1
// ELSE
//STEP5 EXEC PGM=DEBIT2
//STEP6 EXEC PGM=CREDIT2
//STEP7 EXEC PGM=SUMMARY2
// ENDIF
Note: Without the ¬STEP.RUN condition, STEP2, STEP3, and STEP4 would not
execute and STEP5, STEP6, and STEP7 would execute.
Example 8
The following example shows an IF/THEN/ELSE/ENDIF statement construct with a
deferred step restart.
//DEFER2 JOB RESTART=(STEP3)
//STEP1 EXEC PGM=IEFBR14
//IF1 IF STEP1.RC=0 | ¬STEP1.RUN THEN
//STEP2 EXEC PGM=DEBIT1
//STEP3 EXEC PGM=CREDIT1
//STEP4 EXEC PGM=SUMMARY1
// ELSE
Note: Without the ¬STEP1.RUN condition, STEP3 and STEP4 would not run, and
STEP5, STEP6, and STEP7 would run.
Example 9
The following example specifies that if STEP1 does not abend, the system is to run
STEP2 and STEP3. Otherwise it is to run STEP4.
//JOBF JOB ...
//STEP1 EXEC PGM=...
//IFTEST6 IF ¬ABEND THEN
//STEP2 EXEC PGM=...
//STEP3 EXEC PGM=...
// ELSE
//STEP4 EXEC PGM=...
// ENDIF
Thus, if STEP1 does not abend, even if STEP2 does, STEP3 (and not STEP4) still
runs. If, however, STEP1 does abend, STEP4 is the next step to run, as prescribed
by the ELSE clause.
The INCLUDE group replaces the INCLUDE statement, and the system processes
the imbedded JCL statements as part of the JCL stream. The JCL statements,
which are subject to all JCL processing rules, must be complete statements; that is,
you cannot use an imbedded statement to continue the statement that precedes
INCLUDE.
Description
Syntax
The INCLUDE statement consists of the characters // in columns 1 and 2 and four fields:
name, operation (INCLUDE), keyword parameter (MEMBER), and comments.
Name Field
A name is optional on an INCLUDE statement. If used, code it as follows:
v The name should be unique within the job.
v The name must begin in column 3.
v The name is 1 through 8 alphanumeric or national ($, #, @) characters.
v The first character must be alphabetic or national ($, #, @).
v The name must be followed by at least one blank.
| v The name may be preceded by up to 8 alphanumeric or national characters, and
| then separated by a period. Coding the name in this way should not be confused
| with specifying an override, as can be done when coding DD statements.
Operation Field
The operation field consists of the characters INCLUDE and must be preceded and
followed by at least one blank. It can begin in any column.
Parameter Field
The INCLUDE statement contains one keyword parameter:
MEMBER=name
Specifies the name of a member of a PDS or partitioned data set extended
(PDSE) that contains the set of JCL statements (called an INCLUDE group) to
be imbedded in the JCL stream.
Comments Field
The comments field follows the parameter field after at least one intervening blank.
Do not define procedures in an INCLUDE group. However, you can put EXEC
statements that invoke procedures in an INCLUDE group.
You can use INCLUDE statements to imbed INCLUDE groups that contain DD and
OUTPUT JCL statements, which allows you to use the same data set definitions for
various jobs.
When the INCLUDE statement and the INCLUDE group contain symbolic
parameters, the system substitutes the values that are current at the time the
symbolic parameter is encountered. Values assigned to symbolic parameters in an
INCLUDE group (such as with the SET statement) are valid for use on subsequent
JCL statements.
The JCLLIB statement specifies that the system is to search private library
CAMPBELL.SYSOUT.JCL for the INCLUDE group SYSOUT2 before it searches any
system libraries.
After the system processes the INCLUDE statement, the JCL stream appears as:
//TESTJOB JOB ...
//LIBSRCH JCLLIB ORDER=CAMPBELL.SYSOUT.JCL
//STEP1 EXEC PGM=OUTRTN
//* THIS INCLUDE GROUP IS CATALOGED AS...
//* CAMPBELL.SYSOUT.JCL(SYSOUT2)
//SYSOUT2 DD SYSOUT=A
//OUT1 OUTPUT DEST=POK,COPIES=3
//OUT2 OUTPUT DEST=KINGSTON,COPIES=30
//OUT3 OUTPUT DEST=MCL,COPIES=10
//* END OF INCLUDE GROUP...
//* CAMPBELL.SYSOUT.JCL(SYSOUT2)
//STEP2 EXEC PGM=IEFBR14
The system imbeds the INCLUDE group in the JCL stream (replacing the INCLUDE
statement), and processes the included JCL statements with the JCL stream.
Example 2
The following example shows the use of the SET statement to assign values to
symbolic parameters in an INCLUDE group.
//* THIS INCLUDE GROUP IS CATALOGED AS...
//* LAMAN.SYSOUT.JCL(SYSOUT2)
//SYSOUT2 DD SYSOUT=A
//OUT1 OUTPUT DEST=POK,COPIES=3
//OUT2 OUTPUT DEST=&AA,COPIES=&NC
//OUT3 OUTPUT DEST=&BB,COPIES=10
//* END OF INCLUDE GROUP...
//* LAMAN.SYSOUT.JCL(SYSOUT2)
The SET statement, which is easy to change for different jobs, assigns values to
the symbolic parameters in INCLUDE group SYSOUT2.
The system imbeds the INCLUDE group in the JCL stream (replacing the INCLUDE
statement), and assigns the values to the symbolic parameters in the INCLUDE
group.
The JCLLIB statement allows you to code and use procedures and INCLUDE
groups in a private library without the need to use system procedure libraries.
In an APPC environment, see the information about scheduler JCL for TP profiles in
z/OS MVS Planning: APPC/MVS Management.
In a JES3 environment, the system on which the job is submitted and/or converted
must have access to any libraries named on the JCLLIB statement.
Description
Syntax
If only one library is listed in the search order, the parentheses are optional. For example:
//MYLIB JCLLIB ORDER=MY.PROC1
You can continue the list of libraries to the following statement by breaking the statement
after a comma in the list, and continuing the list on the next statement, beginning in any
column from 4 to 16. For example:
//MYLIB JCLLIB ORDER=(MY.PROC1,MY.PROC2,
// MY.PROC3)
You can continue a parameter enclosed in quotes by breaking the parameter in column 71
and continuing the parameter in column 16 of the next statement.
column 71
|
//MYLIB JCLLIB ORDER=(’MY.PROC1’,’MY.PROC2’,’MY.PROC3’,’MY.PROC4’,’MY
// .PROC5’)
|
column 16
Name Field
A name is optional on a JCLLIB statement. If used, code it as follows:
v The name must begin in column 3.
v The name is 1 through 8 alphanumeric or national ($, #, @) characters.
v The first character must be alphabetic or national ($, #, @).
v The name must be followed by at least one blank.
| v The name may be preceded by up to 8 aphanumeric or national characters, and
| then separated by a period. Coding the name in this way should not be confused
| with specifying an override, as can be done when coding DD statements.
Operation Field
The operation field consists of the characters JCLLIB and must be preceded and
followed by at least one blank. It can begin in any column.
Parameter Field
The JCLLIB statement contains one keyword parameter:
ORDER=(library[,library...])
Specifies the names of the libraries to be searched. The maximum number of
libraries that may be specified is 15. You can specify private libraries, system
procedure libraries, and installation-defined procedure libraries. The system
searches the libraries in the order in which you specify them, before it searches
any unspecified default system procedure libraries.
Do not specify a library that is a temporary data set (&&dsname), partitioned
data set if a member name is included, or relative generation number for a
GDG.
The system and private libraries that you specify on the JCLLIB statement can
contain both procedures and INCLUDE groups.
The private libraries that you specify on the JCLLIB statement must comply with the
following rules:
v The private library must be cataloged. However, the library cannot be cataloged
in a catalog specified via a JOBCAT or STEPCAT DD statement.
v The private library must be accessible to the job. The library must be
permanently resident and online.
v The JCLLIB data set cannot be a password-protected data set.
v The job must have read access to any system or private libraries specified on
JCLLIB.
v The private library must have the same data set attributes as a system library,
which are:
– Logical record length of 80 bytes (LRECL=80)
– Fixed length records (RECFM=F or RECFM=FB). If the JCLLIB data set is a
PDSE, the record format can only be RECFM=FB.
– When multiple libraries are specified on the JCLLIB statement, these libraries
will be concatenated.
Example 1
//MYJOB1 JOB ...
//MYLIBS1 JCLLIB ORDER=CAMPBEL.PROCS.JCL
//S1 EXEC PROC=MYPROC1
.
.
The system searches the libraries for procedure MYPROC1 in the following order:
1. CAMPBEL.PROCS.JCL
2. SYS1.PROCLIB
Example 2
The system searches the libraries for procedure MYPROC2 and INCLUDE group
MYINC2 in the following order:
1. CAMPBEL.PROCS.JCL
2. PUCHKOF.PROCS.JCL
3. YUILL.PROCS.JCL
4. GARY.PROCS.JCL
5. SYS1.PROCLIB
Example 3
The system searches the libraries for procedure MYPROC3 in the following order:
1. SYS1.PROCLIB
2. CAMPBEL.PROCS.JCL
3. SYS1.PROCLIB (the system default procedure library is searched again)
Use the JOB statement to mark the beginning of a job and to tell the system how to
process the job. Also, when jobs are stacked in the input stream, the JOB
statement marks the end of the preceding job.
Note: The JOB statement can be specified in source JCL for started tasks. For
more information, refer to Chapter 7, “Started Tasks” on page 7-1.
The parameters you can specify for job processing are arranged alphabetically in
the following pages.
References
For information about the JES initialization parameters that provide installation
defaults, see z/OS JES2 Initialization and Tuning Reference and z/OS JES3
Initialization and Tuning Reference.
Description
Syntax
//jobname JOB positional-parameters[,keyword-parameter]... [comments]
//jobname JOB
The JOB statement consists of the characters // in columns 1 and 2 and four fields: name,
operation (JOB), parameter, and comments. Do not code comments if the parameter field is
blank.
Name Field
Code a jobname on every JOB statement, as follows:
v Each jobname must be unique.
v The jobname must begin in column 3.
v The jobname is 1 through 8 alphanumeric or national ($, #, @) characters. If your
system uses ANSI tapes, the jobname must contain only alphanumeric
characters; it must not contain national ($, #, @) characters.
v The first character must be alphabetic or national ($, #, @).
v The jobname must be followed by at least one blank.
v For the job types TSO logon and batch processing, the jobname must be unique,
otherwise:
– For TSO logon, duplicate jobnames fail. For example, if IBMUSER is logged
on, another attempt to logon as IBMUSER will fail.
– For batch processing, duplicate jobnames are delayed. For example, if job
BATCH01 is executing, then another job named BATCH01 will be delayed
until the original job has completed.
Parameter Field
A JOB statement has two kinds of parameters: positional and keyword. All
parameters are optional; however, your installation may require the accounting
information parameter and the programmer’s name parameter.
Note: The following parameters are not supported on the JOB statement for a
started task:
v CLASS *
v GROUP
v PASSWORD
v RD *
v RESTART
v SCHENV
v SECLABEL
v TYPRUN
v USER
An asterisk indicates that the parameter will be ignored. The other parameters listed
result in a JCL error and job failure.
If JES detects an error in any parameter on the JOB statement, the error causes a
JCL error and a job failure; the system flushes all subsequent JCL statements,
including any SYSOUT-specific DD statements directing output to any other class or
destination.
Positional Parameters
A JOB statement can contain two positional parameters. They must precede all
keyword parameters. You must code the accounting parameter first, followed by the
programmer’s name parameter.
Keyword Parameters
A JOB statement can contain the following keyword parameters. You can code any
of the keyword parameters in any order in the parameter field after the positional
parameters.
messages:
0 Only JCL messages
1 JCL, JES, and operator
messages
Comments Field
The comments field follows the parameter field after at least one intervening blank.
If you do not code any parameters on a JOB statement, do not code any
comments.
Purpose
References
For more information on how to add accounting routines, see z/OS MVS System
Management Facilities (SMF).
Syntax
([account-number][,accounting-information]...)
Location: Code the accounting information parameter first in the parameter field.
Omission: If you omit the accounting information parameter but you are coding a
programmer’s name parameter, code a comma to indicate the omitted parameter. If you
omit both positional parameters, do not code any commas before the first keyword
parameter.
Length: The entire accounting information parameter must not exceed 143 characters:
v Including any commas, which are considered part of the information.
v Excluding any enclosing parentheses, which are not considered part of the information.
Subparameter Definition
account-number
Specifies an accounting number, as defined by the installation.
accounting-information
Specifies more information, as defined by the installation. For example, your
department and room numbers.
References
For a discussion of the JES2 scan of the accounting information parameter, see
z/OS JES2 Initialization and Tuning Guide.
Syntax
(pano,room,time,lines,cards,forms,copies,log,linect)
Code a comma in place of each omitted subparameter when other subparameters follow.
Subparameter Definition
pano
Specifies the programmer’s accounting number. pano is 1 through 4
alphanumeric characters.
room
Specifies the programmer’s room number. room is 1 through 4 alphanumeric
characters.
time
Specifies the estimated execution time in minutes. time is 1 through 4 decimal
numbers. For example, code 30 for 30 minutes. If you omit a time
subparameter and a TIME parameter on the JES2 /*JOBPARM statement,
JES2 uses an installation default specified at initialization. If job execution
exceeds the time, JES2 sends a message to the operator.
lines
Specifies the estimated line count, in thousands of lines, from this job’s sysout
data sets. lines is 1 through 4 decimal numbers. For example, code 5 for 5000
lines. If you omit lines, JES2 uses an installation default specified at
initialization.
cards
Specifies the estimated number of cards JES2 is to punch from this job’s sysout
data sets. cards is 1 through 4 decimal numbers. If you omit cards, JES2 uses
an installation default specified at initialization.
forms
Specifies the forms that JES2 is to use for printing this job’s sysout data sets.
forms is 1 through 4 alphanumeric characters. For example, code 5 for 5-part
forms. If you omit forms, JES2 uses an installation default specified at
initialization.
copies
Specifies the number of times JES2 is to print and/or punch this job’s sysout
data sets. copies is 1 through 3 decimal numbers not exceeding an
installation-specified limit. The maximum is 255. For example, code 2 for two
copies. If you omit copies, JES2 assumes one copy.
Invalid Subparameters
Your installation can initialize JES2 to do one of the following if the accounting
information contains subparameters that are invalid to JES2:
v Ignore the invalid subparameters.
v Terminate the job. In this case, JES2 requires the first two subparameters: pano
and room.
Overrides
Example 2
//JOB44 JOB (D548-8686,’12/8/85’,PGMBIN)
Example 3
//JOB45 JOB (CFH1,2G14,15,,,,2)
ADDRSPC Parameter
Parameter Type
Keyword, optional
Purpose
Use the ADDRSPC parameter to indicate to the system that the job requires virtual
storage (which is pageable) or central storage (also called real storage, which is
nonpageable).
Syntax
ADDRSPC= {VIRT}
{REAL}
Subparameter Definition
VIRT
Requests virtual storage. The system can page the job.
REAL
Requests central storage (also called real storage). The system cannot page
the job and must place each step of the job in central storage.
Defaults
If no ADDRSPC parameter is specified, the default is VIRT.
Overrides
The JOB statement ADDRSPC parameter applies to all steps of the job and
overrides any EXEC statement ADDRSPC parameters.
Code EXEC statement ADDRSPC parameters when each job step requires different
types of storage. The system uses an EXEC statement ADDRSPC parameter only
when no ADDRSPC parameter is on the JOB statement and only during the job
step.
Code a REGION parameter to specify how much central storage (also called real
storage) the job needs. If you omit the REGION parameter, the system uses an
installation default specified at JES initialization.
Code a REGION parameter to specify how much virtual storage the job needs. If
you omit the REGION parameter, the system uses an installation default specified
at JES initialization.
The ADDRSPC parameter requests virtual (pageable) storage. The space available
to the job is the installation-specified default.
Example 2
//DEB JOB ,ERIC,ADDRSPC=REAL,REGION=100K
BYTES Parameter
Parameter Type
Keyword, optional
Purpose
Syntax
BYTES={nnnnnn }
{([nnnnnn][,CANCEL]) }
{([nnnnnn][,DUMP]) }
{([nnnnnn][,WARNING])}
Subparameter Definition
nnnnnn
Indicates the maximum amount of output to be printed for this job, in thousands
of bytes. An nnnnnn value of 500 represents 500,000 bytes. The value for
nnnnnn is 0 through 999999.
In a JES2 system, a value of 0 for nnnnnn will produce an amount of output
that is based on the record blocking factor. When the system recognizes that
the 0 value has been exceeded, one of the following will get control:
v The CANCEL, DUMP, or WARNING option (if coded)
v The installation exit.
In a JES3 system, a value of 0 for nnnnnn will cause JES3 to use the system
default defined at initialization.
Defaults
If you do not code the BYTES parameter, the system uses the installation-defined
default value.
If you do not code CANCEL, DUMP, or WARNING, the system uses the
installation-defined default option.
Overrides
Specifying BYTES on the JOB statement overrides BYTES on the JES2
/*JOBPARM statement, the JES3 //*MAIN statement, and the installation-defined
default.
If the job’s output exceeds the limits defined by any of the parameters above, the
system might cancel the job. When coding BYTES, determine whether the values
coded on these related parameters are sufficient to produce the output you require.
In this example, the job JOB1 will be cancelled when its output exceeds 500
thousand bytes. The system will not produce a storage dump.
Example 2
In this example, when the output for JOB2 exceeds 40 thousand bytes, the
installation default determines whether the job is
v Cancelled, and a dump is requested
v Cancelled, and no dump is requested
v Allowed to continue, with a warning message issued to the operator.
CARDS Parameter
Parameter Type
Keyword, optional
Purpose
Syntax
CARDS={nnnnnnnn }
{([nnnnnnnn][,CANCEL]) }
{([nnnnnnnn][,DUMP]) }
{([nnnnnnnn][,WARNING])}
Subparameter Definition
nnnnnnnn
Indicates the maximum number of sysout output cards to be punched for this
job. For JES2 systems, nnnnnnnn is a value from 0 to 99999999. For JES3
systems, nnnnnnnn is a value from 0 through 6500000. If you specify a value
greater than 6500000 in a JES3 system, it will be treated as 6500000.
In a JES2 system, a value of 0 for nnnnnnnn will produce an amount of output
that is based on the record blocking factor. When the system recognizes that
the 0 value has been exceeded, one of the following will get control:
v The CANCEL, DUMP, or WARNING option (if coded)
v The installation exit.
Defaults
If you do not code the CARDS parameter, the system uses the installation-defined
default value.
If you do not code CANCEL, DUMP, or WARNING, the system uses the
installation-defined default option.
Overrides
Specifying CARDS on the JOB statement overrides CARDS on the JES2
/*JOBPARM statement, the JES3 //*MAIN statement, the JES2 accounting
subparameter for cards on the JOB statement, and the installation-defined default.
If the job’s output exceeds the limits defined by any of the parameters above, the
system might cancel the job. When coding CARDS, determine whether the values
coded on these related parameters are sufficient to produce the output you require.
In this example, the job JOB1 will be cancelled when its output exceeds 500 cards.
The system will not produce a storage dump.
Example 2
//JOB2 JOB (123456),’R F B’,CARDS=4000
In this example, when the output for JOB2 exceeds 4000 cards of output, the
installation default determines whether the job is
v Cancelled, and a dump is requested
v Cancelled, and no dump is requested
v Allowed to continue, with a warning message issued to the operator.
CCSID Parameter
Parameter Type
Keyword, optional
Purpose
When CCSID is not specified at the JOB, EXEC, or DD levels, data passed to
BSAM and QSAM is converted to 7-bit ASCII when writing to ISO/ANSI Version 4
tapes. This may result in data loss on conversion. On READ operations the CCSID
(if recorded) on the tape header label is used for conversion.
The CCSID is recorded in the tape header label if conversion is not defaulted.
Syntax
CCSID= nnnnn
Subparameter Definition
nnnnn
The CCSID as a decimal number from 1 through 65535.
Default
500.
Overrides
The CCSID parameter specified on the JOB statement can be overridden by
specifying the CCSID parameter on the EXEC statement.
* DDNAME QNAME
BURST DYNAM SYSOUT
CHARS FCB TERM
CLASS Parameter
Parameter Type
Keyword, optional
Purpose
Use the CLASS parameter to assign the job to a class. The class you should
request depends on the characteristics of the job and your installation’s rules for
assigning classes.
Note: The CLASS parameter is ignored for a started task in a JES2 environment.
For a started task in a JES3 environment all class related attributes and
functions are ignored except device fencing, SPOOL partitioning, and track
group allocation. Refer to the z/OS JES3 Initialization and Tuning Guide for
more information about class attributes and functions.
In a JES2 system, the assigned job class can affect whether or how a job is
executed. A job class can be defined during JES2 initialization as:
v Held. The system holds any job assigned to this class until the operator releases
it.
v To be copied only. The system copies the input stream for the job directly to a
sysout data set and schedules the sysout data set for output processing. The
system does not execute the job or allocate devices.
v To be scanned for job control statement syntax errors. The system does not
execute the job or allocate devices.
In a JES2 system, there are a number of factors that determine the order in which a
particular job is selected for execution. Therefore, you cannot be assured that job
priority (based on the PRTY you assign a job), job class, or the order of job
submission will guarantee that the jobs will execute in a particular order. If you need
to submit jobs in a specific order, contact your JES2 system programmer for advice
based on how your system honors such requests. (z/OS JES2 Initialization and
Tuning Guide provides JES2 system programmer procedures concerning job
queuing and how to control job execution sequence.)
Subparameter Definition
jobclass
Identifies the class for the job. The jobclass is one character, A through Z or 0
through 9, and must be a valid class specified at JES initialization.
Defaults
If you do not specify the CLASS keyword, JES uses the installation default specified
at initialization, as follows:
v In a JES2 system, the default is based on the source of the job: The system
makes the job’s class the same as the installation-specified default class for the
particular card reader, work station, or time-sharing user that submitted the job.
v In a JES3 system, the default is an installation-defined standard default class.
Overrides
A JES3 //*MAIN statement CLASS parameter overrides a JOB statement CLASS
parameter.
COND Parameter
Parameter Type
Keyword, optional
Purpose
Use the COND parameter to specify the return code tests the system uses to
determine whether a job will continue processing. Before and after each job step is
executed, the system performs the COND parameter tests against the return codes
from completed job steps. If none of these tests is satisfied, the system executes
the job step; if any test is satisfied, the system bypasses all remaining job steps
and terminates the job.
The tests are made against return codes from the current execution of the job. A
step bypassed because of an EXEC statement COND parameter does not produce
a return code.
Note that a test showing that a return code from a step is zero is not sufficient to
verify that the step did not fail; the system may fail a step (or job) even if the return
code is zero. This could happen, for example, as a result of specifying CATLG_ERR
FAILJOB(YES) and incurring that type of ″post execution error.″ (The return code is
generated by the application program and is never changed by the operating
system.) You can determine that a step failed due to a ″post execution error″ if bit
SMF30SYE in the two-byte SMF30STI field in the SMF30 subtype 4 record is on.
Note: In both JES2 and JES3 systems, a JOB COND parameter determines if
steps are executed or bypassed. However, JES3 processes all jobs as
though each step will execute; therefore, JES3 allocates devices for steps
that are bypassed.
Syntax
COND=(code,operator)
COND=((code,operator)[,(code,operator)]...)
Subparameter Definition
code
Specifies a number that the system compares to the return code from each job
step. code is a decimal number from 0 through 4095.
Note: Specifying a decimal number greater than 4095 could result in invalid
return code testing or invalid return codes in messages.
operator
Specifies the type of comparison to be made to the return code. If the specified
test is true, the system bypasses all remaining job steps. Use the chart on this
page to select the correct operator. Operators and their meanings are:
Operator Meaning
GT Greater than
GE Greater than or equal to
EQ Equal to
LT Less than
LE Less than or equal to
NE Not equal to
If the tests on the JOB statement are not satisfied, the system then performs the
return code tests on the EXEC statement. If an EXEC return code test is satisfied,
the step is bypassed.
The COND parameter specifies that if 7 is less than the return code, the system
terminates the job. Any return code less than or equal to 7 allows the job to
continue.
Example 2
//TEST JOB 501,BAXTER,COND=((20,GE),(30,LT))
The COND parameter specifies that if 20 is greater than or equal to the return code
or if 30 is less than the return code, the system terminates the job. Any code of 21
through 30 allows the job to continue.
GROUP Parameter
Parameter Type
Keyword, optional
Note: Do not specify this parameter for a started task; if GROUP is specified, the
job will fail.
Purpose
If the installation contains the feature for propagation of the user and group
identification, the USER and PASSWORD parameters are required, and the
GROUP parameter is optional on JOB statements only for the following:
v Batch jobs submitted through an input stream, such as a card reader, if:
– the job requires access to RACF-protected resources, or
– the installation requires that all jobs have RACF identification.
v Jobs submitted by one RACF-defined user for another user. In this case, the JOB
statement must specify the other user’s userid and may need a password. The
group id is optional.
v Jobs that execute at another network node that uses RACF protection.
Otherwise, the USER, PASSWORD, and GROUP parameters can be omitted from
JOB statements. RACF uses the userid, password, and default group id of the
submitting TSO/E user or job.
References
For more information on RACF-protected facilities, see the z/OS Security Server
RACF Security Administrator’s Guide.
Syntax
GROUP=group-name
Subparameter Definition
group-name
Identifies the group with which the system is to associate the user. group-name
is 1 through 8 alphanumeric or national ($, #, @) characters. The first character
must be alphabetic or national ($, #, @).
Defaults
If you do not code the GROUP parameter, but do code the USER and PASSWORD
parameters, the system assigns the RACF default group name associated with the
specified userid. However, the default group name is not passed to JES and thus is
not available to JES installation exits.
This statement requests that the system connect RACF-defined user MYNAME to
the group named MYGROUP for the duration of the job.
| JESLOG Parameter
| Parameter Type
| Keyword, optional
| Purpose
| Use the JESLOG parameter to indicate whether the JESLOG data set should be
| spin-eligible and if it should be automatically spun at a particular time or time
| interval. JESLOG has meaning when the subsystem is a version of JES2 or JES3
| that supports this function.
| Syntax
|
| JESLOG= {SPIN}
| {NOSPIN}
| {SUPPRESS}
|
|
|
| Subparameter Definition
| SPIN
| JESLOG is spin-eligible. There is an optional second operand.
| JESLOG=(SPIN,hh:mm)
| JESLOG will be spun at time hh:mm each 24 hour period. “hh” is hours and
| has a range of 00 through 23. “mm” is minutes and has a range of 00
| through 59.
| JESLOG=(SPIN,+hh:mm)
| JESLOG will be spun every hh:mm time interval. “hh” is hours and has a
| range of 00 through 23. “mm” is minutes and has a range of 00 through 59.
| The minimum interval which can be specified is 10 minutes. Note that “hh”
| must be specified even if zero. For example, JESLOG=(SPIN,0:20)
| JESLOG=(SPIN,nnn)
| JESLOG=(SPIN,nnnK)
| JESLOG=(SPIN,nnnM)
| JESLOG will be spun when either data set has “n” lines. A minimum of 500
| lines must be specified. “K” is thousands and “M” is millions.
| NOSPIN
| JESLOG will not be spun.
| SUPPRESS
| JESLOG will be suppressed.
| Defaults
| If no JESLOG parameter is specified, the default is NOSPIN.
| The JESLOG parameter requests that JESLOG be spun every 90,000 lines.
LINES Parameter
Parameter Type
Keyword, optional
Purpose
Syntax
LINES={nnnnnn }
{([nnnnnn][,CANCEL]) }
{([nnnnnn][,DUMP]) }
{([nnnnnn][,WARNING])}
Subparameter Definition
nnnnnn
Indicates the maximum amount of output to be printed for this job, in thousands
of lines. An nnnnnn value of 500 represents 500,000 lines. The value for
nnnnnn is 0 through 999999.
In a JES2 system, a value of 0 for nnnnnn will produce an amount of output
that is based on the record blocking factor. When the system recognizes that
the 0 value has been exceeded, one of the following will get control:
v The CANCEL, DUMP, or WARNING option (if coded)
v The installation exit.
If you do not code CANCEL, DUMP, or WARNING, the system uses the
installation-defined default option.
Overrides
Specifying LINES on the JOB statement overrides LINES on the JES2 /*JOBPARM
statement, the JES3 //*MAIN statement, the JES2 accounting subparameter for
lines on the JOB statement, and the installation-defined default.
If the job’s output exceeds the limits defined by any of the parameters above, the
system might cancel the job. When coding LINES, determine whether the values
coded on these related parameters are sufficient to produce the output you require.
In this example, the job JOB1 will be cancelled when its output exceeds 500
thousand lines. The system will not produce a storage dump.
Example 2
//JOB2 JOB (123456),’R F B’,LINES=40
In this example, when the output for JOB2 exceeds 40 thousand lines, the
installation default determines whether the job is
v Cancelled, and a dump is requested
v Cancelled, and no dump is requested
v Allowed to continue, with a warning message issued to the operator.
MEMLIMIT Parameter
Parameter Type
Keyword, optional
Purpose
Use the MEMLIMIT parameter to specify the limit on the total number of usable
virtual pages above the bar for a single address space.
Syntax
MEMLIMIT={nnnnnM}
{nnnnnG}
{nnnnnT}
{nnnnnP}
{NOLIMIT}
Subparameter Definition
nnnnnM
nnnnnG
nnnnnT
nnnnnP
Specifies a value to be used as the limit on the total number of usable virtual
pages above the bar in a single address space. The value may be expressed in
megabytes (M), gigabytes (G), terabytes (T), or petabytes (P). nnnnn may be a
value from 0 to 99999.
NOLIMIT
Specifies that there is no limit on the virtual pages to be used above the bar.
Defaults
If no MEMLIMIT parameter is specified, the default is the value defined to SMF,
except when REGION=0K/0M is specified, in which case the default is NOLIMIT.
Overrides
Specifying MEMLIMIT on the JOB statement overrides MEMLIMIT on the EXEC
statement.
If MEMLIMIT is not specified, SMF provides a default value. The IEFUSI installation
exit can override any JCL- or SMF-supplied value.
This statement specifies that the job is limited to the use of 10000 megabytes of
usable virtual pages above the bar.
MSGCLASS Parameter
Parameter Type
Keyword, optional
Purpose
Use the MSGCLASS parameter to assign the job log to an output class. The job log
is a record of job-related information for the programmer. Depending on the JOB
statement MSGLEVEL parameter, the job log can consist of:
v Only the JOB statement.
v All job control statements.
v In-stream and cataloged procedure statements.
v Job control statement messages.
v JES and operator messages about the job.
Note: In a JES3 environment, a job can complete processing before all of its
messages have been written to the job log. When this occurs, the job’s
output is incomplete. For this reason, do not use the contents of the job log
as an automation or as a programming interface.
Syntax
MSGCLASS=class
Subparameter Definition
class
Identifies the output class for the job log. The class is one character, A through
Z or 0 through 9, and must be a valid output class specified at JES initialization.
NJE Note: If you specify an output class that is a held class in an NJE
environment, the system does not hold the data set until it reaches its ultimate
destination node.
Defaults
The default is based on the source of the job: The system places the job log in the
same output class as the installation-specified default class for the particular card
reader, work station, or time-sharing user that submitted the job. The installation
default is specified at JES initialization.
In this example, the JOB statement specifies output class F for the job log.
Example 2
//EXMP2 JOB ,MENTLE,MSGLEVEL=(2,0)
This JOB statement does not specify an output class. In this case, the output class
defaults to the installation default output class for the device from which the job was
submitted.
Example 3
//A1403 JOB ,BLACK,MSGCLASS=L
//STEP1 EXEC PGM=PRINT
//OUTDD1 DD SYSOUT=L
In this example, the JOB statement and sysout DD statement OUTDD1 both specify
the same output class. Consequently, the job log and data set OUTDD1 are written
on the same output listing.
Example 4
//B209 JOB ,WHITE,MSGCLASS=M
//STEPA EXEC PGM=PRINT
//OUTDDX DD SYSOUT=*
In this example, the JOB statement specifies that the system route the job log to
output class M. The system also routes sysout data set OUTDDX to class M
because SYSOUT=* is specified.
MSGLEVEL Parameter
Parameter Type
Keyword, optional
Purpose
Use the MSGLEVEL parameter to control the listing of the JCL output for the job.
You can request that the system print the following:
v The JOB statement and all comments and JECL statements up to the first EXEC
statement.
v All job control statements in the input stream, that is, all JCL statements and
JES2 or JES3 statements.
Syntax
MSGLEVEL=([statements][,messages])
You can omit the parentheses if you code only the first subparameter.
Subparameter Definition
The JCL output for a batch job or any piece of work handled by JES2 or JES3 is a
collection of three data sets. These three data sets (in the order they appear in the
output) are:
JES JOB LOG (JESMSG)
STATEMENT IMAGES (JESJCL)
SYSTEM MESSAGES (SYSMSG)
statements
Indicates which job control statements the system is to print in the statement
images portion of the JCL output. This subparameter is one of the following
numbers:
0 The system prints the JOB statement and all comments and JECL
statements up to the first EXEC statement.
1 The system prints all JCL statements, JES2 or JES3 control
statements, the procedure statements, and IEF653I messages, which
give the values assigned to symbolic parameters in the procedure
statements.
2 The system prints only JCL statements and JES2 or JES3 control
statements.
messages
Indicates which messages the system is to print in the system messages
portion of the JCL output. This subparameter is one of the following numbers:
0 The system prints only JCL messages. It prints JES and operator
messages only if the job abnormally terminates, and prints SMS
messages only if SMS fails the job.
1 The system prints JCL, JES, operator, and SMS messages.
Defaults
If you do not code the MSGLEVEL parameter, JES uses an installation default
specified at initialization.
In this example, the JOB statement requests that the system print JCL statements,
JCL messages, JES and operator messages, and SMS messages.
Example 2
//EXMP4 JOB ,MENTLE,MSGLEVEL=0
In this example, the JOB statement requests that the system print the JOB
statement and any comments and JECL statements up to the first EXEC statement;
and, that JES is to use the installation default for messages.
Example 3
//EXMP5 JOB ,MIKE,MSGLEVEL=(,0)
In this example, the JOB statement requests that JES use the installation default for
printing JCL statements and the system is not to print JES and operator messages
unless the job abnormally terminates. SMS messages are printed only if SMS fails
the job.
NOTIFY Parameter
Parameter Type
Keyword, optional
Purpose
Use the NOTIFY parameter to request that the system send a message to a user
when this background job completes processing.
Syntax
|
| The NOTIFY parameter for both JES2 and JES3 is the following:
|
| NOTIFY={nodename.userid}
| {userid }
|
If you are logged on to the member of the JES2 multi-access spool from which you
submitted the job, the system immediately notifies you when the job completes. If
you are not logged on, the system saves the message until you log on to the
member from which you originally submitted the job.
In a JES3 System
If you are logged on, the system immediately notifies you at the system you are
logged onto when the job completes. If you are not logged on, the system saves
the message until you log on to the system from which you originally submitted the
job.
If you want to receive notification at a system of your choice, specify the system
you want to be notified at on the ACMAIN parameter.
If a job is submitted by another job, the ACMAIN parameter specified for the first job
is propagated to the second job.
If a //*ROUTE or XMIT JCL statement follows the JOB statement, you may not be
notified when the transmitted job completes.
When the job SIGN completes processing, the system sends a message to user
VMUSERID on node VMNODE.
//SIGN JOB ,TKLOMP,NOTIFY=MVSUSER
PAGES Parameter
Parameter Type
Keyword, optional
Purpose
Syntax
PAGES={nnnnnnnn }
{([nnnnnnnn][,CANCEL]) }
{([nnnnnnnn][,DUMP]) }
{([nnnnnnnn][,WARNING])}
Subparameter Definition
nnnnnnnn
Indicates the maximum amount of output, in pages, to be printed for this job.
The value for nnnnnnnn is 0 through 99999999.
In a JES2 system, a value of 0 for nnnnnnnn will produce an amount of output
that is based on the record blocking factor. When the system recognizes that
the 0 value has been exceeded, one of the following will get control:
v The CANCEL, DUMP, or WARNING option (if coded)
v The installation exit.
If you do not code CANCEL, DUMP, or WARNING, the system uses the
installation-defined default option.
Overrides
Specifying PAGES on the JOB statement overrides PAGES on the JES2
/*JOBPARM statement, the JES3 //*MAIN statement, and the installation-defined
default.
If the job’s output exceeds the limits defined by any of the parameters above, the
system might cancel the job. When coding PAGES, determine whether the values
coded on these related parameters are sufficient to produce the output you require.
In this example, the job JOB1 will be cancelled when its output exceeds 500 pages.
Example 2
//JOB2 JOB (123456),’R F B’,PAGES=40
In this example, when the output for JOB2 exceeds 40 pages, the installation
default determines whether the job is
v Cancelled, and a dump is requested
v Cancelled, and no dump is requested
v Allowed to continue, with a warning message issued to the operator.
PASSWORD Parameter
Parameter Type
Keyword, optional
Purpose
If the installation contains the installation exit routine used to verify the password, a
new password specified in the PASSWORD parameter takes effect when the job is
read in. The new password takes effect even if the job is held for execution later
and may take effect even if the job fails because of JCL errors. When changing the
password, other jobs that use the new or old password may fail, depending on
when their passwords are verified.
If the installation contains the feature for propagation of the user and group
identification, the USER and the PASSWORD parameters are required, and the
GROUP parameter is optional on JOB statements only for the following:
v Batch jobs submitted through an input stream, such as a card reader, (1) if the
job requires access to RACF-protected resources or (2) if the installation requires
that all jobs have RACF identification.
v Jobs submitted by one RACF-defined user for another user. In this case, the JOB
statement must specify the other user’s userid and may need a password. The
group id is optional.
v Jobs that execute at another network node that uses RACF protection.
Otherwise, the USER, PASSWORD, and GROUP parameters can be omitted from
JOB statements. RACF uses the userid, password, and default group id of the
submitting TSO/E user or job.
References
For more information on using RACF-protected facilities, see the z/OS Security
Server RACF Security Administrator’s Guide.
Syntax
PASSWORD=(password[,new-password])
You can omit the parentheses if you code only the first subparameter.
Subparameter Definition
password
Specifies the user’s current RACF password. The password is 1 through 8
alphanumeric or national ($, #, @) characters.
Note: The system suppresses the value you code for new-password from the
JESJCL and JESJCLIN data sets.
This JOB statement identifies ABCDE as the current password for the RACF user.
Example 2
//TEST2 JOB ’D83,123456’,PASSWORD=(BCH,A12),USER=RAC1,GROUP=GRP1
This JOB statement requests that the system change the RACF password from
BCH to A12.
PERFORM Parameter
Parameter Type
Keyword, optional
Purpose
In WLM goal mode, the PERFORM parameter on the JOB statement can be used
to classify jobs and started procedures to a service class and/or report class. This
classification method is provided to reduce the need to modify existing JCL when
migrating to goal mode. Note that PERFORM on the EXEC statement is ignored in
goal mode for jobs and started procedures.
For details on how to use the WLM application for managing a service definition
and service policies, see z/OS MVS Planning: Workload Management.
Subparameter Definition
n In WLM compatibility mode, requests a performance group. The n is a number
from 1 through 999 and must identify a performance group that has been
defined by your installation. The specified performance group should be
appropriate for your job type according to your installation’s rules.
In WLM goal mode, n can be used to classify the job or started task to a
service class and/or report class.
Defaults
In compatibility mode, if no PERFORM parameter is specified or if the specified
PERFORM number fails validity checks, the system uses an installation default
specified at initialization. If the installation did not specify a default, the system uses
a built-in default:
Default Use
1 For non-TSO/E job steps
2 For TSO/E sessions
Overrides
A JOB statement PERFORM parameter applies to all steps of the job and overrides
any EXEC statement PERFORM parameters.
Code EXEC statement PERFORM parameters when each job step executes in a
different performance group. The system uses an EXEC statement PERFORM
parameter only when no PERFORM parameter is on the JOB statement and only
during the job step.
In this example, CLASS=D determines the class in which the system will execute
the job. Once in the system, the job will run in performance group 25. The
installation must have defined the significance of this performance group.
In this example, the job will be associated with service class PBATCH because the
PERFORM value is specified as 26, and the PERFORM value of 26 is defined to
workload management as being associated with the service class named PBATCH.
To associate the PERFORM value with a service class, you need to define a
classification rule in the workload management service definition. The following
Purpose
Use the programmer’s name parameter to identify the person or group responsible
for a job.
Syntax
programmer’s-name
Location: Place the programmer’s name parameter immediately after the accounting
information parameter and before all keyword parameters.
Omission: Do not code a comma to indicate the absence of the programmer’s name
parameter. For example:
//JOBA JOB ’D58/706’,MSGCLASS=A
Parameter Definition
programmer’s-name
Identifies the job’s owner. The name must not exceed 20 characters, including
all special characters.
Example 2
//DELTA JOB ’T.O’’NEILL’
Example 3
//#308 JOB (846349,GROUP12),MATTHEW
Example 4
//JOBA JOB ’DEPT. 15E’
PRTY Parameter
Parameter Type
Keyword, optional
Purpose
Use the PRTY parameter to assign a selection priority to your job. Within a JES2
job class or a JES3 job class group, the system selects jobs for execution in order
by priority. A job with a higher priority is selected for execution sooner; jobs with the
same priority are selected on a first-in first-out basis.
Note: Depending on the JES2 initialization options in use at your installation, JES2
may ignore the PRTY parameter.
In a JES2 system, there are a number of factors that determine the order in which a
particular job is selected for execution. Therefore, you cannot be assured that job
priority (based on the PRTY you assign a job), job class, or the order of job
submission will guarantee that the jobs will execute in a particular order. If you need
to submit jobs in a specific order, contact your JES2 system programmer for advice
based on how your system honors such requests. (z/OS JES2 Initialization and
Tuning Guide provides JES2 system programmer procedures concerning job
queuing and how to control job execution sequence.)
References
For more information about priority, see z/OS JES2 Initialization and Tuning Guide.
Syntax
PRTY=priority
Subparameter Definition
priority
Requests a priority for the job. The priority is a number from 0 through 15 for
JES2 and from 0 through 14 for JES3. The highest priority is 15 or 14.
Follow your installation’s rules in coding a priority.
Defaults
JES2 determines the job priority from the following, in override order:
1. A JES2 /*PRIORITY statement.
2. A PRTY parameter on the JOB statement.
3. A value calculated from the accounting information on a JES2 /*JOBPARM
statement or the JOB statement.
4. An installation default specified at JES2 initialization.
JES3 determines the job priority from the following, in override order:
1. A PRTY parameter on the JOB statement. If the specified priority is invalid,
JES3 issues an error message.
2. An installation default specified at JES3 initialization.
RD Parameter
Parameter Type
Keyword, optional
Purpose
The system can perform automatic restart only if all of the following are true:
v The JOB or EXEC statement contains RD=R or RD=RNC.
v The step to be restarted abended with a restartable abend code.
v The operator authorizes a restart.
The system can perform automatic step restart for a job running during a system
failure as long as the job has a job journal. A job journal is a sequential data set
that contains job-related control blocks needed for restart.
If you use checkpoint restart or restart a job step, you need to save the journal or
the system cannot automatically restart the job if it fails or if there is a system
restart. If you use the automatic restart manager (ARM) to restart a job, you do not
need to save the journal because ARM does not use the job journal when restarting
jobs.
References
Syntax
RD= {R }
{RNC}
{NR }
{NC }
Subparameter Definition
R (Restart, Checkpoints Allowed)
Indicates that the operator can perform automatic step restart if the job fails.
If the system fails, RD=NR does not prevent the job from restarting.
NC (No Automatic Restart, No Checkpoints)
Indicates that the operator cannot perform automatic step restart if the job fails.
RD=NC suppresses automatic and deferred checkpoint restarts. It suppresses:
v Any CHKPT macro instruction in the processing program.
v The DD statement CHKPT parameter.
v The checkpoint at EOV facility.
Defaults
If you do not code the RD parameter, the system uses the installation default from
the job’s job class specified at initialization.
Overrides
A JOB statement RD parameter applies to all steps of the job and overrides any
EXEC statement RD parameters.
Code EXEC statement RD parameters when each job step requires different restart
types. The system uses an EXEC statement RD parameter only when no RD
parameter is on the JOB statement and only during the job step.
RD=R specifies that the operator can perform automatic step restart if the job fails.
Example 2
//TRY56 JOB 333,DICK,RD=RNC
RD=RNC specifies that, if the job fails, the operator can perform automatic step
restart beginning with the step that abnormally terminates. RD=RNC suppresses
automatic and deferred checkpoint restarts.
Example 3
//PASS JOB (721,994),HARRY,RD=NR
RD=NR specifies that the operator cannot perform automatic step restart or
automatic checkpoint restart. However, a CHKPT macro instruction can establish
checkpoints to be used later for a deferred restart.
REGION Parameter
Parameter Type
Keyword, optional
Purpose
Use the REGION parameter to specify the amount of central or virtual storage that
the job requires. The system applies the value that you code on REGION to each
step of the job.
Two installation exits, IEFUSI and IEALIMIT, can also affect the size of the user
address space assigned to the job step.
References
For more information on address space size, see z/OS MVS Initialization and
Tuning Guide, and ″Resource Control of Address Space″ in z/OS MVS JCL User’s
Guide. For more information on region size with checkpoint/restart jobs, see z/OS
DFSMS Checkpoint/Restart.
Subparameter Definition
valueK
Specifies the required storage in kilobytes (1 kilobyte = 1024 bytes). The value
is 1 through 7 decimal numbers, from 1 through 2096128. Code a multiple of 4.
For example, code REGION=68K. If the value you code is not a multiple of 4,
the system will round it up to the next multiple of 4.
Note: Specifying a REGION size that gives the JOB all the available storage,
such as 0K or any value greater than 16,384K, can cause storage
problems if the IBM- or installation-supplied routine IEALIMIT or IEFUSI
is not used to establish a limiting value.
valueM
Specifies the required storage in megabytes (1 megabyte = 1024 kilobytes).
The value is 1 through 4 decimal numbers, from 1 through 2047. For example,
REGION=3M.
Note: Specifying a REGION size that gives the JOB all the available storage,
such as 0M or any value greater than 16M, can cause storage problems
if the IBM- or installation-supplied routine IEALIMIT or IEFUSI is not
used to establish a limiting value.
Defaults
If no REGION parameter is specified, the system uses the REGION parameter
specified on each EXEC statement. If no EXEC statement REGION parameter is
specified, the system uses a job step installation default specified at JES
initialization.
If your installation does not change the IBM-supplied default limits in the IEALIMIT
or IEFUSI exit routine modules, then specifying various values for the region size
have the following results:
v A value equal to 0K or 0M — gives the job all the storage available below and
above 16 megabytes. The resulting size of the region below and above 16
megabytes is installation-dependent.
v A value greater than 0K or 0M and less than or equal to 16,384K or 16M —
establishes the size of the private area below 16 megabytes. If the region size
specified is not available below 16 megabytes, the job abnormally terminates.
The extended region size is the default value of 32 megabytes.
v A value greater than 16,384K or 16M and less than or equal to 32,768K or 32M
— gives the job all the storage available below 16 megabytes. The resulting size
of the region below 16 megabytes is installation-dependent. The extended region
size is the default value of 32 megabytes.
v A value greater than 32,768K or 32M and less than or equal to 2,096,128K or
2047M — gives the job all the storage available below 16 megabytes. The
resulting size of the region below 16 megabytes is installation-dependent. The
extended region size is the specified value. If the region size specified is not
available above 16 megabytes, the job abnormally terminates.
Code EXEC statement REGION parameters when each job step requires a different
region size. The system uses an EXEC statement REGION parameter only when
no REGION parameter is on the JOB statement and only during the job step.
Code a REGION parameter to specify how much central storage (also called real
storage) the job needs. If you omit the REGION parameter, the system uses the
default.
Code a REGION parameter to specify how much virtual storage the job needs. If
you omit the REGION parameter, the system uses the default.
This JOB statement indicates that the job requires 100K of central storage.
Example 2
//ACCT4 JOB 175,FRED,REGION=250K
This JOB statement indicates that the job requires 250K of virtual storage. When
the ADDRSPC parameter is omitted, the system defaults to ADDRSPC=VIRT.
RESTART Parameter
Parameter Type
Keyword, optional
Note: Do not specify this parameter for a started task; if RESTART is specified, the
job will fail.
Purpose
Use the RESTART parameter to indicate the step, procedure step, or checkpoint at
which the system is to restart a job. You can specify that the system perform either
of two restarts:
v Deferred step restart, which is a restart at the beginning of a job step.
v Deferred checkpoint restart, which is a restart from a checkpoint taken during
step execution by a CHKPT macro instruction.
References
For detailed information on the deferred checkpoint restart, see z/OS DFSMS
Checkpoint/Restart.
20-42 z/OS V1R3.0 MVS JCL Reference
JOB: RESTART
Considerations for an APPC Scheduling Environment
Syntax
RESTART= ({* } [,checkid] )
({stepname } )
({stepname.procstepname} )
v You can omit the outer parentheses if you code only the first subparameter.
v The RESTART parameter cannot have a null value.
Subparameter Definition
* Indicates that the system is to restart execution (1) at the beginning of or within
the first job step or (2), if the first job step calls a cataloged or in-stream
procedure, at the beginning of or within the first procedure step.
stepname
Indicates that the system is to restart execution at the beginning of or within a
job step. If stepname refers to an EXEC statement that invokes a procedure,
the step name of the step within the procedure must also be specified.
stepname.procstepname
Indicates that the system is to restart execution at the beginning of or within a
step of a cataloged procedure. Stepname identifies the EXEC statement of the
job step that calls the procedure; procstepname identifies the EXEC statement
of the procedure step. The step identified by procstepname must contain the
PGM keyword rather than invoke a procedure.
checkid
Specifies the name of the checkpoint at which the system is to restart
execution. This checkpoint must be in the job step specified in the first
subparameter.
Omit checkid to request restart at the beginning of the specified job step.
When the name contains special characters, enclose it in apostrophes. Code
each apostrophe that is part of the name as two consecutive apostrophes. For
example, code CHPT'1 as 'CHPT''1'.
When preparing for a deferred checkpoint, code the DISP abnormal termination
disposition subparameter in the step’s DD statements as follows:
v KEEP, to keep all data sets that the restart step is to use.
v CATLG, to catalog all data sets that you are passing from steps preceding the
restart step to steps following the restart step.
In JES3 systems, you must also code the FAILURE parameter on the //*MAIN
control statement.
For example, if the last generation data set created and cataloged was assigned a
generation number of +2, refer to it as 0 in the restart step and following steps. If
generation data set +1 was also created and cataloged, refer to it as −1.
If generation data sets created in the restart step were kept instead of cataloged,
that is, DISP=(NEW,CATLG,KEEP) was coded, then refer to them by the same
relative generation numbers used to create them.
This JOB statement indicates that the system is to restart execution at the
beginning of the job step named COUNT.
Example 2
//@LOC5 JOB ’4/11/86’,RESTART=(PROCESS,CHKPT3)
//SYSCHK DD DSNAME=CHK,UNIT=3330,DISP=OLD
The JOB statement indicates that the system is to restart execution at checkpoint
CHKPT3 in job step PROCESS. The SYSCHK DD statement must follow the JOB
statement; it defines the data set on which the system wrote checkpoint CHKPT3.
Example 3
The JOB statement indicates that the system is to restart execution at checkpoint
CKPT2 in the first job step. The SYSCHK DD statement defines the data set on
which the system wrote checkpoint CKPT2.
Example 4
//CLIP5 JOB ,COLLINS,RESTART=(PAY.WEEKLY,CHECK8)
//SYSCHK DD DSNAME=CHKPT,UNIT=3350,DISP=OLD
The JOB statement indicates that the system is to restart execution at checkpoint
CHECK8 in procedure step WEEKLY. PAY is the name field on the EXEC statement
that calls the cataloged procedure that contains procedure step WEEKLY. The
SYSCHK DD statement defines the data set on which the system wrote checkpoint
CHECK8.
SECLABEL Parameter
Parameter Type
Keyword, optional
Note: Do not specify this parameter for a started task; if SECLABEL is specified,
the job will fail.
Purpose
Use the SECLABEL parameter to specify the security level at which the job is to
execute when submitted to the system. The security label represents a security
level and categories as defined to RACF. You must have sufficient authority, granted
by the security administrator at your installation, to run the job with the security
label you specify.
References
For more information about security labels, see the z/OS Security Server RACF
Security Administrator’s Guide.
Syntax
SECLABEL=seclabel-name
Subparameter Definition
seclabel-name
Specifies the name of a security label defined by the security administrator at
your installation. The seclabel-name is one through eight alphanumeric or
national ($, #, @) characters. The first character must be alphabetic, $, #, or @.
You may code SECLABEL with any other JOB statement parameters.
In this example, JOBA executes at a security level defined for security label CONF.
SCHENV Parameter
Keyword, optional
Purpose
Use the SCHENV parameter to specify the name of the Workload Manager (WLM)
scheduling environment to associate with this job. A scheduling environment is a list
of resources and their required settings. By associating a scheduling environment
name with a job, you ensure that the job will be scheduled only on a system that
satisfies those resource state requirements.
Reference
For more information about WLM scheduling environments, see z/OS MVS
Planning: Workload Management.
Note: Do not specify the SCHENV parameter for a started task; the job will fail.
Syntax
SCHENV=schenv-name
Defaults
If you do not specify the SCHENV parameter, the job will not be associated with
any WLM scheduling environment.
TIME Parameter
Parameter Type
Keyword, optional
Purpose
Use the TIME parameter to specify the maximum amount of time that a job may
use the processor or to find out through messages how much processor time a job
used.
The system terminates a job that exceeds the specified time limit unless an
installation exit routine at exit IEFUTL extends the time. Exit routine IEFUTL is
established through System Management Facilities (SMF).
You can use the TIME parameter on a JOB statement to decrease the amount of
processor time available to a job or job step below the default value. You cannot
use the TIME parameter on a JOB statement to increase the amount of time
available to a job step over the default value. To increase the allowable time over
the default value, use the TIME parameter on the EXEC statement.
For releases prior to MVS/ESA SP Version 4 Release 3.0, the amount of time that a
job step receives might be slightly more or less than the requested processor time.
The exact amount of processor time is based on certain system events.
Reference
Syntax
TIME= {([minutes][,seconds])}
{1440 }
{NOLIMIT }
{MAXIMUM }
You can omit the parentheses if you code only 1440 or the processor time in minutes.
Subparameter Definition
minutes
Specifies the maximum number of minutes a job may use the processor.
Minutes must be a number from 0 through 357912 (248.55 days).
Do not code TIME=0 on a JOB statement. The results are unpredictable.
seconds
Specifies the maximum number of seconds that a job may use the processor, in
addition to any minutes that you specify. Seconds must be a number from 0
through 59.
1440 or NOLIMIT
Indicates that the job can use the processor for an unlimited amount of time.
(″1440″ literally means ″24 hours.″)
Also code TIME=1440 or TIME=NOLIMIT to specify that the system is to allow
any of the job’s steps to remain in a continuous wait state for more than the
installation time limit, which is established through SMF.
MAXIMUM
Indicates that the job can use the processor for the maximum amount of time.
Coding TIME=MAXIMUM allows a job to run for 357912 minutes.
Defaults
Every job step has a time limit. If you do not specify a TIME parameter on the JOB
statement, the time limit for each job step is:
v The value you specify for the TIME parameter on its EXEC statement, or
v The default time limit (that is, the JES default job step time limit), if you do not
specify a TIME parameter on its EXEC statement.
If you specify a value other than TIME=NOLIMIT or TIME=1440, SMF uses its
current job wait time limit.
Overrides
For a JOB statement TIME parameter of TIME=NOLIMIT or TIME=1440, the system
nullifies any TIME parameters on EXEC statements as well as the default TIME
values. All steps within the job will have unlimited processor time.
Example 1
//STD1 JOB ACCT271,TIME=(12,10)
This statement specifies that the maximum amount of time the job can use the
processor is 12 minutes, 10 seconds.
Example 2
//TYPE41 JOB ,GORDON,TIME=(,30)
This statement specifies that the maximum amount of time the job can use the
processor is 30 seconds.
Example 3
//FORMS JOB ,MORRILL,TIME=5
This statement specifies that the maximum amount of time the job can use the
processor is 5 minutes.
Example 4
//RAINCK JOB 374231,MORRISON,TIME=NOLIMIT
This statement specifies an unlimited amount of time for job execution; the job can
use the processor and remain in wait state for an unspecified period of time. The
system will issue messages telling how much processor time the job used.
Example 1
//FIRST JOB ,SMITH,TIME=2
//STEP1 EXEC PGM=READER,TIME=1
.
.
.
//STEP2 EXEC PGM=WRITER,TIME=1
.
In this example, the job is allowed 2 minutes for execution and each step is allowed
1 minute. If either step continues executing beyond 1 minute, the entire job
abnormally terminates beginning with that step.
In this example, the job is allowed 3 minutes for execution, and each step is
allowed 2 minutes. If either step continues executing beyond 2 minutes, the entire
job abnormally terminates beginning with that step. If STEP1 executes for 1.74
minutes and STEP2 tries to execute beyond 1.26 minutes, the job abnormally
terminates because of the 3-minute limit specified on the JOB statement.
TYPRUN Parameter
Parameter Type
Keyword, optional
Note: Do not specify this parameter for a started task; if TYPRUN is specified, the
job will fail.
Purpose
Use the TYPRUN parameter to request special job processing. The TYPRUN
parameter can tell the system to:
v In a JES2 system, copy the input job stream directly to a sysout data set and
schedule it for output processing.
v In a JES2 or JES3 system, place a job on hold until a special event occurs.
When the event occurs, the operator, following your directions, must release the
job from its hold to allow the system to select the job for processing. Use the
JES2 /*MESSAGE statement or the JES3 //*OPERATOR statement to notify the
operator to release the job.
v In a JES2 or JES3 system, scan a job’s JCL for syntax errors.
Syntax
TYPRUN= {COPY }
{HOLD }
{JCLHOLD}
{SCAN }
Subparameter Definition
COPY (JES2 only)
Requests that JES2 copy the input job stream, as submitted, directly to a
sysout data set and schedule the sysout data set for output processing. The
The system does not check for misplaced statements, for invalid syntax in JCL
subparameters, or for parameters and/or subparameters that are inappropriate
together.
In a JES3 system, the system does not scan the JCL on the submitting system
when a //*ROUTE or XMIT JCL statement follows the JOB statement.
TYPRUN=SCAN checks the JCL only through the converter, not the interpreter.
The difference is that the converter basically checks all expressions to the LEFT
of an equal sign plus SOME expressions to the right of an equal sign (and
issues messages that start with IEFC), while the interpreter checks all
expressions to the RIGHT of an equal sign (and issues messages that start with
IEF). For example, a data set name containing a qualifier that exceeds eight
characters, such as
DSN=L9755TB.JCL.TEST19970103
Jobs UPDATE and LIST are submitted for execution in the same input stream.
UPDATE executes a program that adds and deletes members of a library; LIST
executes a program that lists the members of that library. For an up-to-date listing
of the library, LIST must execute after UPDATE. To force this execution order, code
TYPRUN=HOLD on JOB statement LIST.
USER Parameter
Parameter Type
Keyword, optional
Note: Do not specify this parameter for a started task; if USER is specified, the job
will fail.
Purpose
Code the USER parameter to identify to the system the person submitting the job.
The userid is used by RACF, the system resources manager (SRM), and other
system components.
If the installation contains the feature for propagation of the user and group
identification, the USER and PASSWORD parameters are required, and the
GROUP parameter is optional on JOB statements only for the following:
v Batch jobs submitted through an input stream, such as a card reader, (1) if the
job requires access to RACF-protected resources or (2) if the installation requires
that all jobs have RACF identification.
v Jobs submitted by one RACF-defined user for another user. In this case, the JOB
statement must specify the other user’s userid and may need a password. The
group id is optional.
v Jobs that execute at another network node that uses RACF protection.
Otherwise, the USER, PASSWORD, and GROUP parameters can be omitted from
JOB statements. RACF uses the userid, password, and default group id of the
submitting TSO/E user or job.
References
For more information on RACF-protected facilities, see the z/OS Security Server
RACF Security Administrator’s Guide.
Syntax
USER=userid
Subparameter Definition
userid
Identifies a user to the system. The userid consists of 1 through 8 alphanumeric
or national ($, #, @) characters; the first character must be alphabetic or
national ($, #, @).
Defaults
When not required by the installation and if the JOB statement or the submitting
TSO/E user does not supply identification information, RACF assigns a default
userid and group id, unless the job enters the system via a JES internal reader. In
this case, the user and default group identification of the submitting TSO/E user or
job is used.
Description
Syntax
//
The system can also recognize the end of a job when it reads the next JOB
statement or when the input stream contains no more records.
A null statement that does not end an input stream should be immediately followed
by a JOB statement. The system ignores statements between a null statement and
the next valid JOB statement.
Note: JES2 ignores a NULL statement when it is included in a job’s JCL statements.
JES2 processes JES2 control statements following a NULL statement as part of the
job (until the next JOB statement or EOF).
If a null statement follows a control statement that is being continued, the system
treats the null statement as a blank comment field and assumes that the control
statement contains no other parameters.
Use the OUTPUT JCL statement to specify processing options for a system output
(sysout) data set. These processing options are used only when the OUTPUT JCL
statement is explicitly or implicitly referenced by a sysout DD statement. JES
combines the options from this OUTPUT JCL statement with the options from the
referencing DD statement.
OUTPUT JCL statements are useful in processing the output of one sysout data set
in several ways. For example, a sysout data set can be sent to a distant site for
printing, as shown in statement OUT1, while it is also printed locally, as shown in
statement OUT2:
//OUT1 OUTPUT DEST=STLNODE.WMSMITH
//OUT2 OUTPUT CONTROL=DOUBLE
//DS DD SYSOUT=C,OUTPUT=(*.OUT1,*.OUT2)
The parameters you can specify for sysout data set processing are arranged
alphabetically in the following pages.
References
For information about the JES initialization parameters that provide installation
defaults, see z/OS JES2 Initialization and Tuning Reference and z/OS JES3
Initialization and Tuning Reference. For examples of OUTPUT statement processing
on the JES3 hold queue and writer queue, see z/OS JES3 Initialization and Tuning
Guide.
Description
Syntax
//name OUTPUT parameter[,parameter]... [comments]
The OUTPUT JCL statement consists of the characters // in columns 1 and 2 and four
fields: name, operation (OUTPUT), parameter, and comments.
Name Field
Code a name in the name field of every OUTPUT JCL statement, as follows:
v Each job-level OUTPUT JCL name must be unique within a job.
v Each step-level OUTPUT JCL name must be unique within the same job step.
v The name must begin in column 3.
v The name is 1 through 8 alphanumeric or national ($, #, @) characters.
v The first character must be alphabetic or national ($, #, @).
v The name must be followed by at least one blank.
Operation Field
The operation field consists of the characters OUTPUT and must be preceded and
followed by at least one blank. It can begin in any column.
CONTROL= {PROGRAM} PROGRAM: each logical record Specifies that the data
{SINGLE } begins with a carriage control set records begin with
{DOUBLE } character carriage control
{TRIPLE } SINGLE: single spacing characters or specifies
DOUBLE: double spacing line spacing.
See page 22-24 TRIPLE: triple spacing
DPAGELBL= {YES} YES or Y: requests that the system Indicates whether the
{Y } print a security label on each page. system should print a
{NO } security label on each
{N } NO or N: requests that the system page of output.
not print a security label on each
See page 22-36 page.
JESDS= {ALL} ALL: all of the job’s JCL, Requests that the
{JCL} LOG, and MSG data sets indicated data sets for
{LOG} the job be processed
{MSG} JCL: all JCL processing data sets according to the
LOG: job’s hard-copy log parameters on this
See page 22-50 MSG: job’s system messages OUTPUT JCL statement.
NAME= {’preferred name’} preferred name: 1 - 60 valid EBCDIC Specifies the preferred
{preferred-name } text values name to be printed on
output separator pages.
See page 22-55
NOTIFY= {[node.]userid } {node.}userid: node and userid to Specifies the node and
{([node.]userid1,...[node.]userid4)} receive print complete message. userid to receive a print
complete message when
See page 22-56 the sysout data set is
printed.
OVFL= {ON } ON: JES3 should check for forms Specifies whether or not
{OFF} overflow on an output printer. JES3 should check for
forms overflow on an
See page 22-63 OFF: JES3 should not check for output printer. (JES3
forms overflow on an output printer. only)
PRMODE= {LINE } LINE: send data set to line-mode Identifies the process
{PAGE } printer mode required to print
{process-mode} the sysout data set.
PAGE: send data set to page-mode
See page 22-67 printer
process-mode: installation-defined
mode (1 - 8 alphanumeric characters)
PRTOPTNS= {options data set entry name } print options: 1-16 valid EBCDIC Identifies the print
{’options data set entry name’} characters. options data.
PRTQUEUE= {print queue name } print queue: 1-127 valid EBCDIC Identifies the target print
{’print queue name’} characters. queue name.
RESFMT= {P240} P240: specifies 240 pels per inch Specifies the resolution
{P300} resolution. used to format the print
data set.
See page 22-71 P300: specifies 300 pels per inch
resolution.
RETAINF= {’<hhhh>:<mm>:<ss>’} retain time: 1-10 numeric characters The failed transmission
{FOREVER } or FOREVER. retain time specification.
RETRYT= {’<hh>:<mm>:<ss>’} retry time: 1-10 numeric characters. Wait time between
transmission retries.
See page 22-74
SYSAREA= {YES} YES or Y: requests that the system Indicates whether the
{Y } reserve a system area. system should reserve a
{NO } system area on each
{N } NO or N: requests that the system page of output.
not reserve a system area.
See page 22-76
TRC= {YES} YES or Y: data set contains TRC Specifies whether or not
{Y } codes the sysout data set’s
{NO } records contain table
{N } NO or N: data set does not contain reference codes (TRC)
TRC codes as the second character.
See page 22-80
Comments Field
The comments field follows the parameter field after at least one intervening blank.
Note: If the sysout DD statement does not contain an OUTPUT parameter and the
job or step does not contain a default OUTPUT JCL statement, processing of
This statement appears after the JOB statement and before the first EXEC
statement. It cannot be used for a started procedure.
This statement appears in a step, that is, anywhere after the first EXEC statement
in a job, except within a concatenated DD statement.
Where you place default OUTPUT JCL statements determines to which statements
a sysout DD statement implicitly refers. A sysout DD statement implicitly references
all job-level default OUTPUT JCL statements when the step containing the DD
statement does not contain any step-level default OUTPUT JCL statements.
You can place more than one job- or step-level default OUTPUT JCL statement in a
job or step.
Place an OUTPUT JCL statement with a JESDS parameter after the JOB statement
and before the first EXEC statement.
An OUTPUT JCL statement must not be placed before the first EXEC statement in
a procedure; for this reason, procedures cannot contain job-level OUTPUT JCL
statements or OUTPUT JCL statements with JESDS parameters.
Procedure A in
SYS1.PROCLIB // PROC ...
Procedure Step 1 //PSTEP1 EXEC PGM=G Step-level OUTPUT JCL statement for PSTEP1
//name OUTPUT ...
//DD4 DD ...
//DD5 DD ...
//DD6 DD ...
Procedure Step 2 //PSTEP2 EXEC PGM=H
//name OUTPUT ... Step-level OUTPUT JCL statement for PSTEP2
//DD7 DD ...
//DD8 DD ...
//DD9 DD ...
Overrides
v Parameters on a sysout DD statement override corresponding parameters on an
OUTPUT JCL statement.
v Parameters that appear only on the sysout DD statement or only on the
OUTPUT JCL statement are used by JES in processing the data set.
In this case, JES2 uses the third positional subparameter of the DD SYSOUT
parameter as a form name, and not as a reference to a JES2 /*OUTPUT statement.
For more information on the use of the OUTPUT JCL statement with JES3, see
z/OS JES3 Initialization and Tuning Guide.
ADDRESS Parameter
Parameter Type
Keyword, optional
Purpose
Syntax
ADDRESS= {(’delivery address’[,’delivery address’]...)}
{delivery-address }
Valid Characters in Enclosing Apostrophes:
v A delivery address enclosed in apostrophes can contain any EBCDIC text character.
v Enclose a value that contains a blank in apostrophes.
v To code an apostrophe in the delivery address, code 2 apostrophes, and enclose the
entire delivery address in single apostrophes. For example:
//OUTDS OUTPUT ADDRESS=’O’’DARBY AVE’
v Each value may optionally be enclosed in apostrophes.
Valid Characters Without Enclosing Apostrophes: When the value for delivery address is
not enclosed in apostrophes, the following characters are valid:
v Alphanumeric and national (@, $, #) characters
v Period (.) and asterisk (*); however, an asterisk followed by a period indicates a referral
and is not allowed as the start (first and second characters) of the value.
v Ampersand (&). An ampersand that refers to a symbolic is substituted. Two consecutive
ampersands are not substituted, but they will result in a single ampersand as part of the
value.
v Plus sign (+)
v Hyphen (-)
v Slash (/)
Null Subparameters: You may code a null subparameter to cause a blank line to appear in
the delivery address. Code a comma to indicate the omitted subparameter.
Subparameter Definition
delivery address
Specifies the delivery address for the output data set. You can code up to 4
delivery addresses. Each delivery address can be 1 - 60 EBCDIC text
characters. See “Character Sets” on page 4-3 for a description of EBCDIC text
characters.
Overrides
v In an APPC scheduling environment:
In both JES2 and JES3 systems, the ADDRESS parameter on the OUTPUT JCL
statement overrides the address in the RACF profile.
v In a non-APPC scheduling environment:
In both JES2 and JES3 systems, there are no override considerations for
ADDRESS.
J. Plant
1234 Main Street
POUGHKEEPSIE, NY
zipcd
is printed on the separator pages of each output data set that references OUTDS2.
You may code a name in the address field when the name associated with an
address is not the name you want to associate with the output (coded on the
OUTPUT NAME statement.) The name appears in the address field on the
separator pages.
Example 2
//OUTDS3 OUTPUT ADDRESS=(,’57 FAIR LANE’,’OMAHA,NE’,12121)
In this example, the following address is printed on the separator pages of each
output data set that references OUTDS3.
57 FAIR LANE
OMAHA,NE
12121
The first line reserved for the address on the separator page will be blank. Note that
12121 does not require enclosing apostrophes, because it contains only characters
that are valid without them.
BUILDING Parameter
Parameter Type
Keyword, optional
Purpose
Syntax
BUILDING= {’building identification’}
{building-identification }
Valid Characters in Enclosing Apostrophes:
v A building identification enclosed in apostrophes can contain any EBCDIC text character.
v When the value for building identification contains a blank, enclose the value in
apostrophes.
v To code an apostrophe in the building identification, code 2 apostrophes, and enclose the
building identification in single apostrophes. For example:
//OUTDS OUTPUT BUILDING=’O’’REILLY BUILDING’
v Each value may be optionally enclosed in apostrophes.
Valid Characters Without Enclosing Apostrophes: When the value for building
identification is not enclosed in apostrophes, the following characters are valid:
v Alphanumeric and national (@, $, #) characters
v Period (.) and asterisk (*); however, an asterisk followed by a period indicates a referral
and is not allowed as the start (first and second characters) of the value.
v Ampersand (&). An ampersand that refers to a symbolic is substituted. Two consecutive
ampersands are not substituted, but they will result in a single ampersand as part of the
value.
v Plus sign (+)
v Hyphen (-)
v Slash (/)
Subparameter Definition
building identification
Specifies the building location associated with the output data set. The value for
building location is 1 - 60 EBCDIC text characters. See “Character Sets” on
page 4-3 for a description of EBCDIC text characters.
Defaults
v In an APPC scheduling environment:
In both JES2 and JES3 systems, if you do not code BUILDING, the system uses
the value defined in the transaction program (TP) user’s RACF profile when:
– The user submitting the TP profile has a RACF profile defined for him, and
– The transaction program profile includes TAILOR_SYSOUT(YES).
v In a non-APPC scheduling environment:
Overrides
v In an APPC scheduling environment:
In both JES2 and JES3 systems, the BUILDING parameter on the OUTPUT JCL
statement overrides the building in the RACF profile.
v In a non-APPC scheduling environment:
In both JES2 and JES3 systems, there are no override considerations for
BUILDING.
In this example, 920 will be printed on the line reserved for BUILDING on the
separator pages of any output data set that references OUTDS3.
BURST Parameter
Parameter Type
Keyword, optional
Purpose
Use the BURST parameter to specify that the output for the sysout data set printed
on a 3800 Printing Subsystem is to go to:
v The burster-trimmer-stacker, to be burst into separate sheets.
v The continuous forms stacker, to be left in continuous fanfold.
If the specified stacker is different from the last stacker used, or if a stacker was not
previously requested, JES issues a message to the operator to thread the paper
into the required stacker.
Note: BURST applies only for a data set printed on a 3800 equipped with a
burster-trimmer-stacker.
Syntax
BURST= {YES}
{Y }
{NO }
{N }
Subparameter Definition
YES
Requests that the printed output is to be burst into separate sheets. This
subparameter can also be coded as Y.
NO
Requests that the printed output is to be in a continuous fanfold. This
subparameter can also be coded as N.
Overrides
A BURST parameter on the sysout DD statement overrides the OUTPUT JCL
BURST parameter.
In this example, the output from the 3800 will be burst into separate sheets.
CHARS Parameter
Parameter Type
Keyword, optional
Purpose
Note:
v CHARS applies only for a data set printed on a 3800.
v STD applies only on a JES3 system.
References
Syntax
CHARS= {table-name }
{(table-name[,table-name]...)}
{STD }
{DUMP }
{(DUMP[,table-name]...) }
v You can omit the parentheses if you code only one table-name.
v Null positions in the CHARS parameter are invalid. For example, you cannot code
CHARS=(,table-name) or CHARS=(table-name,,table-name).
Subparameter Definition
table-name
Names a character-arrangement table. Each table-name is 1 through 4
alphanumeric or national ($, #, @) characters. Code one to four names.
Defaults
If you do not code the OUTPUT JCL CHARS parameter, JES uses the following, in
order:
1. The DD CHARS parameter.
2. The DD UCS parameter value, if coded.
3. The OUTPUT JCL UCS parameter value, if coded.
Overrides
A CHARS parameter on the sysout DD statement overrides the OUTPUT JCL
CHARS parameter.
For a data set scheduled to the Print Services Facility (PSF), the PSF uses the
following parameters, in override order, to select the font list:
1. Font list in the library member specified by an OUTPUT JCL PAGEDEF
parameter.
2. DD CHARS parameter.
3. OUTPUT JCL CHARS parameter.
4. DD UCS parameter.
5. OUTPUT JCL UCS parameter.
6. JES installation default for the device.
7. Font list on the PAGEDEF parameter in the PSF cataloged procedure.
You can code one or both of these parameters. You can place both on the same
statement or one on each statement.
CKPTLINE Parameter
Parameter Type
Keyword, optional
Purpose
Use the CKPTLINE parameter to specify the maximum number of lines in a logical
page. JES uses this value, with the CKPTPAGE parameter, to determine when to
take checkpoints while printing the sysout data set or transmitting the systems
network architecture (SNA) data set.
Note: A JES3 system supports this parameter only when the functional subsystem
prints the sysout data set on a 3800 Printing Subsystem Models 3, 6 and 8.
Syntax
CKPTLINE=nnnnn
Subparameter Definition
nnnnn
Specifies the maximum number of lines in a logical page. nnnnn is a number
from 0 through 32,767.
Defaults
If you do not code the CKPTLINE parameter, JES2 uses an installation default
specified at initialization. JES3 provides no installation default.
In this example, the sysout data set will be checkpointed after every 5 logical
pages. Each logical page contains 4000 lines.
CKPTPAGE Parameter
Parameter Type
Keyword, optional
Purpose
Note: A JES3 system supports this parameter only when the functional subsystem
prints the sysout data set on a 3800 Printing Subsystem Models 3, 6 and 8.
Syntax
CKPTPAGE=nnnnn
Subparameter Definition
nnnnn
Specifies the number of logical pages to print or transmit before the next sysout
data set checkpoint is taken. nnnnn is a number from 1 through 32,767.
Defaults
If you do not code the CKPTPAGE parameter, JES2 uses an installation default
specified at initialization; the default may also indicate whether checkpoints are to
be based on page count or time. JES3 provides no installation default.
In this example, the sysout data set will be checkpointed after every 128 logical
pages. Each logical page contains 58 lines.
CKPTSEC Parameter
Parameter Type
Keyword, optional
Purpose
Use the CKPTSEC parameter to specify how many seconds are to elapse between
checkpoints of the sysout data set that JES is printing.
Note: A JES3 system supports this parameter only when the functional subsystem
prints the sysout data set on a 3800 Printing Subsystem Models 3, 6 and 8.
Syntax
CKPTSEC=nnnnn
Defaults
If you do not code the CKPTSEC parameter, JES2 uses an installation default
specified at initialization; the default may also indicate whether checkpoints are to
be based on page count or time. JES3 provides no installation default.
In this example, the sysout data set will be checkpointed after every 120 seconds,
or 2 minutes.
CLASS Parameter
Parameter Type
Keyword, optional
Purpose
Use the CLASS parameter to assign the sysout data set to an output class.
Note: If a sysout data set has the same class as the JOB statement MSGCLASS
parameter, the job log appears on the same output listing as the sysout data
set.
Syntax
CLASS= {class}
{* }
Subparameter Definition
class
Identifies the output class for the data set. The class is one character: A through
Z or 0 through 9, which you may optionally include in quotation marks. The
attributes of each output class are defined during JES initialization; specify the
class with the desired attributes.
* Requests the output class in the MSGCLASS parameter on the JOB statement.
Overrides
The class subparameter of the DD statement SYSOUT parameter overrides the
OUTPUT JCL CLASS parameter. On the DD statement, you must code a null class
in order to use the OUTPUT JCL CLASS parameter; for example:
//OUTDS DD SYSOUT=(,),OUTPUT=*.OUT1
Contact the installation to find out if holding the sysout class depends on a held
MSGCLASS class.
For more information, see z/OS JES3 Initialization and Tuning Guide.
In this example, JES processes the sysout data set defined in DD statement OUT1
in output class D.
Example 2
//PRINTALL JOB ACCT123,MAEBIRD,MSGCLASS=H
//STEP1 EXEC PGM=PRINTER
//OUTDS7 OUTPUT CLASS=*
//OUTPTR DD SYSOUT=(,),OUTPUT=*.OUTDS7
In this example, JES processes the sysout data set defined in DD statement
OUTPTR in output class H, as specified in the JOB statement MSGCLASS
parameter. The same result could be obtained by the following:
//PRINTALL JOB ACCT123,MAEBIRD,MSGCLASS=H
//STEP1 EXEC PGM=PRINTER
//OUTPTR DD SYSOUT=H
COLORMAP Parameter
Parameter Type
Keyword, optional
Purpose
Use COLORMAP to specify the AFP Resource (object) for the data set that
contains color translation information. For more information see the PSF/MVS
Application Programming Guide.
Syntax
COLORMAP=resource
Subparameter Definition
resource
Specifies the name of an AFP resource, where the resource name is 1 through
8 alphanumeric or national ($, #, @) characters and the first must be alphabetic
or national.
COMPACT Parameter
Parameter Type
Keyword, optional
Purpose
Use the COMPACT parameter to specify a compaction table for JES to use when
sending the sysout data set, which is a systems network architecture (SNA) data
set, to a SNA remote terminal.
Syntax
COMPACT=compaction-table-name
Subparameter Definition
compaction-table-name
Specifies a compaction table by a symbolic name. The name is 1 through 8
alphanumeric characters. The symbolic name must be defined by the
installation during JES initialization.
Defaults
If you do not code the COMPACT parameter, compaction is suppressed for the data
set.
Overrides
This parameter overrides any compaction table value defined at the SNA remote
terminal.
In this example, the sysout data set will be sent to remote terminal 222 at node
555; JES will use compaction table TBL77.
COMSETUP Parameter
Parameter Type
Keyword, optional
Purpose
Use the COMSETUP parameter to specify the name of a microfile setup resource
that contains setup information.
Syntax
COMSETUP=resource
Subparameter Definition
resource
Specifies the name of a macrofile setup resource, where the resource name is
1 through 8 alphanumeric or national ($, #, @) characters. (The first must be
alphabetic or national.)
CONTROL Parameter
Parameter Type
Keyword, optional
Purpose
Use the CONTROL parameter to specify either that each logical record starts with a
carriage control character or that the output is to be printed with single, double, or
triple spacing.
Syntax
CONTROL= {PROGRAM}
{SINGLE }
{DOUBLE }
{TRIPLE }
Subparameter Definition
PROGRAM
Indicates that each logical record in the data set begins with a carriage control
character. You can specify in the DD statement, the DCB macro, or the data set
label that an optional control character is part of each record in the data set.
The carriage control characters are given in z/OS DFSMS: Using Data Sets.
SINGLE
Indicates forced single spacing.
DOUBLE
Indicates forced double spacing.
TRIPLE
Indicates forced triple spacing.
In a JES2 system, an installation default can be provided for each local device by
an operator command.
In this example, the sysout data set is printed using the first character of each
logical record for carriage control.
COPIES Parameter
Parameter Type
Keyword, optional
Purpose
Use the COPIES parameter to specify how many copies of the sysout data set to
print. The printed output is in page sequence for each copy.
For printing on a 3800 Printing Subsystem, this parameter can instead specify how
many copies of each page are to be printed before the next page is printed.
Syntax
COPIES= {nnn }
{(nnn,(group-value[,group-value]...))}
{(,(group-value[,group-value]...)) }
Subparameter Definition
nnn
A number (1 through 255 in a JES2 system, 1 through 254 in a JES3 system)
that specifies how many copies of the sysout data set to print. Each copy will
be in page sequence order.
For a data set printed on a 3800, JES ignores nnn if any group values are
specified.
group-value
Specifies how many copies of each page are to be printed before the next page
is printed. Each group-value is 1 through 3 decimal numbers from 1 through
255 in a JES2 system and from 1 through 254 in a JES3 system. You can code
a maximum of eight group-values. Their sum must not exceed 255 or 254. The
total copies of each page equals the sum of the group-values.
Defaults
For JES2, on the DD, OUTPUT JCL, or /*OUTPUT statement: if you do not code a
COPIES parameter, code it incorrectly, or code COPIES=0, the system uses a
default of 1, which is the default for the DD COPIES parameter.
For JES3, on the DD, OUTPUT JCL, or //*FORMAT statement: if you do not code a
COPIES parameter, code it incorrectly, or code COPIES=0 on the DD statement,
the system uses a default of 1, which is the default for the DD COPIES parameter.
Overrides
A COPIES parameter on the sysout DD statement overrides the OUTPUT JCL
COPIES parameter.
This example asks JES to print four copies of the weekly report on forms named
WKREPORT.
Example 2
//EXPLD OUTPUT COPIES=(,(3)),FORMS=ACCT
Example 3
//QUEST OUTPUT COPIES=(,(8,25,18,80)),FORMS=ANS
This example asks JES to print each page eight times before printing the next
page, then 25 times before the next, then 18 times before the next, and finally 80
times before the next. The forms are named ANS.
Example 4
//EXMP OUTPUT COPIES=(5,(3,2))
DATACK Parameter
Parameter Type
Keyword, optional
Purpose
A print-positioning error occurs when the designated position of any kind of printable
information is beyond the limits of either the physical page, or the overlay or logical
page of which it is part.
If an error type is unblocked, the printer reports the error at the end of the page in
which it occurs, and PSF processes the error and generates an error message.
(See the PIMSG parameter for more information on the printing of error messages.)
If an error type is blocked, the printer does not report the error to PSF. Printing
continues but data may be lost on the output.
References
For more information on data-check errors and their processing through PSF, see
PSF/MVS Application Programming Guide or PSF/MVS System Programming
Guide.
Subparameter Definition
BLOCK
Indicates that print-positioning errors and invalid-character errors are not
reported to PSF.
UNBLOCK
Indicates that print-positioning errors and invalid-character errors are reported to
PSF.
BLKCHAR
Indicates that invalid-character errors are blocked, and not reported to PSF.
Print-positioning errors are reported normally.
BLKPOS
Indicates that print-positioning errors are blocked, and not reported to PSF.
Invalid-character errors are reported normally.
Defaults
If you do not code the DATACK parameter, the DATACK specification from the PSF
PRINTDEV statement is used. If not specified in the PRINTDEV statement, the
default is BLOCK. For information about the PRINTDEV statement, see PSF for
OS/390 & z/OS: Customization.
In this example, when a print-position error occurs, it is reported to the user via a
printed error message. If an invalid-character error occurs, it is not reported. In
either case, the printing of the data set continues, and all functional subsystem
messages are printed.
DEFAULT Parameter
Parameter Type
Keyword, optional
Purpose
Syntax
DEFAULT= {YES}
{Y }
{NO }
{N }
Subparameter Definition
YES
Indicates that this OUTPUT JCL statement can be implicitly referenced by
sysout DD statements. This subparameter can also be coded as Y.
NO
Indicates that this OUTPUT JCL statement cannot be implicitly referenced by
sysout DD statements. This subparameter can also be coded as N.
Defaults
If you do not code DEFAULT=YES, the default is NO. In order to take effect, an
OUTPUT JCL statement without DEFAULT=YES must be explicitly referenced in an
OUTPUT parameter on a sysout DD statement.
In this example, the JOB named EXMP2 contains two job-level OUTPUT JCL
statements: OUTDAL and OUTPOK. OUTDAL is a default OUTPUT JCL statement
because it contains DEFAULT=YES; OUTDAL can be implicitly referenced by a
sysout DD statement. OUTPOK must be explicitly referenced in a sysout DD
OUTPUT parameter for its processing options to be used. The purpose of both of
these OUTPUT JCL statements is to specify a destination for a sysout data set.
STEP2 contains a step-level default OUTPUT JCL statement: OUTHQ. The purpose
of this statement is to specify a destination for a sysout data set. OUTHQ can be
implicitly referenced.
Note: You can explicitly reference an OUTPUT JCL statement in a preceding job
step.
v In STEP1, DD statement RPT2 implicitly references OUTPUT JCL statement
OUTDAL. This implicit reference occurs because all of the following are true:
1. DD statement RPT2 contains a SYSOUT parameter but does not contain an
OUTPUT parameter. Thus, this DD statement is making an implicit reference.
2. STEP1 does not contain a default OUTPUT JCL statement, so the implicit
reference must be to job-level default OUTPUT JCL statements.
3. OUTDAL is the only job-level default OUTPUT JCL statement.
v In STEP2, DD statement SUM implicitly references OUTPUT JCL OUTHQ
because all of the following are true:
1. DD statement SUM contains a SYSOUT parameter but does not contain an
OUTPUT parameter. Thus, this DD statement is making an implicit reference.
DEPT Parameter
Parameter Type
Keyword, optional
Purpose
Use the DEPT parameter to print the department identification on the separator
pages of output for a sysout data set. An installation can use the department
identification to assist in sysout distribution.
Syntax
DEPT= {’department identification’}
{department-identification }
Valid Characters Within Enclosing Apostrophes:
v A department identification enclosed in apostrophes can contain any EBCDIC text
character
v When the value for department identification contains a blank, enclose the value in
apostrophes.
v To code an apostrophe in the department identification, code 2 apostrophes, and enclose
the department identification in single apostrophes. For example:
//OUTDS OUTPUT DEPT=’JACKSON’’S DEPT’
v Each value may optionally be enclosed in apostrophes.
Valid Characters Without Enclosing Apostrophes: When the value for department
identification is not enclosed in apostrophes, the following characters are valid:
v Alphanumeric and national (@, $, #) characters
v Period (.) and asterisk (*); however, an asterisk followed by a period indicates a referral
and is not allowed as the start (first and second characters) of the value.
v Ampersand (&). An ampersand that refers to a symbolic is substituted. Two consecutive
ampersands are not substituted, but they will result in a single ampersand as part of the
value.
v Plus sign (+)
v Hyphen (-)
v Slash (/)
Subparameter Definition
department identification
Specifies the department identification associated with the sysout. The value for
department identification is 1 - 60 EBCDIC text characters. See “Character
Sets” on page 4-3 for a description of EBCDIC text characters.
Overrides
In an APPC scheduling environment:
In both JES2 and JES3 systems, the DEPT parameter on the OUTPUT JCL
statement overrides the department in the RACF profile.
In a non-APPC scheduling environment:
In both JES2 and JES3 systems, there are no override considerations for DEPT.
In this example, PAYROLL will be printed on the line reserved for DEPT on
separator pages of any sysout data set that references OUTDS4.
DEST Parameter
Parameter Type
Keyword, optional
Purpose
Use the DEST parameter to specify a destination for the sysout data set. The DEST
parameter can send a sysout data set to a remote or local terminal, a node, a node
and remote work station, a local device or group of devices, or a node and userid.
LOCAL|ANYLOCAL
’IP:ipaddr’
name
Nnnnn
NnnRmmmm
NnnnRmmm
NnnnnRmm
nodename.userid
’nodename.IP:ipaddr’
Rnnnn
RMnnnn
RMTnnnn
Unnnn
userid
ANYLOCAL
’IP:ipaddr’
device-name
group-name
nodename
’nodename.IP:ipaddr’
nodename.remote
Note: JES2 initialization statements determine whether or not the node name is
required when coding a userid. See your system programmer for
information about how routings will be interpreted by JES2.
Defaults
In a JES2 system, if you do not code a DEST parameter, JES directs the sysout
data set to the default destination for the input device from which the job was
submitted.
In a JES3 system, if you do not code a DEST parameter, the default destination is
the submitting location. For jobs submitted through TSO/E and routed to NJE for
execution, the default is the node from which the job was submitted, and the
destination ANYLOCAL.
Note: Most JCL syntax errors are detected and reported by JES or the functional
subsystem that is processing the sysout data set, rather than when the
system first reads in the JCL.
Overrides
A DEST parameter on the sysout DD statement overrides the OUTPUT JCL DEST
parameter.
In this example, JES2 sends the sysout data set to remote terminal 444.
Example 2
//REMOT2 OUTPUT DEST=STAT444
Example 3
//REMOT3 OUTPUT DEST=KOKVMBB8.DP58HHHD
In this example, JES sends the sysout data set to VM userid DP58HHHD at node
KOKVMBB8.
Example 4
//REMOT4 OUTPUT DEST=’NEWYORK.IP:bldprt-2’
In this example JES2 sends the sysout data set to node NEWYORK, where a
functional subsystem that can process IP-distributed data sets sends the data to the
bldprt-2 host system.
Example 5
//REMOT5 OUTPUT DEST=’IP:9.117.84.53’
In this example the functional subsystem sends the sysout data to the host machine
at IP address 9.117.84.53.
DPAGELBL Parameter
Parameter Type
Keyword, optional
Purpose
Use the DPAGELBL (data page labelling) parameter to indicate whether the system
should print the security label on each page of printed output. The security label
represents a security level and categories as defined to RACF.
The security label that the system prints is determined by the SECLABEL parameter
of the JOB statement. If you do not specify SECLABEL on the JOB statement, the
security level at which the job is executing is printed.
Reference
For additional information on data page labelling, refer to the PSF/MVS System
Programming Guide.
Syntax
DPAGELBL= {YES}
{Y }
{NO }
{N }
Subparameter Definition
YES
Requests the system to print the security label on each page of printed output.
You can also code this parameter as Y.
Defaults
If you do not code the DPAGELBL parameter, an installation default determines if a
security label is printed.
You can code the DPAGELBL parameter with any other OUTPUT JCL statement
parameters.
In this example, the security label CONF (specified on the SECLABEL parameter of
the JOB statement) is printed on each page of printed output. The sysout data set
is printed on forms named VP20.
DUPLEX Parameter
Parameter Type
Keyword, optional
Purpose
Use DUPLEX to specify whether or not printing is to be done on both sides of the
sheet. This overrides what is specified in the FORMDEF in use.
Syntax
DUPLEX={NO }
{N }
{NORMAL}
{TUMBLE}
Subparameter Definition
NO or N
Specifies to print on one side only.
NORMAL
Specifies that the physical page is rotated about the Y axis. For most page
orientations (including the default orientation), the Y axis is the long edge of the
sheet. This allows for binding on the long side of the sheet.
In this example, the output is to be printed in simplex (printed on only one side of
the paper).
FCB Parameter
Parameter Type
Keyword, optional
Purpose
The FCB image specifies how many lines are to be printed per inch and the length
of the form. JES loads the image into the printer’s forms control buffer. The FCB
image is stored in SYS1.IMAGELIB. IBM provides three standard FCB images:
v STD1, which specifies 6 lines per inch on an 8.5-inch-long form. (3211 and
3203-5 only)
v STD2, which specifies 6 lines per inch on an 11-inch-long form. (3211 and
3203-5 only)
v STD3, which specifies 8 lines per inch on an 11-inch form for a dump. (3800
only)
References
For more information on the forms control buffer, see z/OS DFSMSdfp Advanced
Services or 3800 Programmer’s Guide.
Syntax
FCB= {fcb-name}
{STD }
v Code the fcb-name as STD1 or STD2 only to request the IBM-supplied images.
v Code the fcb-name as STD3 only for a high-density dump.
Subparameter Definition
fcb-name
Identifies the FCB image. The name is 1 through 4 alphanumeric or national ($,
#, @) characters and is the last characters of a SYS1.IMAGELIB member
name:
v FCB2xxxx member, for a 3211, a 3203 Model 5, or a printer supported by
SNA.
v FCB3xxxx member, for a 3800.
v FCB4xxxx member, for a 4248.
Defaults
If you do not code the FCB parameter for a data set on an impact printer, the
system checks the FCB image that was last loaded in the printer; if it is a default
image, as indicated by its first byte, JES uses it. If it is not a default image, JES
loads the FCB image that is the installation default specified at JES initialization.
The FCB parameter names a default page definition to be used if the data set is
line-mode, is printed on a page-mode printer and PAGEDEF is not coded on the
OUTPUT or DD statements.
Overrides
An FCB parameter on the sysout DD statement overrides the OUTPUT JCL FCB
parameter. If the data set is line-mode and is printed on a page-mode printer and
you code PAGEDEF on the DD statement or OUTPUT statement, then PAGEDEF
overrides FCB.
You can code one or both of these parameters. You can place both on the same
statement or one on each statement.
In this example, JES will print the sysout data set using the FCB image named
AA33.
FLASH Parameter
Parameter Type
Keyword, optional
Purpose
Use the FLASH parameter to identify the forms overlay to be used in printing the
sysout data set on a 3800 Printing Subsystem and, optionally, to specify the
number of copies on which to print the forms overlay.
Reference
For information on forms overlays, see the Forms Design Reference Guide for the
3800.
Syntax
FLASH= {overlay-name }
{(overlay-name[,count])}
{(,count) }
{NONE }
{STD }
The count subparameter is optional. If you omit it, you can omit the parentheses.
Subparameter Definition
overlay-name
Identifies the forms overlay frame that the operator is to insert into the printer
before printing begins. The name is 1 through 4 alphanumeric or national ($, #,
@) characters.
count
Specifies the number, 0 through 255, of copies that JES is to flash with the
overlay, beginning with the first copy printed. Code a count of 0 to flash no
copies.
NONE
Suppresses flashing for this sysout data set.
If FLASH=NONE is on an OUTPUT JCL statement in a job to be executed at a
remote node, JES3 sets the overlay-name to zero before sending the job to the
node.
STD
Indicates the standard forms flash overlay. JES3 uses the standard forms
overlay specified at JES3 initialization.
Defaults
If you do not code a FLASH parameter and an installation default was not specified
at JES2 or JES3 initialization, forms are not flashed.
If you specify an overlay-name without specifying a count, all copies are flashed.
That is, the default for count is 255.
Overrides
A FLASH parameter on the sysout DD statement overrides the OUTPUT JCL
FLASH parameter.
In this example, JES issues a message to the operator requesting that the forms
overlay frame named LTHD be inserted in the printer. Then JES prints the first
seven copies of the sysout data set with the forms overlay and the last nine without.
FORMDEF Parameter
Parameter Type
Keyword, optional
Purpose
Use the FORMDEF parameter to identify a library member that contains statements
to tell the Print Services Facility (PSF) how to print the sysout data set on a
page-mode printer (such as the 3800 Printing Subsystem Model 3). The statements
can specify the following:
v Overlay forms to be used during printing.
v Location on the page where overlays are to be placed.
v Suppressions that can be activated for specified page formats.
The member must be in the library named in the cataloged procedure that was
used to initialize the PSF, or in a library specified in the USERLIB parameter.
Note: FORMDEF applies only for data sets printed on a page-mode printer (such
as a 3800 Model 3).
References
For more information, see PSF/MVS Application Programming Guide and 3800
Programmer’s Guide.
Syntax
FORMDEF=membername
Subparameter Definition
membername
Specifies the name of a library member. membername is 1 through 6
alphanumeric or national ($, #, @) characters; the first two characters are
pre-defined by the system.
Overrides
The library member specified by the OUTPUT JCL FORMDEF parameter can
contain:
v Statements that override the installation’s FORMDEF defaults in the PSF
cataloged procedure.
v A FORMDEF statement with a COPYGROUP parameter. The COPYGROUP
parameter overrides any group-value subparameters on the OUTPUT JCL
COPIES parameter or the sysout DD COPIES parameter.
Note: The FORMDEF statement in the library member does not override a
sysout DD or OUTPUT JCL COPIES=nnn parameter.
FORMLEN Parameter
Parameter Type
Keyword, optional
Purpose
A PSF/MVS user can use the FORMLEN parameter to set the length of pages for
print without reconfiguring the printer.
Syntax
FORMLEN=nn[.mmm]{IN|CM}
Subparameter Definition
nn Required. A one or two digit number, which can be zero.
.mmm
Optional. A decimal point (period) followed by up to three digits.
{IN|CM}
Required. The unit the decimal digits represent. Code IN for inches or CM for
centimeters.
In this example the PSF/MVS user has requested that a specification of paper
length 12.345 centimeters be sent to the printer.
Example 2
//OUTFORML OUTPUT FORMLEN=2IN
In this example the PSF/MVS user has requested that a specification of 2-inch
paper length be sent to the printer.
Example 3
//OUTFORML OUTPUT FORMLEN=0.1IN
In this example the PSF/MVS user has requested that a specification of 0.1-inch
paper length be sent to the printer.
FORMS Parameter
Parameter Type
Keyword, optional
Purpose
Use the FORMS parameter to identify the forms on which the sysout data set is to
be printed or punched.
Syntax
FORMS= {form-name}
{STD }
Subparameter Definition
form-name
Identifies the print or punch forms. form-name is 1 through 8 alphanumeric or
national ($, #, @) characters.
STD
Indicates that JES3 is to use the standard form specified at JES3 initialization.
Defaults
If you do not code a form-name subparameter, JES uses an installation default
specified at initialization.
Overrides
The form-name subparameter of the SYSOUT parameter on the sysout DD
statement overrides the OUTPUT JCL FORMS parameter. Note that the SYSOUT
form-name subparameter can be only four characters maximum while both the
OUTPUT JCL FORMS form-name and the JES initialization default form names can
be eight characters maximum.
In this example, the sysout data set will be printed on forms named ACCT4010.
FSSDATA Parameter
Parameter Type
Keyword, optional
Purpose
Syntax
FSSDATA=value
Subparameter Definition
value
Required. A subsystem-defined parameter (maximum = 127) to pass from a
spooling product to a functional subsystem application (FSA) or other despooler.
The following considerations apply when you supply the value a functional
subsystem requires:
Characters Valid When Enclosed in Apostrophes
v You may include any EBCDIC text characters in an FSSDATA parameter
value if you enclose the value in apostrophes. See Character Set in topic
4.2 for a list and description of valid EBCDIC text characters.
v You must enclose the value in apostrophes if it contains a blank.
v The system preserves trailing blanks you include as part of a value you
enclose in apostrophes. For example, if you specify
FSSDATA=’SUNDAY ’
the parameter value for the FSSDATA keyword is eight (8) characters,
and a functional subsystem may deem it to be different from
FSSDATA=’SUNDAY’
(6 characters) or
FSSDATA=’SUNDAY ’
(7 characters).
v To code an apostrophe as part of the value, code two apostrophes, as
well as enclosing the entire value in single apostrophes. Example:
//OUT1 OUTPUT FSSDATA=’New Year’’s Day’
Characters Not Requiring Enclosing Apostrophes
Apostrophes are optional when ″value″ consists only of:
v Uppercase alphanumeric characters
v National characters @, $, and #
v Period (.)
v Asterisk (*). However, an asterisk followed by a period indicates a
referral; *. is NOT allowed as the first two characters of the value
v Ampersand (&). An ampersand referring to a symbolic is substituted. Two
consecutive ampersands are not substituted; they will result in a single
ampersand as part of the value
v Plus sign (+)
v Hyphen(-)
v Slash (/)
Defaults
None.
Overrides
None.
Example 1
//OUTDS1 OUTPUT FSSDATA=FSSVALUE
In Example 1 the FSSDATA parameter contains a value (FSSVALUE) that does not
require apostrophes around it. This is because the value contains no blanks and
consists only of characters that are valid without apostrophes.
Example 2
//OUTDS2 OUTPUT FSSDATA=’Subsystem data’
Example 3
//OUTDS3 OUTPUT FSSDATA=’AOPPT=CFF’
Example 4
//PROCC PROC PARM1=FSSDATA
//STEPC EXEC PGM=MYPGM
//OUTDS4 OUTPUT FSSDATA=&PARM1
Example 5
GROUPID Parameter
Parameter Type
Purpose
Use the GROUPID parameter to specify that the sysout data set belongs to an
output group. The data sets in an output group are processed together in the same
location and time. Data sets to be grouped should have similar characteristics: the
same output class, destination, process mode, and external writer name.
Syntax
GROUPID=output-group
Subparameter Definition
output-group
Specifies the name of an output group. The output-group is 1 through 8
alphanumeric characters and is selected by the programmer to define an output
group for this job. The name is not installation-defined.
Example 2
//EXAMP JOB MSGCLASS=A
//JOBOUT OUTPUT GROUPID=SUMM,DEST=HQS,CHARS=GT10
//STEP1 EXEC PGM=RWRITE
//OUT1 OUTPUT FORMS=STD,CHARS=GS10,DEST=LOCAL
//RPT1 DD SYSOUT=A,OUTPUT=(*.OUT1,*.JOBOUT)
//STEP2 EXEC PGM=SWRITE
//OUT2 OUTPUT FORMS=111,CHARS=GB10,DEST=LOCAL
//RPT2 DD SYSOUT=B,OUTPUT=(*.OUT2,*.JOBOUT)
INDEX Parameter
Parameter Type
Purpose
Use the INDEX parameter to set the left margin for output on a 3211 Printer with
the indexing feature. The width of the print line is reduced by the INDEX parameter
value.
Note: INDEX is supported only on JES2 systems and only for output printed on a
3211 with the indexing feature. JES2 ignores the INDEX parameter if the
printer is not a 3211 with the indexing feature.
Syntax
INDEX=nn
Defaults
The default is 1, which indicates flush left. Thus, if you do not code an INDEX or
LINDEX parameter, JES2 prints full-width lines.
In this example, because the printed report is to be stapled, extra space is needed
on the left. Assuming the data set is printed on a 3211 with the indexing feature, all
lines are indented 5 print positions from the left page margin.
INTRAY Parameter
Parameter Type
Keyword, optional
Purpose
Use INTRAY to specify the paper source. This overrides what is specified in the
FORMDEF in use.
Syntax
INTRAY=nnn
Subparameter Definition
nnn
Specifies the paper source, where nnn is a number from 1 to 255. To determine
what value to specify, see the documentation for your printer.
JESDS Parameter
Parameter Type
Keyword, optional
Purpose
Use the JESDS parameter to process the job’s system-managed data sets
according to the parameters on this OUTPUT JCL statement. The system-managed
data sets consist of:
v The job log, which is a record of job-related information for the programmer.
Printing of the job log is controlled by two JOB statement parameters: the
MSGLEVEL parameter controls what is printed and the MSGCLASS parameter
controls the system output class.
v The job’s hard-copy log, which is a record of all message traffic for the job to and
from the operator console.
v System messages for the job.
Note: In a JES3 environment, a job can complete processing before all of its
messages have been written to the job log. When this occurs, the job’s
output is incomplete. For this reason, do not use the contents of the job log
as an automation or as a programming interface.
References
For more information on the job log, see z/OS MVS System Commands.
Syntax
JESDS= {ALL}
{JCL}
{LOG}
{MSG}
Subparameter Definition
ALL
Indicates that this OUTPUT JCL statement applies to all of the job’s
system-managed data sets.
LOG
Indicates that this OUTPUT JCL statement applies only to the JESMSGLG data
set, which contains the JES and operator messages for this job.
JCL
Indicates that this OUTPUT JCL statement applies only to the JESJCL data set,
which contains the JCL statements for this job.
MSG
Indicates that this OUTPUT JCL statement applies only to the JESYSMSG data
set, which contains any JCL error messages and any system messages for this
job.
If an OUTPUT JCL statement contains both JESDS and CLASS parameters, the
CLASS parameter will override the MSGCLASS parameter on the JOB statement
for the specified JES data sets.
You can place more than one OUTPUT JCL statement containing JESDS before the
first EXEC statement. JES creates a copy of the job’s system data sets for each.
System-managed data sets are not processed for the following jobs because the
jobs do not start execution:
v Jobs that specify a TYPRUN value on the JOB statement that prevents
execution, such as COPY or SCAN.
v Jobs that do not execute because of a JCL error, an error in a JES2 control
statement, or a system failure in JES2 input processing.
In this example, JES produces two copies of the system-managed data sets: one
copy for OUTPUT JCL statement OUT1 and one copy for OUTPUT JCL statement
OUT2. The copy for statement OUT2 is sent to AUSTIN.
LINDEX Parameter
Parameter Type
Purpose
Use the LINDEX parameter to set the right margin for output on a 3211 Printer with
the indexing feature. The width of the print line is reduced by the LINDEX
parameter value.
Note: LINDEX is supported only on JES2 systems and only for output printed on a
3211 with the indexing feature. JES2 ignores the LINDEX parameter if the
printer is not a 3211 with the indexing feature.
Syntax
LINDEX=nn
Subparameter Definition
nn
Specifies how many print positions the right margin on the 3211 output is to be
moved in from the full page width. nn is a decimal number from 1 through 31.
n=1 indicates flush-right; n=2 through n=31 move the right margin over by n-1
positions.
Defaults
The default is 1, which indicates flush right. Thus, if you do not code an INDEX or
LINDEX parameter, JES2 prints full-width lines.
In this example, the author of the report wanted extra space on the right side of the
paper for notes. Assuming the data set is printed on a 3211 with the indexing
feature, all lines are ended 20 print positions from the right page margin.
LINECT Parameter
Parameter Type
Purpose
Use the LINECT parameter to specify the maximum number of lines JES2 is to print
on each output page.
Syntax
LINECT=nnn
Subparameter Definition
nnn
Specifies the maximum number of lines JES2 is to print on each page. nnn is a
number from 0 through 255.
Specify LINECT=0 to keep JES2 from starting a new page when the number of
lines exceeds the JES2 initialization parameter.
Defaults
If you do not code the LINECT parameter, JES2 obtains the value from one of the
following sources, in order:
1. The linect field of the accounting information parameter on the JOB statement.
2. The installation default specified at JES2 initialization.
In this example, JES2 will start a new page after every 45 lines.
MODIFY Parameter
Parameter Type
Keyword, optional
Purpose
Use the MODIFY parameter to specify a copy-modification module that tells JES
how to print the sysout data set on a 3800 Printing Subsystem. The module can
specify the following:
v Legends.
v Column headings.
v Where and on which copies to print the data.
The module is defined and stored in SYS1.IMAGELIB using the IEBIMAGE utility
program.
Note: MODIFY applies only for the 3800 Printing Subsystem Model 1 and 2 and
the 3800 Printing Subsystem Models 3, 6 and 8 in compatibility mode. For
page-mode printers (such as the 3800 Model 3), use the FORMDEF and
PAGEDEF parameters to obtain the same functions.
References
For more information on the copy modification module and the IEBIMAGE utility
program, see z/OS DFSMSdfp Utilities.
v You can omit the module-name, thereby obtaining the initialization default. For example,
MODIFY=(,2).
v The trc subparameter is optional. If you omit it, you can omit the parentheses.
Subparameter Definition
module-name
Identifies a copy-modification module in SYS1.IMAGELIB. The module-name is
1 through 4 alphanumeric or national ($, #, @) characters.
trc
Identifies which character-arrangement table named in the CHARS parameter is
to be used. This table reference character is 0 for the first table-name
specified, 1 for the second, 2 for the third, or 3 for the fourth. The CHARS
parameter used is on the following, in override order:
1. The DD statement.
2. This OUTPUT JCL statement.
3. A statement in the library member specified on the OUTPUT JCL PAGEDEF
parameter.
4. A statement in the SYS1.IMAGELIB member obtained by default.
5. A JES3 initialization statement.
Defaults
If you do not code module-name in the MODIFY parameter, JES3 uses an
installation default specified at initialization. JES2 provides no installation default at
initialization.
If you do not specify trc, the default is 0. If the trc value is greater than the number
of table-names in the CHARS parameter, JES2 uses the first character-arrangement
table named in the CHARS parameter and JES3 uses the last
character-arrangement table named in the CHARS parameter.
Overrides
A MODIFY parameter on the sysout DD statement overrides the OUTPUT JCL
MODIFY parameter.
In this example, JES loads the MODA module in SYS1.IMAGELIB into the 3800
and uses GI12, Gothic Italic 12-pitch font, which is the third table name specified in
the CHARS parameter.
NAME Parameter
Parameter Type
Keyword, optional
Purpose
Use the NAME parameter to print a preferred name on the separator pages of the
output for a sysout data set. The preferred name is the name associated with the
output. An installation can use the preferred name to assist in sysout distribution.
Syntax
NAME= {’preferred name’}
{preferred-name }
Valid Characters in Enclosing Apostrophes:
v A preferred name enclosed in apostrophes can contain any EBCDIC text character.
v When the value for preferred name contains a blank, enclose the value in apostrophes.
v To code an apostrophe in the preferred name, code 2 apostrophes, and enclose the
preferred name in single apostrophes. For example:
//OUTDS OUTPUT NAME=’O’’ROURKE’
v Each value may optionally be enclosed in apostrophes.
Valid Characters Without Enclosing Apostrophes: When the value for preferred name is
not enclosed in apostrophes, the following characters are valid:
v Alphanumeric and national (@, $, #) characters
v Period (.) and asterisk (*); however, an asterisk followed by a period indicates a referral
and is not allowed as the start (first and second characters) of the value.
v Ampersand (&). An ampersand that refers to a symbolic is substituted. Two consecutive
ampersands are not substituted, but they will result in a single ampersand as part of the
value.
v Plus sign (+)
v Hyphen (-)
v Slash (/)
Subparameter Definition
preferred name
Specifies the preferred name that is associated with the sysout. The preferred
name is 1 - 60 EBCDIC text characters. See “Character Sets” on page 4-3 for a
description of EBCDIC text characters.
Defaults
v In an APPC scheduling environment:
In both JES2 and JES3 systems, if you do not code the NAME parameter on the
OUTPUT JCL statement, the system uses the value defined in the transaction
program (TP) user’s RACF profile when:
– The user submitting the TP profile has a RACF profile defined for him, and
– The transaction program profile includes TAILOR_SYSOUT(YES).
Overrides
v In an APPC scheduling environment:
In both JES2 and JES3 systems, the NAME parameter on the OUTPUT JCL
statement overrides the name defined in the RACF profile. The name in the
RACF profile overrides the name defined in the transaction initiator’s JOB
statement.
v In a non-APPC scheduling environment:
In both JES2 and JES3 systems, the NAME parameter on the OUTPUT JCL
statement overrides the name defined on the JOB statement.
In this example, the name R. ROPER will be printed on the line reserved for NAME
on separator pages of any sysout data set that references OUTDS7.
NOTIFY Parameter
Parameter Type
Purpose
Use the NOTIFY parameter to have PSF issue a print completion message to up to
four users. The message identifies the output that has completed printing, and
indicates whether the printing was successful. This parameter is effective for PSF
devices and any FSS products that support the NOTIFY keyword; it has no effect
for JES-mode devices. The print completion message is issued:
v on a JES2 system: when printing for all the sysout data sets for an output group
has completed. An output group consists of the sysout data sets printed between
the output header page and the output trailer page of a job.
v on a JES3 system: when the sysout data sets for the same printer and the same
job have been printed.
Syntax
NOTIFY= [node.]userid
([node1.]userid1,[node2.]userid2,...[node4.]userid4)
v You can omit the parentheses if you code only one destination.
v For any destination, you can omit the node name.
Defaults
If you do not code the NOTIFY parameter, the system will not issue a print
completion message. If you do not specify node, it will default to the node where
the job was submitted.
Example 2
//OUT1 OUTPUT NOTIFY=(BLDVM2.RICH1,CARTER)
OFFSETXB Parameter
Parameter Type
Keyword, optional
Purpose
Use OFFSETXB to specify the offset in the X direction from the page origin (or
partition origin for N_UP) for the back side of each page of output. This overrides
what is specified in the FORMDEF in use. For more information on page offsets
see the page ″Page Position″ in the PSF/MVS Application Programming Guide.
Syntax
OFFSETXB=mmmm[.nnn]{IN }
{CM }
{MM }
{PELS }
{POINTS}
Subparameter Definition
mmmm[.nnn]
Specifies a value, which may be one (m), two (mm), three (mmm), or four
(mmmm) digits (and which may be zero), and which optionally may be followed
by a decimal point (a period) and up to three (nnn) digits.
IN | CM | MM | PELS | POINTS
A mandatory unit that follows the value. The unit can be inches (IN),
In this example, the page is to be offset 10.5 millimeters in the X direction from the
page origin on the back of each sheet.
OFFSETXF Parameter
Parameter Type
Keyword, optional
Purpose
Similar to OFFSETXB (with the same units, values, and restrictions), OFFSETXF is
used to specify the offset in the X direction from the page origin (or partition origin
for N_UP) for the front side of each page of output.
OFFSETYB Parameter
Parameter Type
Keyword, optional
Purpose
Similar to OFFSETXB (with the same units, values, and restrictions), OFFSETYB is
used to specify the offset in the Y direction from the page origin (or partition origin
for N_UP) for the back side of each page of output.
OFFSETYF Parameter
Parameter Type
Keyword, optional
Purpose
Similar to OFFSETXB (with the same units, values, and restrictions), OFFSETYF is
used to specify the offset in the Y direction from the page origin (or partition origin
for N_UP) for the front side of each page of output.
OUTBIN Parameter
Parameter Type
Keyword, optional
Purpose
The OUTBIN keyword specifies the printer output bin identifier to be used for the
sysout data set. See PSF/MVS Application Programming Guide for more
information on multiple media destinations and OUTBIN processing.
Syntax
OUTBIN = nnnnn
Subparameter Definition
nnnnn
Species the ID of the printer output bin where the data set is to be sent. nnnnn
is 1 through 5 decimal digits from 1 to 65535.
Defaults
If the OUTBIN keyword is not specified, PSF (Print Services Facility) will stack the
output in the printer default output bin. If OUTBIN specifies a value that is not one
of the supported identifiers, PSF will stack the output in the printer default output
bin and issue a message indicating that the requested bin is not available.
Overrides
The OUTBIN value can be overridden via the JES3 *MODIFY command.
OUTDISP Parameter
Parameter Type
Keyword, optional
Purpose
If the automatic restart manager (ARM) restarts a job, JES discards all non-spin
sysout data sets created during the previous execution. (You can avoid losing that
output by adding SPIN=UNALLOC to the DD statement for the SYSOUT data set.)
Syntax
{OUTDISP=(normal-output-disposition,abnormal-output-disposition)}
v If you code only the normal-output-disposition, you can omit the parentheses.
v If you code only the abnormal-output-disposition, enclose the disposition in parentheses
and precede it with a comma. For example:
//OUTDS OUTPUT OUTDISP=(,PURGE)
Subparameter Definitions
WRITE
Indicates that the system is to print the sysout data set. After printing the data
set, the system purges it.
Unless it is held by the system or operator, a sysout data set with the
disposition WRITE will always print.
HOLD
Indicates that the system is to hold the sysout data set until the user or operator
releases it. Releasing the sysout data set changes its disposition to WRITE.
If HOLD output is not released, the system holds it until the user or operator
purges it.
NJE Note: In an NJE environment, the system does not hold the data set until
it reaches its ultimate destination node.
KEEP
Indicates that the system is to print the sysout data set. After printing the data
set, the system changes its disposition to LEAVE.
LEAVE
Indicates that after the user or operator releases the sysout data set, the
disposition of the data set changes to KEEP.
If LEAVE output is not released, the system holds it until the user or operator
purges it.
PURGE
Indicates that the system is to delete the sysout data set without printing it.
If you do not specify an abnormal output disposition, the system uses the normal
disposition that you specified.
If you specify an abnormal disposition but do not specify a normal disposition, the
normal disposition defaults to WRITE.
Overrides
The DD statement HOLD=YES parameter overrides the OUTDISP parameter.
When the job completes successfully, the disposition of the data set is KEEP. After
the sysout is printed, the data set disposition changes to LEAVE, and the sysout
data set is held until released by the user or operator.
If the job does not complete normally, the system purges the data set without any
post-execution processing.
Example 2
//OUTNORM OUTPUT OUTDISP=(WRITE,PURGE),DEST=ROOM111
//OUTBAD OUTPUT OUTDISP=(PURGE,HOLD),NAME=’D JONES’
//DD5 DD SYSOUT=A,OUTPUT=(*.OUTNORM,*.OUTBAD)
If the job completes successfully, the output for DD DD5 is to be sent to the
destination ROOM111. If the job does not complete successfully, the output is to be
held for a programmer named D JONES. D JONES can view the output on the
screen, and then purge it or release it to be printed if further diagnosis is required.
There are two OUTPUT statements, OUTNORM and OUTBAD. In any given case,
however, only one of the OUTPUT statements actually produces output. For
successful completion, the WRITE option on the OUTNORM statement specifies
that the output should be printed and sent to ROOM111, and the PURGE option on
OUTBAD specifies that no output is produced for the OUTBAD statement. For
unsuccessful completion, the HOLD option on the OUTBAD statement specifies that
the output should be held for D JONES, and the PURGE option on OUTNORM
specifies that no output is produced for the OUTNORM statement.
Example 3
//SYSOUTK OUTPUT OUTDISP=(WRITE,HOLD)
//REPORT1 DD SYSOUT=K,OUTPUT=*.SYSOUTK
The system processes the data set using OUTPUT statement SYSOUTK.
When the job does not complete successfully, the HOLD option specifies that the
system should hold the output.
OVERLAYB Parameter
Parameter Type
Keyword, optional
Purpose
Specifies to place the named medium overlay on the back side of each sheet to
print.
Syntax
OVERLAYB=ovlyname
Subparameter Definition
ovlyname
Specifies the medium overlay name, where the overlay name is 1 though 8
alphanumeric or national ($, #, @) characters and the first of those characters
is alphabetic or national.
In this example, the overlay named MYOVLY will be included on the back side of
each sheet for this data set.
OVERLAYF Parameter
Parameter Type
Keyword, optional
Purpose
OVFL Parameter
Parameter Type
Keyword, optional
Purpose
Use the OVFL parameter to specify whether the printer program (JES3 output
writer) should check for forms overflow (by sensing channel 12 as defined in the
FCB that is used for printing the output).
Note: OVFL is supported only on JES3 systems. Neither JES2 nor Print Services
Facility (PSF) supports OVFL.
Syntax
OVFL = [ON|OFF]
Subparameter Definition
ON
Indicates that the printer program should eject (skip to channel 1) whenever the
end-of-forms indicator (channel 12) is sensed.
OFF
Indicates that forms overflow control is not to be used.
Defaults
If you do not code the OVFL parameter, the default is ON.
PAGEDEF Parameter
Parameter Type
Keyword, optional
Purpose
Use the PAGEDEF parameter to identify a library member that contains statements
to tell the Print Services Facility (PSF) how to print the sysout data set on a
The member must be in the library named in the cataloged procedure that was
used to initialize the PSF, or in a library specified in the USERLIB parameter.
Note: PAGEDEF applies only for data sets printed on a page-mode printer (such
as a 3800 Model 3).
References
For more information, see PSF/MVS Application Programming Guide and 3800
Programmer’s Guide.
Syntax
PAGEDEF=membername
Subparameter Definition
membername
Specifies the name of the library member. membername is 1 through 6
alphanumeric or national ($, #, @) characters; the first two characters are
pre-defined by the system.
Overrides
The statements in the library member specified by the OUTPUT JCL PAGEDEF
parameter override the installation’s PAGEDEF defaults in the PSF cataloged
procedure.
The PSF uses the following parameters, in override order, to select the font list:
1. Font list in the library member specified by an OUTPUT JCL PAGEDEF
parameter.
2. DD CHARS parameter.
3. OUTPUT JCL CHARS parameter.
4. DD UCS parameter.
5. OUTPUT JCL UCS parameter.
6. JES installation default for the device.
7. Font list on the PAGEDEF parameter in the PSF cataloged procedure.
PIMSG Parameter
Parameter Type
Keyword, optional
Purpose
Use the PIMSG parameter to indicate the handling of messages by Print Services
Facility (PSF). PIMSG is used to specify whether all error messages are to be
printed, and the number of errors sufficient to cause the printing process to be
terminated and the data set to be purged.
When you code PIMSG=YES, the system prints all these messages at the end of
the output data set.
When you code PIMSG=NO, no messages are printed unless there is an error that
forces premature termination of the printing of the data set. If an error occurs, the
system prints the set of messages (called a message group) associated with the
error that caused the termination.
As errors are detected by PSF or reported to PSF by the printer, a count is kept of
the associated message groups. When the count equals the number specified on
the PIMSG parameter, PSF terminates the printing of the current data set. PSF
interprets a count of zero as infinite, and does not terminate the printing of the data
set on the basis of the number of errors detected.
Note: PIMSG can be specified only for data sets printed through PSF.
Syntax
PIMSG= {(YES[,msg-count])}
{(NO[,msg-count]) }
Subparameter Definition
YES
Requests the system to print all messages generated by PSF. You can also
code this subparameter as Y.
NO
Requests that the system print no error messages, unless printing of the data
set is prematurely terminated. If a terminating error occurs, only the set of
messages (called a message group) associated with the error that caused the
termination is printed. You can also code this subparameter as N.
msg-count
Requests the system to cancel the printing of the current data set after the
specified number of errors (as represented by the associated message groups)
have been detected by PSF or reported to PSF by the printer. In this context,
Defaults
If you do not code the PIMSG parameter, the PIMSG specification from the PSF
PRINTDEV statement applies. If not specified in the PRINTDEV statement, the
default is PIMSG=(YES,16). For information about the PRINTDEV statement, see
PSF for OS/390 & z/OS: Customization.
Example 2
//OUTDS2 OUTPUT DATACK=UNBLOCK,PIMSG=(NO,5)
PORTNO Parameter
Parameter Type
Keyword, optional
Purpose
Use the PORTNO parameter to specify the TCP/IP port number at which the FSS
(for example, IP Printway) connects to the printer.
Syntax
PORTNO=nnnnn
PRMODE Parameter
Parameter Type
Keyword, optional
Purpose
Use the PRMODE parameter to identify the process mode required to print the
sysout data set. JES schedules the data set to a printer that can operate in the
specified mode.
Syntax
PRMODE= {LINE }
{PAGE }
{process-mode}
Subparameter Definition
LINE
Indicates that the data set is to be scheduled to a line-mode printer.
PAGE
Indicates that the data set is to be scheduled to a page-mode printer.
process-mode
Specifies the required process mode. The process-mode is 1 through 8
alphanumeric characters.
For an NJE-transmitted data set, use PRMODE to request specific processing
without having to obtain output classes for the node that processes the data
set.
Defaults
If you do not code the PRMODE parameter, JES schedules output processing as
follows:
v If the sysout data set does not contain page-mode formatting controls, the
process mode of line is given to the data set.
In this example, JES schedules the sysout data set to a printer with a process
mode of line.
PRTERROR Parameter
Parameter Type
Keyword, optional
Purpose
Specifies the disposition of the SYSOUT data set used if a terminating error occurs
during printing through the PSF/MVS functional subsystem. (A terminating error is
an error that the automated recovery of PSF/MVS cannot correct.) You can specify
which of the following actions PSF/MVS is to take for a terminating error:
v Use the default error disposition (DEFAULT),
v Release the SYSOUT data set back to JES as complete (QUIT), or
v Hold for operator action (HOLD).
Syntax
PRTERROR=(DEFAULT|QUIT|HOLD)
Subparameter Definition
DEFAULT
Specifies that PSF/MVS will take the standard (default) action if a terminating
error occurs during printing. When operator action is expected to correct the
error, PSF/MVS releases the SYSOUT data set for hold. Otherwise, it treats the
SYSOUT data as complete. For JES2, processing of the data set proceeds
according to the OUTDISP keyword value that is associated with it. For JES3,
the data set is deleted from the SPOOL. (See ″Relationship to Other Control
Statements,″ below.)
QUIT
Specifies that PSF/MVS is to release the data set complete even if a
terminating error occurs during printing. JES then disposes of the data set as if
it completed printing successfully. For JES2, processing of the data set
Note: There are conditions under which PRTERROR has no effect. See the
applicable PSF/MVS book for additional information.
In this example, if a terminating error occurs during printing, the data set remains
on the JES SPOOL until the system operator releases it.
Example 2
//OUTPRTER OUTPUT PRTERROR=QUIT
In this example, if a terminating error occurs during printing, PSF quits processing
the data set and releases it as ″complete,″ and JES applies processing appropriate
for a completed data set.
PRTOPTNS Parameter
Parameter Type
Keyword, optional
Purpose
Syntax
PRTOPTNS=<options name>
PRTQUEUE Parameter
Parameter Type
Keyword, optional
Purpose
PRTQUEUE defines the name of the target print queue on a remote host system.
The PRTQUEUE keyword applies only to data sets processed by a functional
subsystem that can perform Internet Protocol (IP) transmission. JES does not use
PRTQUEUE, but passes it to the functional subsystem (for example, IP PrintWay),
during data set selection. See the documentation for the particular subsystem for
additional information.
Syntax
PRTQUEUE=<print queue name>
Subparameter Definition
<print queue name>
Identifies the target print queue name. The name can be 1 to 127 characters
long and may include any printable character. If the name includes any special
character (for example, a dash or lower case letter), enclose the entire
parameter in single quotes. You can also specify this keyword by using a
dynamic output descriptor.
In this example 4019 is the name of the target print queue destination.
PRTY Parameter
Parameter Type
Keyword, optional
Purpose
Use the PRTY parameter to specify the priority at which the sysout data set enters
the output queue. A data set with a higher priority is printed sooner.
Syntax
PRTY=nnn
Subparameter Definition
nnn
Specifies the initial priority. nnn is a decimal number from 0 through 255; 0 is
the lowest priority while 255 is the highest.
Defaults
If you do not code the PRTY parameter, JES3 uses an installation default specified
at initialization. JES2 uses a priority that is calculated for all output.
Overrides
In JES2 systems, the installation can specify at JES2 initialization that JES2 is to
ignore the OUTPUT JCL PRTY parameter.
In JES3 systems, the OUTPUT JCL PRTY parameter is ignored for JES3
networking.
In this example, JES prints one copy of the president’s report, PRESRPT, on forms
named TOPSEC. Because a priority of 200 is specified, the report is probably
printed immediately after entering the output queue.
RESFMT Parameter
Parameter Type
Keyword, optional
Purpose
Syntax
RESFMT = {P240 | P300}
Subparameter Definition
P240
Indicates that the data set was formatted with resources at 240 pels per inch.
P300
Indicates that the data set was formatted with resources at 300 pels per inch.
In this example, the print data set was formatted for printing at 240 pels per inch.
Keyword, optional
Purpose
RETAINS specifies the amount of time to retain a successfully transmitted data set.
RETAINF specifies the amount of time to retain a data set that failed to be
transmitted. Each of these keywords consists of a numeric value indicating hours,
minutes, and seconds.
These parameters apply only to data sets processed by a functional subsystem that
can perform Internet Protocol (IP) transmission. JES does not use the RETAINS or
RETAINF parameters, but passes them to the functional subsystem during data set
selection.
Use RETAINS= when the functional subsystem has successfully transmitted the
data set. Use RETAINF= when the functional subsystem employing the IP routing
has not successfully transmitted the data set, despite performing all the indicated
retries through any RETRY parameters specified. You have the option of
manipulating the data set through the facilities provided by the functional subsystem
before that subsystem releases the data set to JES. See the documentation for the
particular subsystem for additional information.
Subparameter Definition
<hhhh>:<mm>:<ss>
Specifies the successful (RETAINS=) and failed (RETAINF=) time intervals to
retain the data set.
One to ten characters, where <hhhh>, <mm>, and <ss> are numeric. This
format requires that for either keyword you enclose the entire parameter in
single quotes due to the colon as a special character.
You may specify FOREVER to request the system to retain the data set
indefinitely.
You can also specify these keywords by using a dynamic output descriptor.
Only functional subsystems may use these keywords. See the documentation
for the particular subsystem for additional information.
In this example the functional subsystem will not release the data set to JES until
one hour after a successful transmission. If the data set was not successfully
transmitted, the subsystem will not release the data set to JES until two hours after
the last unsuccessful transmission attempt.
In this example the functional subsystem will retain the data set for three hours
following a failed transmission before releasing it to JES.
Keyword, optional
Purpose
RETRYL and RETRYT apply only to data sets processed by a functional subsystem
that can perform Internet Protocol (IP) transmission. JES does not use the RETRYL
or RETRYT parameters, but passes them to the functional subsystem during data
set selection. See the documentation for the particular subsystem for additional
information.
Syntax
RETRYL=nnnnn
RETRYT=’<hhhh>:<mm>:<ss>’
Subparameter Definition
<nnnnn>
An integer from 0 to 32,767 (decimal) that specifies the maximum number of
retries to attempt before the RETAIN keyword options are to take effect.
<hhhh>:<mm>:<ss>
One to ten characters, where <hhhh>, <mm>, and <ss> are numeric. This
format requires that you enclose this entire parameter in single quotes due to
the colon as a special character.
These keywords are for use only by functional subsystems such as IP PrintWay.
See the documentation for the particular subsystem for additional information.
You can also specify these keywords by using a dynamic output descriptor.
In this example a retry is attempted every hour, for a maximum of five attempts.
ROOM Parameter
Parameter Type
Keyword, optional
Purpose
Use the ROOM parameter to print a room identification on the separator pages of
the output for a sysout data set. An installation can use the room identification to
assist in sysout distribution.
Syntax
ROOM= {’room identification’}
{room-identification }
Valid Characters in Enclosing Apostrophes:
v A room identification enclosed in apostrophes can contain any EBCDIC text character.
v When the value for room identification contains a blank, enclose the value in
apostrophes.
v To code an apostrophe in the room identification, code 2 apostrophes, and enclose the
preferred name in single apostrophes. For example:
//OUTDS OUTPUT ROOM=’DIRECTOR’’S ROOM’
v Each value may optionally be enclosed in apostrophes.
Valid Characters Without Enclosing Apostrophes: When the value for room identification
is not enclosed in apostrophes, the following characters are valid:
v Alphanumeric and national (@, $, #) characters
v Period (.) and asterisk (*); however, an asterisk followed by a period indicates a referral
and is not allowed as the start (first and second characters) of the value.
v Ampersand (&). An ampersand that refers to a symbolic is substituted. Two consecutive
ampersands are not substituted, but they will result in a single ampersand as part of the
value.
v Plus sign (+)
v Hyphen (-).
v Slash (/)
Subparameter Definition
room identification
Specifies the room identification to be associated with the sysout. The room
Defaults
v In an APPC scheduling environment:
In both JES2 and JES3 systems, if you do not code the ROOM parameter on the
OUTPUT JCL statement, the system uses the value defined in the transaction
program (TP) user’s RACF profile when:
– The user submitting the TP profile has a RACF profile defined for him, and
– The transaction program profile includes TAILOR_SYSOUT(YES).
Otherwise, the system uses the value defined on the transaction initiator’s job
statement.
v In a non-APPC scheduling environment:
In a JES2 system, if you do not code the ROOM parameter on the OUTPUT JCL
statement, the system uses the 4-character room field defined in the JES2
accounting parameter on the JOB statement.
In a JES3 system, there is no default for the ROOM parameter on the OUTPUT
JCL statement.
Overrides
v In an APPC scheduling environment:
In both JES2 and JES3 systems the ROOM parameter on the OUTPUT JCL
statement overrides the room defined in the RACF profile. The room in the RACF
profile overrides the room defined in the transaction initiator’s job statement.
v In a non-APPC scheduling environment:
In both JES2 and JES3 systems, the ROOM parameter on the OUTPUT JCL
statement overrides the 4-character room field defined in the JES2 accounting
parameter on the JOB statement.
In this example, CONFERENCE ROOM is printed on the line reserved for ROOM
on the separator pages of any sysout data set that references OUTDS8.
SYSAREA Parameter
Parameter Type
Keyword, optional
Purpose
Use the SYSAREA (system area) parameter to indicate whether the system should
reserve an area on each page of printed output for the security label. The security
label represents a security level and categories as defined to RACF.
Note: When a system area is reserved for a security label, the system shifts the
printed output on each page. You cannot print output data in the system
area.
For additional information on the system area, refer to the PSF/MVS System
Programming Guide.
Syntax
SYSAREA= {YES}
{Y }
{NO }
{N }
Subparameter Definition
YES
Requests that a system area be reserved on each page of printed output for the
security label. This parameter can also be coded as Y.
NO
Requests that a system area not be reserved on each page of printed output for
the security label. This parameter can also be coded as N.
Defaults
If you do not code the SYSAREA parameter, an installation default determines if a
system area is reserved for a security label.
The SYSAREA parameter can be coded with any other OUTPUT JCL statement
parameters.
In this example, the security label CONF (specified on the SECLABEL parameter of
the JOB statement) is printed on each page of printed output in the system area.
The sysout data set is printed on forms named CSEC.
THRESHLD Parameter
Parameter Type
Purpose
Use the THRESHLD parameter to specify the maximum size for the sysout data
set. JES3 calculates the sysout data set size as the number of records multiplied by
the number of copies requested. When this size exceeds the THRESHLD value,
Use the THRESHLD parameter for jobs that generate many large data sets or
many copies of one large data set.
Syntax
THRESHLD=limit
Subparameter Definition
limit
Specifies the maximum number of records for a single sysout data set. limit is a
decimal number from 1 through 99999999.
Defaults
If you do not code the THRESHLD parameter, JES3 uses an installation default
specified at initialization.
In this example, the report data sets, RPT1, RPT2, and RPT3, are processed in
sysout class A. All three DD statements implicitly reference the step-level default
OUTPUT JCL statement SYSDS3; therefore, the THRESHLD value specified in the
OUTPUT JCL statement applies to the three reports combined. JES3 is to print the
following:
Total 16500
Because the total exceeds the THRESHLD limit, JES3 divides the sysout data sets
into two units of work. RPT1 is printed as one unit, and the other two data sets are
printed together as another unit. If the THRESHLD limit had been 20000, all three
data sets would have been printed as one unit of work.
TITLE Parameter
Parameter Type
Keyword, optional
Purpose
Use the TITLE parameter to print a description of the output on the separator pages
of the output of a sysout data set. An installation can use the description to assist in
sysout distribution.
Syntax
TITLE= {’description of output’}
{description-of-output }
Valid Characters in Enclosing Apostrophes:
v A description of output enclosed in apostrophes can contain any EBCDIC text character.
v When the value for description of output contains a blank, enclose the value in
apostrophes.
v To code an apostrophe in the description of output, code 2 apostrophes, and enclose the
description of output in single apostrophes. For example:
//OUTDS OUTPUT TITLE=’PRESIDENT’’S REPORT’
v Each value may optionally be enclosed in apostrophes.
Valid Characters Without Enclosing Apostrophes: When the value for description of
output is not enclosed in apostrophes, the following characters are valid:
v Alphanumeric and national (@, $, #) characters
v Period (.) and asterisk (*); however, an asterisk followed by a period indicates a referral
and is not allowed as the start (first and second characters) of the value.
v Ampersand (&). An ampersand that refers to a symbolic is substituted. Two consecutive
ampersands are not substituted, but they will result in a single ampersand as part of the
value.
v Plus sign (+)
v Hyphen (-).
v Slash (/)
Subparameter Definition
description of output
Specifies a description of output to be associated with a sysout data set. The
description of output is 1 - 60 EBCDIC text characters. See “Character Sets” on
page 4-3 for a description of EBCDIC text characters.
In this example, ANNUAL REPORT is printed on the line reserved for title on the
separator pages of any sysout data set referencing OUTDS5.
TRC Parameter
Parameter Type
Keyword, optional
Purpose
Use the TRC parameter to specify whether the logical record for each output line in
the sysout data set contains table reference character (TRC) codes or not. The
TRC code identifies which table-name in the CHARS parameter is to be used to
print the record.
Note: TRC is supported only for a data set processed by the Print Services Facility
(PSF).
Syntax
TRC= {YES}
{Y }
{NO }
{N }
Subparameter Definition
YES
Indicates that the data set contains TRC codes. This subparameter can also be
coded as Y.
NO
Indicates that the data set does not contain TRC codes. This subparameter can
also be coded as N.
Note: The data set DCB must not indicate that the data set contains TRC codes.
DCB=(OPTCD=J) overrides TRC=NO when the data set is printed by PSF.
Defaults
If you do not code the TRC parameter, the default is to use TRC characters only if
the data set DD statement specified DCB=(OPTCD=J).
UCS Parameter
Parameter Type
Keyword, optional
Purpose
The UCS image specifies the special character set to be used. JES loads the
image into the printer’s buffer. The UCS image is stored in SYS1.IMAGELIB. IBM
provides the special character set codes in Table 22-2.
References
For more information on the UCS parameter, see z/OS DFSMSdfp Advanced
Services.
Syntax
UCS=character-set-code
Subparameter Definition
character-set-code
Identifies a universal character set. The character-set-code is 1 through 4
alphanumeric or national ($, #, @) characters. See Table 22-2 for IBM standard
special character set codes.
Defaults
If you do not code the UCS parameter, the system checks the UCS image in the
printer’s buffer; if it is a default image, as indicated by its first byte, JES uses it. If it
is not a default image, JES loads the UCS image that is the installation default
specified at JES initialization.
On an impact printer, if the chain or train does not contain a valid character set,
JES asks the operator to specify a character set and to mount the corresponding
chain or train.
Not all of these character sets may be available at your installation. Also, an installation can
design character sets to meet special needs and assign a unique code to them. Follow
installation procedures for using character sets.
Overrides
For printing on a printer with the UCS feature, a UCS parameter on the sysout DD
statement overrides the OUTPUT JCL UCS parameter. For printing on a 3800, a
CHARS parameter on the sysout DD statement or the OUTPUT JCL statement
overrides all UCS parameters.
For a data set scheduled to the Print Services Facility (PSF), the PSF uses the
following parameters, in override order, to select the font list:
1. Font list in the library member specified by an OUTPUT JCL PAGEDEF
parameter.
2. DD CHARS parameter.
3. OUTPUT JCL CHARS parameter.
4. DD UCS parameter.
5. OUTPUT JCL UCS parameter.
6. JES installation default for the device.
7. Font list on the PAGEDEF parameter in the PSF cataloged procedure.
In this example, JES uses standard EBCDIC character set arrangement A, with 48
characters, to print the sysout data set on a 3211 printer.
USERDATA Parameter
Parameter Type
Keyword, optional
Purpose
The purpose and use of this keyword is defined by the installation. Refer to your
installation’s definition on the intent and use of this keyword.
If your installation does not define any use for this keyword, the information will be
checked for syntax, stored as part of the output descriptor’s information, and will
then be ignored.
Networking Considerations
The use of the USERDATA keyword on one network node can be different from the
use on another network node. An installation will have to coordinate any sending
and receiving nodes to make use of the USERDATA keyword.
References
Syntax
USERDATA=value
(value[,value]...)
Subparameter Definition
value
Specifies the installation defined values for the installation’s prescribed
processing. You can code up to 16 installation-defined values. Each value may
be from 1 to 60 EBCDIC text characters. See “Character Sets” on page 4-3 for
a description of EBCDIC text characters.
Defaults
Determined by the installation.
Overrides
Determined by the installation.
Example 1
//OUTDS1 OUTPUT USERDATA=USERVALUE
Example 2
//OUTDS2 OUTPUT USERDATA=’Installation data’
In this example, the USERDATA keyword contains a single parameter value within
apostrophes (Installation data).
Example 3
//OUTDS3 OUTPUT USERDATA=’LOCALKEY=Installation data’
In this example, the USERDATA keyword contains a single parameter value within
the apostrophes (LOCALKEY=Installation data). The single parameter value
contains a string within the apostrophes that could be used to identify an
installation-defined keyword (LOCALKEY) and its parameter value (Installation
data).
Example 4
//OUTDS4 OUTPUT USERDATA=’USERKEY1=User’’s value’
Example 5
//OUTDSA OUTPUT USERDATA=(’non-keyword data’,
// ’SOMEKEY=Some data’,
// ’PARM3=Parm3’’s value’,
// LASTVALUE)
Example 6
//OUTDSB OUTPUT USERDATA=(’Installation_Keyword=Installation
// defined keyword value’,
// ’PARM2=Parm2’’s value (second option)’)
Example 7
//PROCC PROC PARM1=POSITIONAL,SOMEDATA=SOMETHING
//STEPC EXEC PGM=MYPGM
//OUTDSC OUTPUT USERDATA=(&PARM1,
// SOMEKEY-&SOMEDATA)
In this example, the USERDATA keyword contains two parameter values. If the
installation allows a format of keyword-value, where the hyphen (-) is interpreted as
an equal sign (=), then the parameter values do not need to be enclosed within
apostrophes. Symbolic substitution of the parameter values is more straightforward.
v The first parameter value contains a string that could be used to identify an
installation defined parameter value that is defined as a symbolic parameter. The
procedure default for the value is taken from the PROC statement
(POSITIONAL).
v The second parameter value contains a string that could be used to identify an
installation defined keyword (SOMEKEY), the hyphen is considered an equal sign
(by the installation), and the parameter value that is defined as a symbolic
parameter. The procedure default for the value is taken from the PROC
statement (SOMETHING).
Example 8
//PROCD PROC PARM1=POSITIONAL,SOMEDATA=SOMETHING
//STEPD EXEC PGM=MYPGM
//OUTDSD OUTPUT USERDATA=(’&PARM1’,
// ’SOMEKEY-&SOMEDATA’)
In this example, the USERDATA keyword contains two parameter values. If the
installation allows a format where an installation-defined keyword=value format
requires the entire parameter value to be enclosed within apostrophes, symbolic
substitution of the parameter values is less straightforward than in the previous
example.
v The first parameter value contains a string within the apostrophes that could be
used to identify an installation defined parameter value that is defined as a
USERLIB Parameter
Parameter Type
Keyword, optional
Purpose
Syntax
USERLIB={data-set-name }
{(data-set-name1,data-set-name2,...data-set-name8)}
v You can omit the parentheses if you code only one data set name.
v If you code more than one data set name, each data set name may be enclosed in
apostrophes. However, apostrophes around each data set name are not required.
Subparameter Definitions
data-set-name
Specifies from 1 to 8 library data set names containing AFP resources. The
data set name must be a cataloged MVS data set. The library can contain any
AFP resources. The libraries are searched in the order in which they are
specified on the USERLIB statement.
Overrides
PSF obtains the system and installation resources in the following order:
1. Inline print data set resources
2. Libraries specified on the USERLIB statement
3. System libraries
In this example, PSF is to print the sysout data set using PAGEDEF=STNDRD and
FORMDEF=CENTER.
When processing the sysout data set, PSF will search the user libraries before
searching the system libraries for the specified PAGEDEF and FORMDEF. When
searching the user libraries, PSF will search USER.PRIVATE.RESOURCE before
searching GROUP.PRIVATE.RESOURCE.
Example 2
//OUT1 OUTPUT PAGEDEF=STNDRD,FORMDEF=CENTER,
// USERLIB=(’USER.PRIVATE.RESOURCE’,’GROUP.PRIVATE.RESOURCE’)
You may code apostrophes around the data set names, but apostrophes are not
required. The system will process this example the same way it processes Example
1.
WRITER Parameter
Parameter Type
Keyword, optional
Purpose
Use the WRITER parameter to name an external writer to process the sysout data
set rather than JES. An external writer is an IBM- or installation-written program.
References
For information about external writers, see z/OS JES2 Initialization and Tuning
Guide or z/OS JES3 Initialization and Tuning Guide.
Subparameter Definition
name
Identifies the member name (1 to 8 alphanumeric characters) of an
installation-written program in the system library that the external writer loads to
write the output data set.
Do not code INTRDR or STDWTR (and for JES3, NJERDR) as the writer name.
These names are reserved for JES.
Defaults
If you do not code the WRITER parameter, the installation’s job entry subsystem
processes the sysout data set.
Overrides
The writer-name subparameter of the SYSOUT parameter on the sysout DD
statement overrides the OUTPUT JCL WRITER parameter.
Use the PEND statement to mark the end of an in-stream procedure. You may end
a cataloged procedure with a PEND statement, but it is not required.
Description
Syntax
The PEND statement consists of the characters // in columns 1 and 2 and three fields:
name, operation (PEND), and comments. Do not continue a PEND statement.
Name Field
A name is optional on the PEND statement. If used, code it as follows:
v The name must begin in column 3.
v The name is 1 through 8 alphanumeric or national ($, #, @) characters.
v The first character must be alphabetic or national ($, #, @).
v The name must be followed by at least one blank.
| v The name may be preceded by up to 8 alphanumeric or national characters, and
| then separated by a period. Coding the name in this way should not be confused
| with specifying an override, as can be done when coding DD statements.
Operation Field
The operation field consists of the characters PEND and must be preceded and
followed by at least one blank. It can begin in any column.
Comments Field
The comments field follows PEND after at least one intervening blank.
Example 2
// PEND
The PROC statement marks the beginning of a procedure. The PROC statement
can assign default values to symbolic parameters, if coded, in the procedure.
Description
Syntax
A PROC statement consists of the characters // in columns 1 and 2 and four fields: name,
operation (PROC), parameter, and comments.
Multiple Parameters: When more than one parameter is coded, separate parameters by
commas. For example, //P1 PROC PARM1=OLD,PARM2=222001.
Special Characters: When a parameter value contains special characters, enclose the
value in apostrophes. The enclosing apostrophes are not considered part of the value. For
example, //P2 PROC PARM3='3400-6'.
Code each apostrophe that is part of a value as two consecutive apostrophes. For example,
//P3 PROC PARM4=‘O’‘DAY’.
However, if the symbolic parameter is enclosed within a matched pair of parentheses, you
do not need to enclose the parentheses in apostrophes.
Continuation onto Another Statement: End each statement with a comma after a
complete parameter. For example:
//P4 PROC PARM5=OLD,PARM6=’SYS1.LINKLIB(P40)’,
// PARM7=SYSDA,PARM8=(CYL,(10,1))
Name Field
A name is required on a PROC statement in an in-stream procedure and is optional
on a PROC statement in a cataloged procedure. Code it as follows:
v When coded for an in-stream procedure, each name must be unique within the
job. When coded for a cataloged procedure, the name need not be unique.
v The name must begin in column 3.
v The name is 1 through 8 alphanumeric or national ($, #, @) characters.
v The first character must be alphabetic or national ($, #, @).
v The name must be followed by at least one blank.
Parameter Field
The parameters on a PROC statement assign default values to symbolic
parameters on procedure statements. An in-stream PROC statement requires
parameters only if the procedure contains symbolic parameters. See “Using System
Symbols and JCL Symbols” on page 5-12 for details on symbolic parameters and
on how to assign values to them.
If coded, the parameter field must be preceded and followed by at least one blank.
Comments Field
The comments field follows the parameter field after at least one intervening blank.
Do not code comments unless you code the parameter field.
Overrides
To override a default parameter value on a PROC statement, code the same
parameter on the EXEC statement that calls the procedure.
Example 2
//CARDS PROC
This PROC statement can be used to mark the beginning of an in-stream procedure
named CARDS.
The values that you assign to symbolic parameters on a SET statement are used in
v Subsequent JCL statements in the JCL stream, and
v Statements in subsequent procedures and nested procedures, when you:
– Do not assign the values for the symbolic parameters on any PROC
statements, or on any EXEC statements that call the procedures
– Do not nullify the values for the symbolic parameters on any PROC
statements, or on any EXEC statements that call the procedures.
Symbolic parameter values that are assigned or nullified by calling EXEC or PROC
statements override the values you assign or nullify with the SET statement.
The rules for symbolic parameters apply to the symbolic parameters you specify on
the SET statement. See the topics “Using System Symbols and JCL Symbols” on
page 5-12 and “Using Symbols in Nested Procedures” on page 5-26.
See also the EXEC and PROC statements, which also define and assign values to
symbolic parameters.
Description
Syntax
Multiple Parameters: When more than one parameter is coded, separate parameters by
commas. For example:
//SP1 SET PARM1=OLD,PARM2=222001
Special Characters and Blanks: When a parameter value contains special characters or
blanks, enclose the value in apostrophes. The enclosing apostrophes are not considered
part of the value. For example:
//SP2 SET PARM3=’3400-6’
Code each apostrophe that is part of a value as two consecutive apostrophes. For example:
//SP3 SET PARM4=’O’’DAY’
However, if the symbolic parameter is enclosed within a matched pair of parentheses, you
do not need to enclose the parentheses in apostrophes. For example:
//SET1 SET DSP=(NEW,KEEP)
Continuation onto Another Statement: End each statement with a comma after a
complete parameter and continue the parameter field on the next statement between
columns 4 and 16. For example:
//SP4 SET PARM5=OLD,PARM6=’SYS1.LINKLIB(P40)’,
// PARM7=SYSDA,PARM8=’(CYL,(10,1))’
Name Field
A name is optional on a SET statement. If used, code it as follows:
v The name should be unique within the job.
v The name must begin in column 3.
v The name is 1 through 8 alphanumeric or national ($, #, @) characters.
v The first character must be alphabetic or national ($, #, @).
v The name must be followed by at least one blank.
Operation Field
The operation field consists of the characters SET and must be preceded and
followed by at least one blank. It can begin in any column.
Parameter Field
The SET statement contains one or more parameters:
symbolic-parameter=value[,symbolic parameter=value]...
Defines a symbolic parameter and specifies the initial value to be assigned to
the symbolic parameter appearing in subsequent JCL statements. Separate
each assignment of a value to a symbolic parameter by commas.
To nullify a symbolic parameter, specify:
symbolic-parameter=
Comments Field
The comments field follows the parameter field after at least one intervening blank.
When the target of an MVS START command contains a JOB statement, and the
MVS START command specifies symbolic parameters, the system inserts a SET
statement into the job to define those symbolic values. In contrast to the normal
behavior of SET statements, values defined on this SET statement override:
v Other SET statements that occur before the first IF or EXEC statement in the job
v An EXEC statement that invokes an outer (non-nested) procedure
v A PROC statement in an outer procedure.
See “Defining and Nullifying JCL Symbols” on page 5-13 and “Using Symbols in
Nested Procedures” on page 5-26 for the complete set of rules for assigning values
to symbolic parameters.
Place a SET statement in the job’s JCL before the intended use of the symbolic
parameter.
The symbolic parameter DSP is defined and initialized to the value NEW.
//SET1 SET DSP=NEW
Example 2
&DSP is assigned the value (NEW,KEEP) from PROC statement PR2 for execution:
//DD6 DD DSNAME=ALPHA.PGM2,DISP=(NEW,KEEP)
In the example, the definition of DSP on SET statement SETA does not override
the default definition of DSP on PROC statement PR2.
Example 3
This example shows the SET statement spanning two records. The symbolic
parameters are defined and initialized to the values shown on SET statement
SETB. They are referenced by coding &AA, &BB, and &CC in the JCL, for example:
//SETB SET AA=BETA.PGM.RATE,BB=DCLAS03,
// CC=(NEW,KEEP)
.
.
//PR3 PROC ...
//S3 EXEC PGM=...
//DD7 DD DSNAME=&AA,DATACLAS=&BB,DISP=&CC
.
// PEND
.
//S1 EXEC PROC=PR3,BB=DCLAS0X
.
In the example, the values assigned on DD statement DD7 for execution are:
//DD7 DD DSNAME=BETA.PGM.RATE,DATACLAS=DCLAS0X,DISP=(NEW,KEEP)
The values defined for the symbolic parameters on SET statement SETB are
assigned to the AA and CC symbolic parameters in procedure PR3 for execution.
However, the value defined for symbolic parameter BB on EXEC statement S1
overrides the value defined on SET statement SETB.
Example 4
The following example shows the use of the SET statement assigning values to
symbolic parameters in an INCLUDE group.
//* THIS INCLUDE GROUP IS CATALOGED AS...
//* PUCHKOFF.SYSOUT.JCL(SYSOUT2)
//SYSOUT2 DD SYSOUT=A
The SET statement, which can be easily changed for different jobs, assigns values
to the symbolic parameters in INCLUDE group SYSOUT2.
After the INCLUDE statement is processed, the JCL stream would be executed as:
//TESTJOB JOB ...
//LIBSRCH JCLLIB ORDER=PUCHKOFF.SYSOUT.JCL
//STEP1 EXEC PGM=OUTRTN
//* THIS INCLUDE GROUP IS CATALOGED AS...
//* PUCHKOFF.SYSOUT.JCL(SYSOUT2)
//SYSOUT2 DD SYSOUT=A
//OUT1 OUTPUT DEST=POK,COPIES=3
//OUT2 OUTPUT DEST=KINGSTON,COPIES=10
//OUT3 OUTPUT DEST=STL,COPIES=10
//* END OF INCLUDE GROUP...
//* PUCHKOFF.SYSOUT.JCL(SYSOUT2)
//STEP2 EXEC PGM=IEFBR14
The INCLUDE group has been imbedded in the JCL stream (replacing the
INCLUDE statement) and values assigned to the symbolic parameters in the
INCLUDE group.
Purpose
Use the XMIT JCL statement to transmit records from an MVS JES3 node to a
JES3 node, a JES2 node, a VSE/POWER node, or a VM/RSCS node.
The sending system does not process or check the records for validity except when
the JCL is processed by an internal reader (such as with TSO/E submit processing).
In this case, the system recognizes /*EOF and /*DEL as internal reader control
statements and errors can occur on the sending system if /*EOF or /*DEL are
included in the XMIT JCL stream.
To transmit /*EOF and /*DEL statements as part of the XMIT JCL stream, replace /*
with two substitute characters and identify the substitute characters on the
SUBCHARS parameter. Prior to transmission, the sending system converts the two
substitute characters to /*. The receiving (execution) system can then process the
/*EOF and /*DEL statements as internal reader control statements.
Do not nest XMIT JCL statements. That is, do not include an XMIT JCL statement
between an XMIT JCL statement and its delimiter.
The system builds network job header and trailer records from information on the
JOB statement and any //*NETACCT statements, if included, preceding the XMIT
JCL statement. Then the system transmits all the records between the XMIT JCL
statement and a delimiter statement.
The records can consist of a job input stream, an in-stream DD * or DD DATA data
set, or any job definition statements recognized by the destination node. If the
records are a job input stream, and the destination node can process the JCL, the
transmitted input stream is executed at the destination node. The records must be
80 characters long.
The records end when the system finds one of the following delimiters:
v /* in the input stream, if a DLM parameter is not coded on this XMIT JCL
statement. (Refer to Chapter 12. Delimiter Statement for an explanation of /*.)
From TSO/E only, TSO/E inserts /* at the end-of-file if the default delimiter is not
supplied.
v The two-character delimiter specified by a DLM parameter on this XMIT JCL
statement.
Description
Syntax
The XMIT JCL statement consists of the characters // in columns 1 and 2 and four fields:
name, operation (XMIT), parameter, and comments.
Name Field
A name is optional on the XMIT JCL statement. If used, code it as follows:
v Each name must be unique within the job.
v The name must begin in column 3.
v The name is 1 through 8 alphanumeric or national ($, #, @) characters.
v The first character must be alphabetic or national ($, #, @).
v The name must be followed by at least one blank.
Operation Field
The operation field consists of the characters XMIT and must be preceded and
followed by at least one blank. It can begin in any column.
Parameter Field
The XMIT JCL statement contains only keyword parameters. A DEST parameter is
required; the DLM and SUBCHARS parameters are optional. If your JCL is to be
processed by an internal reader and /*EOF or /*DEL is part of the XMIT JCL
stream, you must code the SUBCHARS parameter.
You can code the keyword parameters in any order in the parameter field.
Comments Field
The comments field follows the parameter field after at least one intervening blank.
Do not place any other MVS JCL statements between the JOB statement and the
XMIT JCL statement. If any of these statements intervene, the system terminates
the job.
If the system finds an error on the XMIT JCL statement after a specified DLM
parameter, the network job is flushed and local processing starts at the statement
following the specified delimiter.
In this example, the records between the XMIT JCL statement and the delimiter
statement (/* in columns 1 and 2) are transmitted to the node named KGNMVS45.
Example 2
//JOBC JOB PW19,’DEPT 53’
//X2 XMIT DEST=POKVMDD3.MVSGST34,DLM=AA
.
.
/*
(records to be transmitted)
/*EOF
/*DEL
.
.
AA
//JOBB JOB ...
.
Example 3
//JOBE JOB NS37,’NYC BX’
//X3 XMIT DEST=SANFRAN,DLM=AA,SUBCHARS=’/+’
.
.
(records to be transmitted)
.
.
In this example, the JCL is processed through an internal reader on the sending
system. The records between the XMIT JCL statement and the delimiter statement,
which must contain AA in columns 1 and 2 as specified in the DLM parameter, are
transmitted to the node named SANFRAN.
To transmit the /*EOF and /*DEL internal reader control statements, /* is replaced
by /+ in columns 1 and 2 on both statements in the XMIT JCL stream and
SUBCHARS=‘/+’ is coded on the XMIT statement. The sending system does not
recognize /+EOF and /+DEL as internal reader statements. Then prior to
transmission, the sending system converts /+ to /* and sends /*EOF and /*DEL to
the receiving node, which can then process the internal reader control statements.
DEST Parameter
Parameter Type
Keyword, required
Purpose
Use the DEST parameter to specify a destination for the following input stream
records. The DEST parameter can send the records to a node or, for a node that is
a VM system, to a guest system running on the virtual machine.
Syntax
DEST=nodename
DEST=nodename.vmuserid
Subparameter Definition
nodename
Identifies the destination node. The nodename identifies a JES2 system, a
JES3 system, a VSE/POWER node, or a VM system. The nodename is 1
through 8 alphanumeric or national ($, #, @) characters specified during JES
initialization. If the requested node is the same as the submitting node, the
records following the XMIT JCL statement are processed by the local system.
userid
Identifies a destination guest system. The userid is 1 through 8 alphanumeric or
national ($, #, @) characters.
Example 2
//SEND XMIT DEST=VMSYS3.GUEST7
This example sends the following records to a guest system, named GUEST7,
running in the VM system at the node named VMSYS3.
DLM Parameter
Parameter Type
Keyword, optional
Purpose
Use the DLM parameter to specify a delimiter to stop transmission of input stream
records. When the DLM parameter assigns a delimiter other than the standard
delimiter (/* in columns 1 and 2), the records can include the standard delimiter.
If you use the DLM delimiter to define a delimiter, be sure to terminate the records
with the specified DLM characters. Otherwise, all jobs between the XMIT JCL
statement and the end-of-file will be transmitted, and processed at the node to
which they are sent.
From TSO/E only, TSO/E inserts /* at the end-of-file if the default delimiter is not
supplied.
Syntax
DLM=delimiter
v If the specified delimiter contains any special characters, enclose the delimiter in
apostrophes. In this case, a special character is any character that is neither
alphanumeric nor national ($, #, @).
v If the delimiter contains an ampersand or an apostrophe, code each ampersand or
apostrophe as two consecutive ampersands or apostrophes and enclose the delimiter in
apostrophes. Each pair of consecutive ampersands or apostrophes counts as one
character.
Subparameter Definition
delimiter
Specifies two characters that indicate the end of this data set in the input
stream.
Default
If you do not specify a DLM parameter, the default is the standard /* delimiter
statement.
Invalid Delimiters
If the delimiter is not two characters, the system terminates the job and does not
transmit any records.
The DLM parameter assigns the characters AA as the delimiter for the in-stream
records to be transmitted.
Example 2
//XY XMIT DEST=ATL,DLM=’A+’
//XZ XMIT DEST=BOST,DLM=’&&7’
//XW XMIT DEST=CHI,DLM=’B’’’
SUBCHARS Parameter
Parameter Type
Keyword, optional
Purpose
You can use the SUBCHARS parameter for any XMIT JCL job. However,
SUBCHARS is required if you want to transmit internal reader control statements
(/*EOF and /*DEL) and the job is processed by an internal reader on the sending
system. Note that the system recognizes /*EOF and /*DEL as internal reader control
statements and errors can occur on the sending system if /*EOF or /*DEL are
included in the XMIT JCL stream.
To transmit internal reader control statements, replace /* on the /*EOF and /*DEL
statements in the records to be transmitted with two substitute characters and
identify the substitute characters on the SUBCHARS parameter. Prior to
transmission, the system converts the substitute characters to /* and sends /*EOF
and /*DEL to the receiving node for processing.
Reference
Syntax
SUBCHARS=substitute
v If the specified substitute contains any special characters, enclose the substitute in
apostrophes. In this case, a special character is any character that is neither
alphanumeric nor national ($, #, @).
v If the substitute contains an ampersand or an apostrophe, code each ampersand or
apostrophe as two consecutive ampersands or apostrophes and enclose the substitute in
apostrophes. Each pair of consecutive ampersands or apostrophes counts as one
character.
Subparameter Definition
substitute
Specifies two characters that indicate the substitute characters for the first two
characters of internal reader control statements. The substitute characters apply
only to internal reader statements.
Default
There is no default for SUBCHARS.
Invalid Substitute
If the substitute is not two characters, the system terminates the job and does not
transmit any records.
The SUBCHARS parameter identifies the characters MV as the substitute for the
first two characters of the internal reader control statement to be transmitted. Prior
to transmission, the system converts the MV substitute characters to /* and sends
/*EOF to the receiving node for processing.
Example 2
//XY XMIT DEST=ATL,SUBCHARS=’A+’
//XZ XMIT DEST=BOST,SUBCHARS=’&&7’
//XW XMIT DEST=CHI,SUBCHARS=’B’’’
Description
The /*PRIORITY statement is ignored. All other statements cause JES2 to fail the
job.
Internal Reader
Use the following control statements when submitting jobs to the internal reader.
The internal reader is described in z/OS MVS Programming: Assembler Services
Guide.
/*DEL
/*EOF
/*PURGE
/*SCAN
Use the command statement to enter a JES2 operator command through the input
stream, the internal reader, or the system console.
Note: Do not specify this statement for a started task; if /*$xxx is specified, JES2
fails the job.
Examples in this book illustrate the format for commands entered through the input
stream. Commands entered through an operator console should not have /* in
columns 1 and 2.
References
For more information on the command statement and the JES2 verbs and
operands, see z/OS JES2 Commands.
Syntax
/*$command-verb,operand[,operand]... [N]
Do not continue command statements from one statement to the next, instead code as
many command statements as you need.
Parameter Definition
command-verb
Specifies the operator command that JES2 is to perform. You can enter the
following JES2 commands in the input stream.
$A $E $I $O $T
$B $F $L $P $TRACE
$C $G $M $R $VS
$D $H $N $S $Z
operand
Specifies options for the command.
N in column 72
Indicates that JES2 is not to repeat the command on the operator console.
Do not code JES2 commands in an NJE job stream. If you code JES2 commands
in an NJE job stream, the system will not process them and will issue an error
message.
This command statement starts initiators three through five. The command is $S
and the operand is I3-5. JES2 executes the command immediately and repeats the
command on the operator console.
Example 2
/*$TRDR1,H=Y
In response to this command, JES2 places all jobs being read by reader 1 in a hold
status. If a job contains a JES2 /*ROUTE XEQ or /*XEQ statement that specifies an
execution node different from the input node, JES2 holds the job at the execution
node, not the input node.
/*JOBPARM Statement
Purpose
{BYTES} = nnnnnn
{M }
{CARDS} = nnnnnnnn
{C }
{COPIES} = nnn
{N }
{FORMS} = {xxxxxxxx}
{F } {STD }
{LINECT} = nnn
{K }
{LINES} = nnnnnn
{L }
{NOLOG}
{J }
{PAGES} = nnnnnnnn
{G }
{PROCLIB} = ddname
{P }
{RESTART} = {Y}
{E } {N}
{ROOM} = xxxx
{R }
{SYSAFF} = {* }
{S } {(*[,IND]) }
{ANY }
{(ANY[,IND]) }
{cccc }
{(cccc[,IND]) }
{(cccc[,cccc]...) }
{((cccc[,cccc]...)[,IND])}
{TIME} = nnnn
{T }
The /*JOBPARM statement consists of the characters /* in columns 1 and 2, JOBPARM in
columns 3 through 9, a blank in column 10, and parameters in columns 11 through 71.
JES2 ignores columns 72 through 80.
If the job is registered with the automatic restart manager (ARM) at the time of
the IPL, ARM determines whether the job is restarted, regardless of whether
RESTART=YES or NO is specified.
ROOM=xxxx
Indicates the programmer’s room number. The xxxx is 1 through 4
alphanumeric characters. JES2 places the room number on the job’s separators
so that the installation can deliver the job’s sysout data sets to the programmer.
SYSAFF=*
SYSAFF=(*[,IND])
SYSAFF=ANY
SYSAFF=(ANY[,IND])
SYSAFF=cccc
SYSAFF=(cccc[,IND])
SYSAFF=(cccc[,cccc]...)
SYSAFF=((cccc[,cccc]...)[,IND])
Indicates the systems that are eligible to process the job. The parameter
indicates from 1 through 7 system affinities.
Note:
Use the SYSAFF parameter to ensure the conversion and execution of the job
will be done on a specific system. If you code SYSAFF, both processes are
done on the specified system.
For TSO-submitted jobs that specify NOTIFY in the JOB statement: after a job
has completed execution, JES2 may change the SYSAFF specification for the
job if the job executed on a processor other than the processor that the user is
logged on. This is done by JES2 during output processing to allow NOTIFY
processing to take place on the user’s processor.
* Indicates the system that read the job.
ANY
Indicates any system in the JES2 multi-access spool configuration.
cccc
Identifies a specific system, where cccc is the 1-4 alphanumeric character
system ID of one of the systems in the JES2 multi-access spool
configuration. To specify more than one system, separate the system
identifiers with commas and enclose the system ID list in parentheses; for
example, SYSAFF=(cccc,cccc,cccc). Repeat cccc up to the number of
processors in the configuration.
Overrides
v The /*JOBPARM statement parameters override the installation defaults specified
at JES2 initialization.
Execution Node
JES2 normally processes /*JOBPARM statements at the node of execution.
The two statements specify the same parameters and values. The parameter
specifications mean the following:
LINES=60 or L=60
The job’s estimated output will be 60,000 lines.
/*MESSAGE Statement
Purpose
Use the /*MESSAGE statement to send messages to the operator console when
JES2 reads in the job.
Syntax
/*MESSAGE message
If the /*MESSAGE statement is not within a job, JES2 appends the input device
name to the beginning of the message.
JES2 sends this message to the operator console when the job is read in.
/*NETACCT Statement
Purpose
Syntax
/*NETACCT network-account-number
Parameter Definition
network-account-number
Specifies the job’s accounting number. The network-account-number is 1
through 8 alphanumeric characters.
Defaults
If no /*NETACCT statement is specified, JES2 uses the local account number to
search a table for the network account number.
Overrides
If you supply both a /*NETACCT and a local account number, JES2 uses the local
account number on the input node.
If a job contains more than one /*NETACCT statement, JES2 uses the network
account number from the last statement.
JES2 ignores the /*NETACCT statement on any node other than the input node.
JES2 transmits the network account number, NETNUM10, with the job to the
destination node.
/*NOTIFY Statement
Purpose
Note: The /*NOTIFY statement does not affect where the job is executed or where
output is printed or punched.
Do not code a comma, a right parenthesis, or a blank character in the nodename or userid.
Parameter Definition
nodename.userid
nodename:userid
nodename/userid
nodename(userid)
Identifies a node and a TSO/E or VM userid at that node. The nodename is a
symbolic name defined by the installation during initialization; nodename is 1
through 8 alphanumeric or national ($, #, @) characters. The userid must be
defined at the node; userid for TSO/E is 1 through 7 alphanumeric or national
($, #, @) characters and for VM is 1 through 8 alphanumeric or national ($, #,
@) characters.
userid
Identifies a TSO/E or VM user. The userid for TSO/E is 1 through 7
alphanumeric or national ($, #, @) characters and for VM is 1 through 8
alphanumeric or national ($, #, @) characters. When you specify only a userid,
JES2 assumes that the userid is at the origin node.
The userid may also be a valid remote ID in the form Rnnnn or a destid for a
remote. If the userid is specified as R1-R9999, JES2 assumes the notify
message is intended for a remote and not a userid. If the remote is defined to
the system or is less than the highest defined remote for your system, the notify
message is queued to the remote. If the remote value is greater than the
highest defined remote but less than the maximum allowed remote, the notify
message is discarded. If the Rxxxx value specified is greater than R9999, JES2
considers that a TSO/E userid and not a remote ID.
A valid remote ID is only found when the node specification is for the local
node. A valid specification can be in the form of NxRy.
Overrides
The JES2 /*NOTIFY statement overrides the NOTIFY parameter on the JOB
statement.
Example 2
/*NOTIFY TSOUSER
JES2 sends notification messages to user TSOUSER on the job’s origin node.
/*OUTPUT Statement
Purpose
Use the /*OUTPUT statement to specify characteristics and options for one or more
sysout data sets. This statement supplies processing options in addition to and in
place of the options specified on the sysout DD statement.
Note: You should use the OUTPUT JCL statement instead of the JES2
/*OUTPUT statement because of the OUTPUT JCL statement’s
enhanced output processing capabilities.
{BURST} = {Y}
{B } {N}
{CHARS} = {xxxx }
{X } {(xxxx[,xxxx]...)}
{CKPTLNS} =nnnnn
{E }
{CKPTPGS} =nnnnn
{P }
{COMPACT} =nn
{Z }
{COPIES} = {nnn }
{N } {(nnn[,(group-value[,group-value]...)])}
{COPYG} = {group-value }
{G } {(group-value[,group-value]...)}
{LINECT} =nnn
{K }
{MODIFY} = {module-name }
{Y } {(module-name[,trc])}
{MODTRC} =trc
{M }
{UCS} =xxxx
{T }
Parameter Definition
code
Identifies the /*OUTPUT statement. The code is 1 through 4 alphanumeric
characters. To refer to a /*OUTPUT statement, the DD statement SYSOUT
parameter must specify this code in its code-name subparameter. The
referenced /*OUTPUT statement specifies processing options for the sysout
data set defined in the referencing DD statement.
A code of * indicates that this /*OUTPUT statement is a continuation of the
previous /*OUTPUT statement.
If more than one /*OUTPUT statement has the same code starting in column
10, JES2 uses the parameters from only the first /*OUTPUT statement.
BURST=Y
BURST=N
Indicates the default burst characteristic of all sysout data sets that JES2
produces for this job. BURST applies only when the data set is directed to a
3800 Printing Subsystem equipped with a burster-trimmer-stacker.
Y Requests that the 3800 output is to be burst into separate sheets.
N Requests that the 3800 output is to be in a continuous fanfold.
CHARS=xxxx
CHARS=(xxxx[,xxxx]...)
Names a character-arrangement table for all output that JES2 prints on a 3800
Printing Subsystem in this job. The xxxx is 1 through 4 alphanumeric or national
($, #, @) characters. Code one to four names.
CKPTLNS=nnnnn
Specifies the maximum number of lines or cards contained in a logical page.
The nnnnn is 1 through 5 decimal numbers from 0 through 32,767 for printers
and 1 through 32,767 for punches. The default is specified in the JES2
initialization parameter for the device.
CKPTPGS=nnnnn
Specifies the number of logical pages to be printed before the next checkpoint
is taken. The nnnnn is 1 through 5 decimal numbers from 1 through 32,767.
The default is specified in the JES2 initialization parameter for the device.
Note: This subparameter is valid only for 3800 output. For 3800 output,
this subparameter overrides the nnn subparameter. The group-value
subparameter of the COPIES parameter overrides the group-value
subparameter of the COPYG parameter.
Note: This parameter applies only for 3800 output. If you code COPYG and
JES2 prints the data set on an impact printer, JES2 ignores COPYG.
The group-value subparameter of the COPIES parameter overrides the
group-value subparameter of the COPYG parameter.
DEST=destination
DEST=(destination[,destination]...)
Note: JES2 initialization statements determine whether or not the node name is
Use the form nodename.userid to send the output to the VM user’s virtual
reader.
Rnnnn
RMnnnn
IBM provides two standard FCB images. Code STD1 or STD2 only to request
them.
v STD1, which specifies 6 lines per inch on an 8.5-inch-long form. (3211 and
3203-5 only)
v STD2, which specifies 6 lines per inch on an 11-inch-long form. (3211 and
3203-5 only)
If the printer on which JES2 is to print the data set does not have the forms
control buffer feature, JES2 sends the operator a message to mount the proper
carriage control tape.
FLASH=overlay-name
FLASH=(overlay-name[,count])
FLASH=NONE
Identifies the forms overlay to be used in printing the sysout data set on a 3800
Printing Subsystem and, optionally, specifies the number of copies on which the
forms overlay is to be printed.
overlay-name
Identifies the forms overlay frame that the operator is to insert into the
printer before printing begins. The name is 1 through 4 alphanumeric or
national ($, #, @) characters.
Do not omit the overlay-name. The count subparameter is optional. If you
omit it, you can omit the parentheses. However, if you omit it, you must not
code it as a null; for example, FLASH=(ABCD,) is invalid.
Defaults: If you omit this parameter and did not specify FLASH on the DD
statement or FLASHC on the /*OUTPUT statement, JES2 uses the default
specified at JES2 initialization.
Note: For the 3800 printer, if you specify FLASH and omit FLASHC, JES2
flashes all copies.
The count subparameter of the FLASH parameter overrides the count value of
the FLASHC parameter.
FORMS=xxxx
FORMS=STD
Identifies the forms on which JES2 is to print or punch the sysout data set.
xxxx
Identifies the print or punch forms. form-name is 1 through 4 alphanumeric
or national ($, #, @) characters.
STD
Indicates that JES2 is to use the default specified at JES2 initialization.
INDEX=nn
Sets the left margin for output on a 3211 Printer with the indexing feature. The
width of the print line is reduced by the INDEX parameter value. The nn
specifies how many print positions the left margin on the 3211 output is to be
indented. nn is a decimal number from 1 through 31. n=1 indicates flush-left;
n=2 through n=31 indent the print line by n-1 positions.
JES2 ignores the INDEX parameter if the printer is not a 3211 with the indexing
feature.
Note: INDEX and LINDEX are mutually exclusive; if you code both, JES2 uses
the value you specified in INDEX.
Note: INDEX and LINDEX are mutually exclusive; if you code both, JES2 uses
the value you specified in INDEX.
LINECT=nnn
Specifies the maximum number of lines JES2 is to print on each output page.
The nnn is a number from 0 through 255.
Specify LINECT=0 to keep JES2 from starting a new page when the number of
lines exceeds the JES2 initialization parameter.
If you code LINECT on the /*OUTPUT statement, it overrides the LINECT value
on the /*JOBPARM statement and the linect value in the accounting information
parameter of the JOB statement.
If the LINECT parameter is omitted from the /*OUTPUT statement, JES2
obtains the value from one of the following sources, in order:
1. The LINECT parameter on the /*JOBPARM statement.
2. The linect field of the accounting information parameter on the JOB
statement.
3. The installation default specified at JES2 initialization.
MODIFY=module-name
MODIFY=(module-name[,trc])
Specifies a copy-modification module that tells JES2 how to print the sysout
data set on a 3800 Printing Subsystem. The module can specify legends,
column headings, blanks, and where and on which copies the data is to be
printed. The module is defined and stored in SYS1.IMAGELIB using the
IEBIMAGE utility program.
module-name
Identifies a copy-modification module in SYS1.IMAGELIB. The
module-name is 1 through 4 alphanumeric or national ($, #, @) characters.
Do not omit the module-name.
trc
Identifies which table-name in the CHARS parameter is to be used. This
table reference character is 0 for the first table-name specified, 1 for the
second, 2 for the third, or 3 for the fourth.
If you do not specify trc, the default is 0. If the trc value is greater than the
number of table-names in the CHARS parameter, JES2 uses the first table
named in the CHARS parameter.
The trc subparameter is optional. If you omit it, you can omit the
parentheses. However, if you omit it, you must not code it as a null; for
example, MODIFY=(TAB1,) is invalid. If you omit the trc subparameter,
JES2 uses the first table-name.
The trc subparameter of the MODIFY parameter overrides the trc
subparameter of the MODTRC parameter.
Overrides
v /*OUTPUT statement parameters override all equivalent DD statement
parameters.
v If a /*OUTPUT statement contains duplicate parameters, the last parameter
overrides all preceding duplicates, except for the DEST parameter.
v Any parameter coded on subsequent /*OUTPUT statements overrides the same
parameter on previous /*OUTPUT statements.
v JES2 adds any parameter you code on subsequent /*OUTPUT statements that
you did not code on previous /*OUTPUT statements to the previous /*OUTPUT
statement.
v If you code LINECT on the /*OUTPUT statement, it overrides the LINECT value
on the /*JOBPARM statement and the linect value in the accounting information
parameter of the JOB statement.
This statement refers to all sysout data sets defined by a DD statement that
specifies SYSOUT=(c,,ABCD). Six copies of each page of output are printed. If the
printer is a 3800, first one copy of each page is printed, then two copies of each
page, and finally, three copies of each page. If the printer is not a 3800, COPYG is
ignored and six copies of the entire data set are printed. The output is sent to
remote terminal 23.
/*PRIORITY Statement
Purpose
Use the /*PRIORITY statement to assign a selection priority for your job. Within a
job class, a job with a higher priority is selected for execution sooner.
In a JES2 system, there are a number of factors that determine the order in which a
particular job is selected for execution. Therefore, you cannot be assured that job
priority (based on the PRTY you assign a job), job class, or the order of job
submission will guarantee that the jobs will execute in a particular order. If you need
to submit jobs in a specific order, contact your JES2 system programmer for advice
based on how your system honors such requests. (z/OS JES2 Initialization and
Tuning Guide provides JES2 system programmer procedures concerning job
queuing and how to control job execution sequence.)
Syntax
/*PRIORITY p
Parameter Definition
p Requests a priority. The p is 1 or 2 decimal numbers from 0 through 15. The
highest priority is 15.
Follow your installation’s rules in coding a priority.
Overrides
A priority specified on a /*PRIORITY statement overrides a priority specified in the
PRTY parameter on a JOB statement.
This statement assigns a job queue selection priority of 7. This value has meaning
only in relation to other jobs in the system.
/*ROUTE Statement
Purpose
Use the /*ROUTE statement to specify the destination of sysout data sets that are
not routed by a DEST parameter or to identify the network node where the job is to
execute.
Note: Do not specify the /*ROUTE XEQ statement for a started task; if /*ROUTE
XEQ is specified, JES2 fails the job.
Syntax
/*ROUTE {PRINT} {ANYLOCAL }
{PUNCH} {LOCAL }
{name }
{Nnnnn }
{NnnRmmmm }
{NnnnRmmm }
{NnnnnRmm }
{nodename.userid }
{nodename:userid }
{nodename/userid }
{nodename(userid)}
{Rnnnn }
{RMnnnn }
{RMTnnnn }
{Unnnn }
{Userid }
Parameter Definition
PRINT
Requests that JES2 route the job’s sysout data sets that are printed.
PUNCH
Requests that JES2 route the job’s sysout data sets that are punched.
Note: If a data set is queued for transmission and an operator changes its
destination, the userid portion of the routing is lost.
Rnnnn
RMnnnn
RMTnnnn
Identifies a remote terminal. nnnn is 1 through 4 decimal numbers from 1
through 9999. Note that with remote pooling, the installation may translate this
route code to another route code.
If you send a job to execute at a remote node and the job has a ROUTE PRINT
RMTnnnn statement, JES2 returns the output to RMTnnnn at the node of origin.
For JES2 to print the output at RMTnnnn at the executing node, code
DEST=NnnnRmmm on an OUTPUT JCL statement or sysout DD statement.
Note: JES2 initialization statements determine whether or not the node name is
required when coding a userid. See your System Programmer for
information regarding how routings will be interpreted by JES2.
nodename.vmguestid
nodename:vmguestid
nodename/vmguestid
nodename(vmguestid)
Identifies the network node where the job is to execute. The nodename
identifies an MVS JES2 system, an MVS JES3 system, a VSE POWER node,
or a VM system. If nodename specifies the local node, the job executes locally.
The nodename is 1 through 8 alphanumeric, national ($, #, @), or special
characters specified during JES2 initialization.
The vmguestid identifies a guest system running in a virtual machine (VM), for
example, an MVS system running under VM. Do not specify a work station or
terminal in this parameter.
Example 2
/*ROUTE PUNCH PUN2
This statement sends the punched output to device PUN2, which was identified to
the system during initialization.
Example 3
//JOBB JOB ...
/*ROUTE XEQ DENVER
//STEP1 EXEC ...
.
.
This statement sends the job to the node named DENVER for execution. The entire
job is scanned for JCL errors on the input system before it is transmitted to the
target system. The entire job is transmitted, which includes the JOBB JOB
statement. Options on the JOBB JOB statement apply to both the input and target
system.
/*SETUP Statement
Purpose
Use the /*SETUP statement to identify volumes that the operator should mount
before the job is executed. When the job enters the system, JES2 issues a
message to the operator console, asking the operator to mount the identified
volumes. JES2 then places the job in hold status until the operator mounts the
volumes and releases the job.
Note: Do not specify this statement for a started task; if /*SETUP is specified,
JES2 fails the job.
Syntax
/*SETUP serial-number[,serial-number]...
Do not continue the /*SETUP statement; code as many /*SETUP statements as necessary.
Parameter Definition
serial-number
Identifies by serial number the volume(s). A volume serial number is 1 through 6
alphanumeric, national ($, #, @), or special characters; enclose a serial number
that contains special characters, other than hyphens, in apostrophes. If the
number is shorter than 6 characters, it is padded with trailing blanks.
This statement requests that volumes 666321 and 149658 be mounted for the job.
/*SIGNOFF Statement
Purpose
Use the /*SIGNOFF statement to tell JES2 to end a remote job stream processing
session. At the completion of the current print and/or punch streams, JES2
disconnects the remote work station from the system. If JES2 is reading jobs from
the station when the output completes, JES2 disconnects the remote station when
the input is completed.
Note: The remote terminal access processor processes the /*SIGNOFF statement
if it appears in a job stream.
References
For information on the LOGOFF command, see z/OS Communications Server: SNA
Programming.
Syntax
/*SIGNOFF
This statement requests that JES2 terminate a remote job stream processing
session.
/*SIGNON Statement
Purpose
Use the /*SIGNON statement to tell JES2 to begin a remote job stream processing
session. For non-multi-leaving remote stations, the terminal transmits the /*SIGNON
statement alone as part of the initial connection process.
Note: The remote terminal access processor processes the /*SIGNON statement if
it appears in a job stream. When the terminal access processor processes
the /*SIGNON statement, the line being processed is restarted.
Systems network architecture (SNA) remote work stations must use the LOGON
command instead of the /*SIGNON statement to notify JES2 of a connection
request.
References
For information on the LOGON command, see z/OS Communications Server: SNA
Programming.
Syntax
/*SIGNON {REMOTEnnn} [password1] [new-password] [password2]
{RMTnnnn }
{RMnnnn }
{Rnnnn }
{NxxRnnnn }
{dest-name}
The /*SIGNON statement consists of the following. Note that all the fields in this statement
must appear in fixed locations.
Column
Contents
1-8 /*SIGNON
16-24 REMOTEnnn, RMTnnnn, RMnnnn, Rnnnn, NxxRnnnn, or dest-name beginning in
16
25-32 password1, beginning in 25
35-42 new-password, beginning in 35
73-80 password2, beginning in 73
Parameter Definition
REMOTEnnn
Specifies the identification number assigned to the remote station asking to sign
on. The nnn is 1 through 3 decimal numbers.
Code REMOTEnnn with the same characters as RMTnnn on the /*ROUTE
statement. If you code REMOTEnnn on the /*SIGNON statement, you are
restricted to coding RMTnnn with only three numbers on the /*ROUTE
statement.
RMTnnnn
RMnnnn
Place the /*SIGNON statement at the end of the JES2/RTP input stream for
multi-leaving remote stations.
This statement requests that remote station 123 begin a remote job stream
processing session. LINEPSWD, beginning in column 25, is the password assigned
to the nondedicated connection.
Example 2
/*SIGNON RMT1000 LINEPSWD
This statement requests that remote station 1000 begin a remote job stream
processing session. LINEPSWD, beginning in column 25, is the password assigned
to the non-dedicated connection.
Example 3
/*SIGNON RMT1000 LINEPSWD PSWDNEW PSWD2
Example 4
/*SIGNON N11R123 LINEPSWD
This statement requests that remote station 123 at node 11 begin a remote job
stream processing session. LINEPSWD, beginning in column 25, is the password
assigned to the switched connection.
/*XEQ Statement
Purpose
Use the /*XEQ statement to identify the network node where the job is to execute. It
performs the same function as the /*ROUTE XEQ statement.
Notes:
1. Do not specify this statement for a started task; if /*XEQ is specified, JES2 fails
the job.
2. The XEQ statement is ignored for NJE devices.
Syntax
/*XEQ {Nnnnn }
{nodename[.vmguestid]}
{name }
The /*XEQ statement consists of the characters /* in columns 1 and 2, XEQ in columns 3
through 5, a blank in column 6, and a node starting in any column starting with 7.
Parameter Definition
Nnnnn
Identifies a node. nnnn is 1 through 4 decimal numbers from 1 through 1000.
For example, N0103.
nodename
Identifies the network node where the job is to execute. The nodename
identifies an MVS JES2 system, an MVS JES3 system, a VSE POWER node,
or a VM system. If nodename specifies the local node, the job executes locally.
The nodename is 1 through 8 alphanumeric, national ($, #, @), or special
characters specified during JES2 initialization.
vmguestid
Identifies a guest system running in a virtual machine (VM), for example, an
MVS system running under VM. Do not specify a work station or terminal in this
parameter.
name
Specifies the name (1 through 8 characters) that you use to refer to the
JES2-defined destination. The name must be defined as a node and userid at
the destination node.
JES2 routes and executes this job on the node defined as ATLANTA. The entire job
is transmitted, which includes the JOBB JOB statement. Options on the JOBB JOB
statement apply to both the input and target system.
/*XMIT Statement
Purpose
Use the /*XMIT statement to transmit records from a JES2 node to either another
JES2 node or an eligible non-JES2 node, for example, a VM or JES3 node. JES2
does not process or check the records for JES2 validity. JES2 builds header and
trailer records from information on the JOB statement immediately preceding the
/*XMIT statement. Then JES2 transmits all records after the /*XMIT statement.
Note: Do not specify this statement for a started task; if /*XMIT is specified, JES2
fails the job.
The /*XMIT statement consists of the characters /* in columns 1 and 2, XMIT in columns 3
through 6, a blank in column 7, a nodename or node-number starting in any column starting
with 8, and optionally followed, with an intervening blank, by a delimiter parameter.
Parameter Definition
Nnnnn
Identifies the destination node. nnnn is 1 through 4 decimal numbers from 1
through 1000. For example, N0103.
nodename
Identifies the destination node. The nodename identifies an MVS JES2 system,
an MVS JES3 system, a VSE POWER node, or a VM system. The nodename
is 1 through 8 alphanumeric, national ($, #, @), or special characters specified
during JES2 initialization.
userid
Identifies a destination terminal or work station at the node. The userid must be
defined at the node; userid for TSO/E is 1 through 7 alphanumeric or national
($, #, @) characters and for VM is 1 through 8 alphanumeric or national ($, #,
@) characters.
vmguestid
Identifies a destination guest system running in a virtual machine (VM), for
example, an MVS system running under VM. Do not specify a work station or
terminal in this parameter.
name
Specifies the name (1 through 8 characters) that you use to refer to the
JES2-defined destination. The name must be defined as a node and userid at
the destination node.
DLM=xx
Specifies a two-character delimiter to terminate the data being transmitted.
Code any two characters for the delimiter. If the specified delimiter contains any
special characters, enclose it in apostrophes. In this case, a special character is
any character that is neither alphanumeric nor national ($, #, @).
Failing to code enclosing apostrophes produces unpredictable results.
If the delimiter contains an ampersand or an apostrophe, code each ampersand
or apostrophe as two consecutive ampersands or apostrophes. Each pair of
consecutive ampersands or apostrophes counts as one character.
Defaults
For the end of the records to be transmitted, the default is /* in the input stream.
If you specify for DLM only one character or more than two characters, JES2 uses
/*.
You can code only the /*PRIORITY statement between an /*XMIT statement and a
JOB statement. If you code any other statement between /*XMIT and JOB, JES2
will ignore the statement and issue an error message.
JES2 transmits to the node ATLANTA all records following the /*XMIT statement up
to the specified delimiter, AA.
Example 2
//JOBX JOB ...
/*XMIT VMSYS1.MVS223
//JOBB JOB ...
.
job to be transmitted
.
/*
JES2 transmits the JOBB job stream to the VM guest system, MVS223, running on
node VMSYS1, which is a VM system. The job stream will be executed by the
MVS223 system.
Description
Internal Reader
Use the following control statements when submitting jobs to the internal reader.
The internal reader is described in z/OS MVS Programming: Assembler Services
Guide.
/*DEL
/*EOF
The second example shows an ordinary job entered through the local input stream.
The remainder of this chapter shows the recommended syntax for each control
statement, with examples. Note, however, that for some JES3 control statements
(such as the //* MAIN statement) a single slash followed by an asterisk (/*), rather
than two slashes and an asterisk (//*), will be processed as syntactically acceptable.
| Your installation may disallow this option by using the ALTJCL keyword parameter
| of the STANDARDS initialization statement. For further information see z/OS JES3
| Initialization and Tuning Reference.
Example 1
//**MESSAGE,CN1,ENTER A START COMMAND FOR THIS JOB
//**PAUSE
//TEST1 JOB ,,MSGCLASS=A
Example 2
//RUN2 JOB ,,MSGCLASS=A
//*MAIN CLASS=B
//*FORMAT PR,DDNAME=STEPA.DD2,DEST=ANYLOCAL,COPIES=5
//STEPA EXEC PGM=WRITER
//DD1 DD DSNAME=IN1,DISP=OLD,UNIT=3350,VOLUME=SER=MH2244
//DD2 DD SYSOUT=A
/*
Use the command statement to enter a JES3 operator command through the input
stream.
References
For more information on the command statement and the JES3 verbs and
operands, see the section ″Entering Commands through the Input Stream″ in z/OS
JES3 Commands.
Syntax
//**command-verb[,operand]...
The JES3 command statement consists of the characters //** in columns 1 through 4, the
command verb beginning in column 5, and, if the command requires operands, a comma
followed by the operands up through column 72. JES3 ignores columns 73 through 80.
Do not continue command statements from one card image to the next.
CALL X
CANCEL
C
DELAY
D
DISABLE
H
ENABLE
N
ERASE
E
FAIL
FREE
INQUIRY
I
MESSAGE
Z
MODIFY
F
RESTART
R
SEND T
START
S
SWITCH
VARY V
operand
Specifies an operand that pertains to the command-verb.
//**V,280-282,OFF
In this example, the first three statements each vary one device offline. Alternatively,
the fourth statement varies all three devices offline. If you place these statements in
card reader 01C, for example, and that card reader is currently not in use, the
operator would enter through the operator console:
*X CR,IN=01C
Example 2
//**MESSAGE,CN1,OUTPUT FROM JOB X REQUIRES SPECIAL CONTROLS
This statement instructs the operator from a remote location. Place this statement
before the first job in the input stream.
//*DATASET Statement
Purpose
Use the //*DATASET statement to identify the beginning of an in-stream data set,
which can contain JCL statements or data. (The //*ENDDATASET statement ends
the in-stream data set.) The data set can be used as input to a dynamic support
program (DSP), such as OUTSERV.
Note: Make sure the operator includes a C operand on the *CALL command for
the reader that reads a job containing this statement if it contains a
MODE=C parameter.
Syntax
//*DATASET DDNAME=ddname[,parameter]...
MODE= {E}
{C}
J= {YES}
{NO }
CLASS= {NO }
{MSGCLASS}
{class }
The //*DATASET statement consists of the characters //* in columns 1 through 3, DATASET
in columns 4 through 10, a blank in column 11, and parameters in columns 12 through 72.
JES3 ignores columns 73 through 80.
Parameter Definition
DDNAME=ddname
Specifies the name of the in-stream data set that follows the //*DATASET
statement.
MODE=E
//*ENDDATASET Statement
Purpose
Use the //*ENDDATASET statement to indicate the end of an in-stream data set that
was begun with a //*DATASET statement.
Syntax
//*ENDDATASET
The //*ENDDATASET statement consists of the characters //* in columns 1 through 3 and
ENDDATASET in columns 4 through 13. Columns 14 through 80 must be blank.
In this example, the //*ENDDATASET statement marks the end of the in-stream
data set INFO.
//*ENDPROCESS Statement
Purpose
Syntax
//*ENDPROCESS [comments]
//*FORMAT PR Statement
Purpose
You can code multiple specific //*FORMAT PR statements for a particular sysout
data set to specify special requirements for different copies of the data set. In
addition, you can code a //*FORMAT PU statement for the same sysout data set,
thereby both printing and punching it.
You can also code multiple nonspecific //*FORMAT PR statements. In this case, the
system produces only one copy of each data set, combining any parameter values
specified on the statements. If you specify a given parameter on more than one of
these statements, the system uses the parameter value specified on the last
//*FORMAT PR statement containing that parameter.
Note: The //*FORMAT PR statement applies only to sysout data sets printed by
JES3. The statement is ignored for data sets sent to a TSO/E userid or
processed by an external writer.
Reference
For examples of //*FORMAT statement processing on the JES3 hold queue and
writer queue, see z/OS JES3 Initialization and Tuning Guide.
//*FORMAT PR,DDNAME=[,parameter]...
{ CARRIAGE= {carriage-tape-name} }
{ {6 } }
{ FCB= {image-name} }
{ {6 } }
CHARS= {STANDARD }
{table-name }
{(table-name[,table-name]...)}
CHNSIZE= {DS }
{(nnn[,mmm])}
COMPACT=compaction-table-name
CONTROL= {PROGRAM}
{SINGLE }
{DOUBLE }
{TRIPLE }
COPIES= {nnn }
{(nnn,(group-value[,group-value]...))}
{(group-value[,group-value]...) }
DEST= {ANYLOCAL }
{device-name }
{device-number }
{group-name }
{nodename[.remote] }
{(type[,device-name]) }
{(type[,device-number])}
{(type[,group-name]) }
EXTWTR=name
FLASH= {STANDARD }
{overlay-name }
{(overlay-name[,count])}
FORMS= {STANDARD }
{form-name}
MODIFY= {module-name }
{(module-name[,trc])}
OVFL= {ON }
{OFF}
PRTY=nnn
STACKER= {STANDARD}
{S }
{C }
THRESHLD=limit
TRAIN= {STANDARD }
{train-name}
Parameter Definition
PR
Indicates that this statement is associated with a sysout data set that is printed.
DDNAME=
DDNAME=ddname
DDNAME=stepname.ddname
DDNAME=stepname.procstepname.ddname
DDNAME=procstepname.ddname
DDNAME=JESYSMSG
DDNAME=JESJCL
DDNAME=JESMSGLG
(null)
Specifies that the parameters on this //*FORMAT PR statement are the
defaults for the job. These parameters then apply to all of the job’s sysout
data sets that are printed, except those covered by a //*FORMAT PR
statement with a value other than (null) for DDNAME.
Note: You cannot code both the CARRIAGE and FCB parameters on the same
//*FORMAT PR statement.
CHARS=STANDARD
CHARS=table-name
CHARS=(table-name[,table-name]...)
Requests one or more character-arrangement tables for printing the sysout data
set on a 3800 Printing Subsystem.
STANDARD
Indicates the standard character-arrangement table, which was specified at
JES3 initialization.
table-name
Identifies a character-arrangement table. Each table-name is 1 through 4
alphanumeric or national ($, #, @) characters. When coding more than one
table-name, parentheses are required around the list and null positions are
invalid in the list.
Note: This parameter is valid only when transmitting to a SNA work station.
When an end-of-chain indicator is sent in the data set, JES3 takes an output
checkpoint. You can provide additional checkpoints for critical data by sending
an end-of-chain indicator. For example, when printing bank checks, you can
have an output checkpoint taken for each check by specifying each check as a
SNA chain.
DS
Indicates that the sysout data set is to be sent as a single SNA chain and
that JES3 is not to take normal output checkpoints. DS is the default if the
CHNSIZE parameter is omitted.
nnn
Specifies the SNA chain size in pages. nnn is a decimal number from 1
through 255. The size of a page is determined by:
v The value of mmm.
v The carriage control characters in the data that skip to channel 1.
mmm
Specifies the number of logical records in a page, when the data contains
no carriage control characters. mmm is a decimal number from 1 through
255.
COMPACT=compaction-table-name
Specifies the compaction table for JES3 to use when sending a systems
network architecture (SNA) data set to a SNA remote terminal. The
compaction-table-name is a symbolic name defined by the installation during
JES3 initialization. The name is 1 through 8 alphanumeric characters.
In the following cases, JES3 performs compaction using an installation default
table, if defined, or sends the data without compacting it, if no table was
defined. In all cases, JES3 writes a message to the console.
v No compaction table is specified.
v The specified compaction table is invalid.
v JES3 cannot find the specified compaction table.
If the remote printer does not support compaction, JES3 ignores the COMPACT
parameter and sends the data without compacting it.
CONTROL=PROGRAM
CONTROL=SINGLE
CONTROL=DOUBLE
CONTROL=TRIPLE
Indicates either that the data records control printing or that the output is to be
printed with single, double, or triple spacing.
Note: See the Forms Design Reference Guide for the 3800 for information on
designing and making forms overlays.
FORMS=STANDARD
FORMS=form-name
Indicates the forms on which the sysout data set is to be printed.
STANDARD
Indicates the standard form. JES3 uses the standard form specified at JES3
initialization.
form-name
Names the print forms. form-name is 1 through 8 alphanumeric characters.
MODIFY=module-name
MODIFY=(module-name[,trc])
Specifies a copy modification module that tells JES3 how to print the sysout
data set on a 3800 Printing Subsystem. The module can specify how to replace
blanks or data in the data set. You can omit the parentheses if you code only a
module-name.
The module is defined and stored in SYS1.IMAGELIB using the IEBIMAGE
utility program. See z/OS DFSMSdfp Utilities for more information.
If you omit the trc subparameter, JES3 prints the data set with the first
character-arrangement table coded in the CHARS parameter.
module-name
Identifies a copy modification module in SYS1.IMAGELIB. module-name is
1 through 4 alphanumeric or national ($, #, @) characters.
trc
Identifies which table-name in the CHARS parameter is to be used. This
This statement requests two copies of the data set defined by sysout DD statement
REPORT, which appears in STEP1 of this job. Any printer with standard forms,
train, and carriage tape can be used.
Example 2
//*FORMAT PR,DDNAME=,DEST=ANYLOCAL
This statement specifies that all sysout data sets not referenced by //*FORMAT PR
statements are to be printed on any local printer.
Example 3
This statement requests one copy of the data set defined by sysout DD statement
REPORT, which appears in STEP1 of this job, to be sent to destination A and one
copy of the data set defined by sysout DD statement REPORT to be sent to
destination B. The REPORT data set for STEP1 is sent to destination A because
the //*FORMAT PR statement with more qualifiers for the same ddname overrides
the other. The REPORT data set for any other step is sent to destination B.
//*FORMAT PU Statement
Purpose
You can code multiple specific //*FORMAT PU statements for a particular sysout
data set to specify special requirements for different copies of the data set. In
addition, you can code a //*FORMAT PR statement for the same sysout data set,
thereby both printing and punching it.
You can also code multiple nonspecific //*FORMAT PU statements. In this case, the
system produces only one copy of each data set, combining any parameter values
specified on the statements. If you specify a given parameter on more than one of
these statements, the system uses the parameter value specified on the last
//*FORMAT PU statement containing that parameter.
Note: The //*FORMAT PU statement applies only to sysout data sets punched by
JES3. The statement is ignored for data sets sent to a TSO/E userid or
processed by an external writer.
Reference
For examples of //*FORMAT statement processing on the JES3 hold queue and
writer queue, see z/OS JES3 Initialization and Tuning Guide.
//*FORMAT PU,DDNAME=[,parameter]...
CHNSIZE= {DS }
{(nnn[,mmm])}
COMPACT=compaction-table-name
COPIES=nnn
DEST= {ANYLOCAL }
{device-name }
{device-number }
{group-name }
{nodename[.remote] }
{(type[,device-name]) }
{(type[,device-number])}
{(type[,group-name]) }
EXTWTR=name
FORMS= {STANDARD }
{form-name}
INT= {YES}
{NO }
Parameter Definition
PU
Indicates that this statement is associated with a sysout data set that is
punched.
DDNAME=
DDNAME=ddname
DDNAME=stepname.ddname
DDNAME=stepname.procstepname.ddname
(null)
Specifies that the parameters on this //*FORMAT PU statement are the
defaults for the job. These parameters then apply to all of the job’s sysout
data sets that are punched except those covered by a //*FORMAT PU
statement with a value other than (null) for DDNAME.
Overrides: Parameters coded on a nonspecific //*FORMAT PU statement
are overridden by parameters coded on sysout DD statements or by
parameters in the JES3 SYSOUT initialization statement.
ddname
stepname.ddname
Note: This parameter is valid only when transmitting to a SNA work station.
When an end-of-chain indicator is sent in the data set, JES3 takes an output
checkpoint. You can provide additional checkpoints for critical data by sending
an end-of-chain indicator. For example, when punching bank checks, you can
have an output checkpoint taken for each check by specifying each check as a
SNA chain.
DS
Indicates that the sysout data set is to be sent as a single SNA chain and
that JES3 is not to take normal output checkpoints. DS is the default if the
CHNSIZE parameter is omitted.
nnn
Specifies the SNA chain size in pages. nnn is a decimal number from 1
through 255. The size of a page is determined by the value you assign to
mmm.
mmm
Specifies the number of logical records in a page. mmm is a decimal
number from 1 through 255.
COMPACT=compaction-table-name
Specifies the compaction table for JES3 to use when sending a systems
network architecture (SNA) data set to a SNA remote terminal. The
compaction-table-name is a symbolic name defined by the installation during
JES3 initialization. The name is 1 through 8 alphanumeric characters.
In the following cases, JES3 performs compaction using an installation default
table, if defined, or sends the data without compacting it, if no table was
defined. In all cases, JES3 writes a message to the console.
v No compaction table is specified.
If the remote punch does not support compaction, JES3 ignores the COMPACT
parameter and sends the data without compacting it.
COPIES=nnn
Indicates how many copies of the sysout data set are to be punched. nnn is a
number from 0 through 255. If you code COPIES=0, JES3 does not punch this
data set. If a COPIES parameter is not specified, the default is 1.
DEST=destination
Routes the output from the sysout data set to a punch. This parameter
overrides the //*MAIN statement ORG parameter.
If you omit DEST, JES3 assigns the first available punch that is in the origin
group and that fulfills all processing requirements. The origin group is the group
of punches defined for the local or remote submitting location. If the job
originated at a remote job processing (RJP) terminal, JES3 returns the output to
the originating terminal group.
If the job was submitted through TSO/E to the NJE network for execution, the
default is the node from which the job was submitted, and the destination
ANYLOCAL.
ANYLOCAL
Indicates any local punch that is being used for the output class specified in
the SYSOUT parameter on the DD statement and that is attached to the
global processor.
device-name
Requests a local device by a symbolic name defined by the installation
during JES3 initialization. device-name is 1 through 8 alphanumeric or
national ($, #, @) characters.
device-number
Specifies the 3-digit or 4-digit hexadecimal device number. Precede a
4-digit number with a slash (/). A 3-digit number can be specified with or
without a slash.
group-name
Identifies a group of local devices, an individual remote station, or a group
of remote stations by a symbolic name defined by the installation during
JES3 initialization. group-name is 1 through 8 alphanumeric or national ($,
#, @) characters.
nodename
Identifies node by a symbolic name defined by the installation during JES3
initialization. nodename is 1 through 8 alphanumeric or national ($, #, @)
characters.
remote
Identifies a remote work station or VM userid to which the receiving node
directs output. remote is 1 through 8 characters.
(type)
Indicates a device classification. type is in the form (gggssss) where ggg is
the general device classification and ssss is the specific device
classification. The type must be enclosed in parentheses. The type must be
defined by the installation during JES3 initialization. For example, type for a
3525 is (PUN3525).
Note: If the DEST parameter does not send output to a 3525I, JES3
ignores INT=YES, if specified.
NO
Requests that the cards not be interpreted.
This statement requests that one copy of the data set defined by sysout DD
statement PUNCHOUT in STEP2 of this job be punched on device PU1. Before
processing, the operator is requested to insert RED-STRP cards into the punch.
Example 2
//*FORMAT PU,DDNAME=STEP1.PUNCHOUT,DEST=DEVA
//*FORMAT PU,DDNAME=PUNCHOUT,DEST=DEVB
This statement requests one copy of the data set defined by sysout DD statement
PUNCHOUT in STEP1 of this job to be punched on device DEVA and one copy of
the data set defined by sysout DD statement PUNCHOUT to be punched on device
DEVB. The PUNCHOUT data set for STEP1 is sent to DEVA because the
//*FORMAT PU statement with more qualifiers for the same ddname overrides the
other. The PUNCHOUT data set for any other step is sent to DEVB.
//*MAIN Statement
Purpose
Use the //*MAIN statement to define the processor requirements for the current job.
Many of the parameters are used to override parameters on the JES3
STANDARDS initialization statement.
Note: If any parameter is misspelled or contains an invalid value, JES3 writes the
following to the JESMSG data set: the //*MAIN statement, the relative error
position on the statement, and an error message. Then JES3 abnormally
terminates the job.
ACMAIN=processor-id
BYTES= {([nnnnnn][,WARNING][,mmm])}
{([nnnnnn][,W][,mmm]) }
{([nnnnnn][,CANCEL]) }
{([nnnnnn][,C]) }
{([nnnnnn][,DUMP]) }
{([nnnnnn][,D]) }
CARDS= {([nnnn][,WARNING][,mmm])}
{([nnnn][,W][,mmm]) }
{([nnnn][,CANCEL]) }
{([nnnn][,C]) }
{([nnnn][,DUMP]) }
{([nnnn][,D]) }
CLASS=class-name
DEADLINE= {(time,type[,date]) }
{(time,type[,rel,cycle])}
EXPDTCHK= {YES}
{NO }
FAILURE= {RESTART}
{CANCEL }
{HOLD }
{PRINT }
FETCH= {ALL }
{NONE }
{SETUP }
{(ddname[,ddname]...) }
{/(ddname[,ddname]...)}
HOLD= {YES}
{NO }
IORATE= {MED }
{HIGH}
{LOW }
JOURNAL= {YES}
{NO }
LINES= {([nnnn][,WARNING][,mmm])}
{([nnnn][,W][,mmm]) }
{([nnnn][,CANCEL]) }
{([nnnn][,C]) }
{([nnnn][,DUMP]) }
{([nnnn][,D]) }
LREGION=nnnnK
ORG= {group-name }
{nodename[.remote]}
PAGES= {([nnnnnnnn][,WARNING][,mmm])}
{([nnnnnnnn][,W][,mmm]) }
{([nnnnnnnn][,CANCEL]) }
{([nnnnnnnn][,C]) }
{([nnnnnnnn][,DUMP]) }
{([nnnnnnnn][,D]) }
PROC= {ST}
{xx}
RINGCHK= {YES}
{NO }
SETUP= {JOB }
{HWS }
{THWS }
{DHWS }
{(stepname.ddname[,stepname.ddname]...) }
{(stepname.procstepname.ddname[,stepname.procstepname.ddname]...) }
{/(stepname.ddname[,stepname.ddname]...) }
{/(stepname.procstepname.ddname[,stepname.procstepname.ddname]...)}
SPART=partition-name
SYSTEM= {ANY }
{JGLOBAL }
{JLOCAL }
{(main-name[,main-name]...) }
{/(main-name[,main-name]...)}
THWSSEP= {IGNORE }
{PREFER }
{REQUIRE}
TRKGRPS=(primary-qty,second-qty)
TYPE= {ANY}
{VS2}
UPDATE=(dsname[,dsname]...)
USER=userid
The //*MAIN statement consists of the characters //* in columns 1 through 3, MAIN in
columns 4 through 7, a blank in column 8, and parameters in columns 9 through 72. JES3
ignores columns 73 through 80.
Parameter Definition
ACMAIN=processor-id
Identifies the job with the specified processor, even though the job was not
submitted from or run on that processor. ACMAIN allows:
If CARDS is not specified, the installation default for this job class is used.
nnnn
Specifies the number of cards in hundreds. nnnn is 1 through 4 decimal
numbers from 1 through 9999.
WARNING or W
If the maximum is exceeded, requests that JES3 issue an operator warning
message and continue processing.
Any subsequent messages about this parameter will reflect the number
specified on the STANDARD initialization statement or the system default,
not the maximum specified in the CARDS parameter.
mmm
Specifies the frequency that an operator warning message is to be
issued after the maximum specified by nnnn is exceeded. mmm is a
multiple of 10 in the range 10 to 100. mmm is a percentage of nnnn
that is used to calculate the number of additional cards between
warning messages. For example, if CARDS=(100,W,20) is specified, the
first warning message is sent to the operator when 10,000 cards of
sysout data is reached. Subsequent warning messages are sent when
each additional 20 percent of 10,000 is reached (at 12,000 cards,
14,000 cards, and so on). Messages are sent until the job ends or the
operator cancels the job.
CANCEL or C
If the maximum is exceeded, requests that JES3 cancel the job.
DUMP or D
If the maximum is exceeded, requests that JES3 cancel the job and ask for
a storage dump.
CLASS=class-name
Specifies the job class for this job. class-name is 1 through 8 characters.
If the desired class-name is a single-character, you can specify it on the
//*MAIN statement or the JOB statement.
JES3 uses the following, in override order, to assign the job to a class:
1. //*MAIN statement CLASS parameter
2. JOB statement CLASS parameter
3. The default class, which is defined during JES3 initialization.
If neither CLASS nor LREGION is specified, JES3 determines the logical region
size based on initialization parameters.
DEADLINE=(time,type[,date])
DEADLINE=(time,type[,rel,cycle])
Specifies when the job is required.
When you specify the current date but submit the job after the specified time,
JES3 changes the priorities to make the job the same priority level it would
have if it had been submitted before the deadline but not completed.
Note: If a job is registered with the automatic restart manager (ARM) at the
time of a system failure, ARM determines whether to restart the job,
regardless of the value specified on the FAILURE keyword.
If the ARM restarts the job, JES discards all non-spin sysout data sets created
during the previous execution. (You can avoid losing that output by adding
SPIN=UNALLOC to the DD statement for the SYSOUT data set.)
RESTART
Requests that JES3 restart the job when the failing processor is restarted.
Do not specify RESTART for jobs that use the DEQ at DEMOUNT facility
for tape volumes.
CANCEL
Requests that JES3 print the job and then cancel the job.
HOLD
Requests that JES3 hold the job for restart.
PRINT
Requests that JES3 print the job and then hold the job for restart.
YES
Indicates that the job is to enter the system in operator-hold status and be
withheld from processing until the operator requests its release. However, if
an error occurs during input service processing, the job is not held for
operator intervention.
This parameter has the same function as TYPRUN=HOLD on the JOB
statement.
NO
Indicates that the job is to enter the system normally. Processing does not
require operator intervention. If the HOLD parameter is omitted, NO is the
default.
IORATE=MED
IORATE=HIGH
IORATE=LOW
Indicates the I/O-to-processor ratio for a job. Use this parameter to balance the
mixture of jobs selected for execution on the processor.
Note: JES3 ignores any line count specification when printing the output for a
SYSABEND or SYSUDUMP sysout data set.
If LINES is not specified, the installation default for this job class applies. The
installation default is specified on the OUTLIM parameter of the OUTSERV
JES3 initialization statement.
nnnn
Specifies the number of lines, in thousands. nnnn is 1 through 4 decimal
numbers from 1 through 9999.
WARNING or W
If the maximum is exceeded, requests that JES3 issue an operator warning
and continue processing.
Any messages about this parameter following the warning message will
reflect the number specified on the STANDARD initialization statement or
the system default, not the maximum specified in the LINES parameter.
mmm
Specifies the frequency that an operator warning message is to be
issued after the maximum specified by nnnn is exceeded. mmm is a
multiple of 10 in the range 10 to 100. mmm is a percentage of nnnn
that is used to calculate the number of additional lines between warning
messages. For example, if LINES=(100,W,20) is specified, the first
warning message is sent to the operator when 100,000 lines of sysout
data is reached. Subsequent warning messages are sent when each
Overriding an ORG Parameter: If you do not want a particular data set in the
job to go to the destination on the ORG parameter, change its destination in
one of the following ways:
v If the sysout data set is not scheduled to a held class, you can override the
ORG parameter destination with the DEST parameter on a //*FORMAT,
OUTPUT JCL, or DD statement.
v If the sysout data set is scheduled to a held class, you can override the
ORG parameter destination with the DEST parameter on an OUTPUT JCL,
or DD statement.
The SPART parameter does not affect allocation for the sysout data sets for the
job; these data sets always go to the spool partitions specified during JES3
initialization for the output classes.
Need for SYSTEM Parameter: If you omit a SYSTEM parameter, the job runs
on the processor used for the job’s class. Usually a SYSTEM parameter is not
needed. However, if any DD statement UNIT parameter in the job specifies a
device-number, a SYSTEM parameter must be coded.
Note: If a data set is dynamically allocated as both a JES3 DISKRDR data set
and a JES3 PROCLIB data set, the UPDATE = parameter (JES3
procedure library update facility) cannot be used to move the data set.
USER=userid
Identifies the job with the specified TSO/E user, even though the job was not
submitted via TSO/E by that user. USER allows:
v The TSO/E userid, interacting with a global or local processor, to issue the
TSO/E OUTPUT command to access sysout data sets from the job. If the job
executes on one processor and the TSO/E userid is attached to another
processor, the ACMAIN parameter must identify the processor for the TSO/E
userid.
v The TSO/E userid, interacting with any processor, to inquire about the status
of the job or to cancel the job.
userid
Identifies a TSO/E user. userid is 1 through 7 alphanumeric or national ($,
#, @) characters.
When you specify ORG on a //*MAIN statement that is part of a remote job, place
the //*MAIN statement immediately after the second JOB statement.
The job executes on processor SY1. It is estimated to produce not more than 5000
lines of printed output; if the output exceeds 5000 lines, JES3 is to cancel the job.
HWS specifies high watermark setup, so JES3 is to allocate the minimum number
of devices required for this job. If the system fails, JES3 is to restart the job on the
Example 2
//*MAIN ACMAIN=2,USER=GARYHIL
If this statement appears in a job entered from any TSO/E userid on any processor
in the complex, then the job’s sysout data sets would go to TSO/E userid GARYHIL
on processor 2.
//*NET Statement
Purpose
Use the //*NET statement to define the dependencies between jobs in a dependent
job control (DJC) network. JES3 sets up a network of dependent jobs and executes
them in a specific order. (Once set up, the structure of a DJC network cannot be
changed unless all of the jobs in the network are resubmitted.) Jobs belonging to a
DJC network cannot be registered with the automatic restart manager (ARM).
{ABCMP} = {NOKP}
{AC } {KEEP}
{ {ABNORMAL|AB} = {D} }
{ {F} }
{ {R} }
{ {NORMAL|NC} = {D} }
{ {F} }
{ {R} }
DEVRELSE= {YES}
{NO }
{NETREL} =(netid,jobname)
{NR }
{NHOLD} =n
{HC }
{NRCMP} = {HOLD}
{PC } {NOHO}
{FLSH}
{OPHOLD} = {NO }
{OH } {YES}
{RELEASE} =(jobname[,jobname]...)
{RL }
{RELSCHCT} =n
{RS }
The //*NET statement consists of the characters //* in columns 1 through 3, NET in columns
4 through 6, a blank in column 7, and parameters in columns 8 through 72. JES3 ignores
columns 73 through 80.
Parameter Definition
NETID=name
Specifies the name of the DJC network for this job. name is 1 through 8
characters; the first character must be alphabetic.
All jobs put into the system with the same NETID name form a DJC network. To
add a job to an existing DJC network, specify the NETID name for that job.
ABCMP=NOKP
ABCMP=KEEP
Indicates what action JES3 is to take if the job abnormally terminates.
NOKP
Indicates that JES3 is to purge the DJC network if the job abnormally
terminates and has not been resubmitted by the time the other jobs in the
Note: If the job abnormally terminates, you can resubmit it to the DJC network,
and the network will be retained until the job completes.
ABNORMAL=D
ABNORMAL=F
ABNORMAL=R
NORMAL=D
NORMAL=F
NORMAL=R
Indicates the action JES3 is to take for this job when any predecessor job
completes execution normally or abnormally. If the ABNORMAL parameter is
omitted, the default is R, and, if the NORMAL parameter is omitted, the default
is D.
D Requests that JES3 decrease this job’s NHOLD count, which indicates the
number of predecessors for this job. When the NHOLD count becomes
zero, JES3 can schedule this job.
F Requests that JES3 flush this job and its successor jobs from the system.
JES3 cancels the job, prints any output, and cancels all successor jobs
presently in the system, regardless of their normal or abnormal
specifications. However, JES3 admits into the system all successor jobs
that enter after the DJC network has been flushed. To flush those jobs, the
operator must cancel the jobs or the network.
R Requests that JES3 retain this job in the system and not decrease the
NHOLD count. R suspends the job and its successor jobs from scheduling
until either the predecessor job is resubmitted or the operator decreases the
NHOLD count.
DEVPOOL=(ANY[,device-name,n]...)
DEVPOOL=(NET[,device-name,n]...)
Identifies devices to be dedicated to this DJC network. The system allocates
these devices only to jobs in the network. The DEVPOOL parameter should be
coded on the //*NET statement that establishes the network; it is ignored on
other //*NET statements.
ANY
Indicates that jobs in the network can use any dedicated or undedicated
device. JES3 tries to allocate from the dedicated pool before allocating any
undedicated devices.
NET
Indicates that jobs can use only devices dedicated to the network.
device-name,n
Identifies a dedicated device. Code as many device-names with numbers
as will fit on one statement. device-name specifies (1) a device name
defined to JES3 by the installation during initialization or (2) a device-type
specified in the UNIT parameter of an IODEVICE system generation macro
If you specify NHOLD=0 or omit the NHOLD parameter, this job has no
predecessor jobs. JES3 can schedule it for immediate execution.
NO
Indicates that the job is to be processed normally without operator
intervention. If OPHOLD is omitted, NO is the default.
YES
Indicates that JES3 is to hold the job until it is released by the operator.
RELEASE=(jobname[,jobname]...)
Indicates that this job must be executed before the named job(s) in this DJC
network can be executed.
jobname
Names the JOB statement for a successor job. You can specify from 1
through 50 successor jobnames.
RELEASE is the only parameter on the //*NET statement that can be split and
continued on the next statement. To continue the RELEASE parameter, end the
statement with the comma following a jobname and continue the next statement
with the next jobname. The left parenthesis appears at the beginning of the
jobname list and the right parenthesis appears at the end of the list. For
example:
//*NET NETID=EXP1,RELEASE=(JOB35,JOB27Z,MYJOB,
//*WRITJB,JOBABC)
RELSCHCT=n
Controls early set up of a dependent job’s resources. Set up begins when the
NHOLD count becomes less than or equal to n. n is a number from 1 through
32,767.
If you specify RELSCHCT=0 or omit the RELSCHCT parameter, JES3 does not
set up dependent jobs early.
Note: Use this parameter carefully; RELSCHCT can tie up devices and data
sets for long times. Do not specify the RELSCHCT parameter:
v For a job that may have catalog dependencies.
v For a job that contains one or more //*PROCESS statements.
This statement defines a DJC network named NET01. The network contains no
predecessor jobs. The DEVPOOL parameter, which must be coded in the first job in
the network, requests that JES3 establish a device pool of two 3330s for network
NET01.
Example 2
//*NET NETID=N1,RELEASE=B,NETREL=(N2,B2)
This statement adds a job to the DJC network named N1. This job must be
executed before job B, which is in N1, and before job B2, which is in the DJC
network named N2.
//*NETACCT Statement
Purpose
Syntax
//*NETACCT parameter[,parameter]...
PNAME=programmer’s-name
ACCT=number
BLDG=address
DEPT=dept
ROOM=room
USERID=userid
Parameter Definition
PNAME=programmer’s-name
Identifies the programmer. programmer’s-name is 1 through 20 characters.
ACCT=number
Gives the network account number. number is 1 through 8 characters.
BLDG=address
Gives the programmer’s building address. address is 1 through 8 characters.
DEPT=dept
Gives the programmer’s department number. dept is 1 through 8 characters.
Defaults
For any //*NETACCT parameter that is omitted, JES3 uses an installation default
specified at JES3 initialization.
For jobs running at the submitting system and potentially having the destination
changed to a network destination via an output service modify command
(*MODIFY,U ...), place the //*NETACCT statement(s) for the SYSOUT immediately
after the JOB statement.
//*OPERATOR Statement
Purpose
Syntax
//*OPERATOR message
//**PAUSE Statement
Purpose
The //**PAUSE statement is intended primarily for system checkout and test. It
should be issued only by remote work stations.
Syntax
//**PAUSE [comments]
The //**PAUSE statement consists of the characters //** in columns 1 through 4, PAUSE in
columns 5 through 9, a blank in column 10, and, optionally, comments starting in any
column beginning with 11. JES3 ignores columns 73 through 80.
//*PROCESS Statement
Purpose
Use the //*PROCESS statement to control how JES3 processes a job. A job that
contains //*PROCESS statements receives only the JES3 processing specified on
the //*PROCESS statements plus certain required processing.
If the job generates spin data sets during main execution, the next scheduler
element will not be processed until the spin data sets have been processed. To
avoid long waits or system hangs, make sure that the OUTSERV scheduler element
is the next scheduler element after main processing.
Syntax
//*PROCESS dsp
[parameter[,parameter]...]
If the requested DSP requires parameters, code them on the following statement. The
parameter statement consists of parameters in columns 1 through 72, separated by
commas. Columns 73 through 80 must be blank. Only one parameter statement after a
//*PROCESS statement is allowed, any others are ignored by JES3.
Parameter Definition
dsp
Identifies the DSP that JES3 is to use in processing the job. Table 28-1 lists the
valid DSP names and whether parameters can follow.
Table 28-1. DSPs for JES3 //*PROCESS Statements
DSP DSP Function Parameters
Standard processing functions:
CI JES3 Converter/Interpreter Service, which Yes (See z/OS JES3
interprets the JCL and creates control Commands)
blocks.
MAIN Main Service, which processes the program. No
OUTSERV Output Service, which processes the job’s No
output.
PURGE Purge Service, which purges the job. This is No
the last function in any job. JES3
automatically creates this DSP.
Nonstandard processing functions:
CBPRNT Control Block Print Yes (See z/OS JES3
Commands)
DISPDJC Display Dependent Job Control Yes (See z/OS JES3
Commands)
DISPLAY Display Job Queues Yes (See z/OS JES3
Commands)
This example shows how to submit a simple job via //*PROCESS statements. It is
processed like a standard job. The four standard scheduler functions are used for
the job: CI, MAIN, OUTSERV, and PURGE. Note that PURGE is not specified;
JES3 automatically creates this DSP.
Example 2
//EXAM2 JOB
//*PROCESS CI
//*PROCESS MAIN
//*PROCESS OUTSERV
//*PROCESS PLOT
//*ENDPROCESS
//S1 EXEC PGM=ANY
Example 3
//EXAM3 JOB
//*PROCESS OUTSERV
//*FORMAT PR,DDNAME=S1.DS1,COPIES=5
//*DATASET DDNAME=S1.DS1
.
.
data
.
.
//*ENDDATASET
//S1 EXEC PGM=ANY
//DS1 DD DSNAME=DATA1
.
.
This example uses JES3 output service and the //*DATASET statement. Five copies
of data set DS1 are printed on any local printer.
Use the //*ROUTE XEQ statement to send the following input stream to a network
node where the job is then executed. JES3 stops transmitting input stream records
when it finds one of the following:
v The second JOB statement after the //*ROUTE XEQ statement.
v The input stream runs out of card images.
All output from the job is assumed to print/punch at the originating node unless
otherwise specified on a DEST parameter.
Syntax
//*ROUTE XEQ nodename[.vmguestid]
The //*ROUTE XEQ statement consists of the characters //* in columns 1 through 3,
ROUTE in columns 4 through 8, a blank in column 9, and, starting in any column from 10
through 72: XEQ, followed by at least one blank and then parameters. JES3 ignores
columns 73 through 80.
In this example, JOB statement JOBN1 is entered through the JES3 system at
node 1. The //*ROUTE XEQ statement tells JES3 to send the following input stream
to node 2. Transmission of the input stream is stopped by the /* delimiter statement.
JOB statement JOBN2 and all following statements until the delimiter are read and
executed by the system at node 2.
Node 1 Node 2
Work Work
Station 33 Station 33
/*SIGNOFF Statement
Purpose
Use the /*SIGNOFF statement to tell JES3 to end a remote job stream processing
session. At the completion of the current print and/or punch streams, JES3
disconnects the remote work station from the system. If JES3 is reading jobs from
the station when the output completes, JES3 disconnects the station when the input
is completed.
References
For more information on the /*SIGNOFF command, see z/OS JES3 Initialization and
Tuning Reference.
Syntax
/*SIGNOFF
Note that, unlike other JES3 statements, this statement starts with only one slash.
/*SIGNON Statement
Purpose
Use the /*SIGNON statement to tell JES3 to begin a remote job stream processing
session. The /*SIGNON statement can override the remote identification number
normally assigned to the remote work station. This statement is optional for all work
stations except non-multi-leaving remote stations on a switched line.
Systems network architecture (SNA) remote work stations must use the LOGON
command instead of the /*SIGNON statement to notify JES3 of a connection
request.
References
For information on the LOGON command, see z/OS JES3 Initialization and Tuning
Reference and z/OS Communications Server: SNA Programming.
Syntax
/*SIGNON work-station-name {A|(blank)} {R|(blank)} passwd1 passwd2 new-passwd
1-2 /*
3-8 SIGNON
9-15 blanks
16-20 work-station-name, beginning in 16
21 blank
22 A or a blank
23 R or a blank
24 blank
25-32 password1, beginning in 25
33-34 blanks
35-42 password2, beginning in 35
43 blank
44-51 new-password, beginning in 44
52-80 blanks
Note that, unlike other JES3 statements, this statement starts with only one slash.
Parameter Definition
work-station-name
Specifies the name of the remote work station. The work-station-name is 1
through 5 characters and must have been defined on a JES3 RJPTERM
initialization statement.
A Indicates an automatic reader. A can be coded only when the work station is a
programmable terminal. Leave this column blank if you do not want to specify
an automatic reader.
This statement requests that remote work station QUIN begin a remote job stream
processing session. The value A in column 22 specifies an automatic reader for the
programmable terminal. PSWD1, beginning in column 25, is the password assigned
to a dial line. PSWD2, beginning in column 35, is the password assigned to the
remote work station.
To change the current password PSWD2 for the remote work station, the preceding
/*SIGNON statement can be specified as:
/*SIGNON QUIN A PSWD1 PSWD2 PSWDNEW
This statement assigns PSWDNEW, beginning in column 44, as the new password
for the remote work station QUIN.
IBM may not offer the products, services, or features discussed in this document in
other countries. Consult your local IBM representative for information on the
products and services currently available in your area. Any reference to an IBM
product, program, or service is not intended to state or imply that only that IBM
product, program, or service may be used. Any functionally equivalent product,
program, or service that does not infringe any IBM intellectual property right may be
used instead. However, it is the user’s responsibility to evaluate and verify the
operation of any non-IBM product, program, or service.
IBM may have patents or pending patent applications covering subject matter
described in this document. The furnishing of this document does not give you any
license to these patents. You can send license inquiries, in writing, to:
IBM Director of Licensing
IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
USA
For license inquiries regarding double-byte (DBCS) information, contact the IBM
Intellectual Property Department in your country or send inquiries, in writing, to:
IBM World Trade Asia Corporation
Licensing
2-31 Roppongi 3-chome, Minato-ku
Tokyo 106, Japan
The following paragraph does not apply to the United Kingdom or any other
country where such provisions are inconsistent with local law:
INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS
PUBLICATION “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A
PARTICULAR PURPOSE. Some states do not allow disclaimer of express or
implied warranties in certain transactions, therefore, this statement may not apply to
you.
Any references in this information to non-IBM Web sites are provided for
convenience only and do not in any manner serve as an endorsement of those
Web sites. The materials at those Web sites are not part of the materials for this
IBM product and use of those Web sites is at your own risk.
IBM may use or distribute any of the information you supply in any way it believes
appropriate without incurring any obligation to you.
The licensed program described in this information and all licensed material
available for it are provided by IBM under terms of the IBM Customer Agreement,
IBM International Program License Agreement, or any equivalent agreement
between us.
If you are viewing this information softcopy, the photographs and color illustrations
may not appear.
Trademarks
The following terms are trademarks of the IBM Corporation in the United States or
other countries or both:
v AFP
v C/370
v CICS
v DFSMSdfp
v DFSMShsm
v DFSMS/MVS
v IBM
v IBMLink
v IP Printway
v MVS
v MVS/ESA
v MVS/SP
v OS/390
v Print Services Facility
v Printway
v RACF
v Resource Link
v RETAIN
v SecureWay
v VTAM
v zSeries
v z/OS
UNIX is a registered trademark of The Open Group in the United States and other
countries.
Other company, product, and service names may be trademarks or service marks
of others.
Index X-3
account-number subparameter ALL subparameter (continued)
of JOB accounting information parameter 20-7 of OUTPUT JCL JESDS parameter 22-50
accounting information 7-3 allocation
accounting-information parameter attribute
of JOB statement 20-6 on DD LIKE parameter 12-138
description 20-6 on DD REFDD parameter 12-170
example 20-9 of data set
JES2 format 20-8 holding for reuse 16-18
JES2 processing of invalid subparameter 20-9 of device
overrides of subparameters in JES2 format 20-9 from group 12-205
relationship to other control statement 20-7 number 12-205
subparameter 20-7 when unit affinity is specified 12-206
subparameters for JES2 format 20-8 ALX subparameter
specified on JES3 //*NETACCT statement 28-42 of DD SPACE parameter 12-184
accounting-information subparameter AMORG subparameter
of EXEC ACCT parameter 16-7 of DD AMP parameter 12-25
of JOB accounting information parameter 20-7 AMP parameter
ACCT parameter of DD statement 12-23
of EXEC statement 16-6 description 12-23
description 16-6 example 12-30
example 16-7 relationship to other parameter 12-30
subparameter 16-7 subparameter 12-25
of JES3 //*NETACCT statement 28-42 with DSNAME parameter 12-106
ACMAIN parameter AN character set
of JES3 //*MAIN statement 28-24 for 1403 printer 12-202, 22-82
ACS routine for 3203 Model 5 printer 12-202, 22-82
with DD DATACLAS parameter 12-51 AND (&) operator
with DD MGMTCLAS parameter 12-142 of IF/THEN/ELSE/ENDIF statement construct 17-3
with DD STORCLAS parameter 12-189 ANY subparameter
ADDRESS parameter of //*MAIN SYSTEM parameter 28-34
of OUTPUT JCL statement 22-12 of //*MAIN TYPE parameter 28-35
description 22-12 of //*NET DEVPOOL parameter 28-39
subparameter 22-12 of /*JOBPARM SYSAFF parameter 27-7
address subparameter ANYLOCAL subparameter
of //*NETACCT BLDG parameter 28-42 of //*FORMAT DEST parameter 28-12, 28-20
of DD SPACE parameter 12-185 of DD DEST parameter 12-82
ADDRSPC parameter of OUTPUT JCL DEST parameter 22-34
of EXEC statement 16-8 area subparameter
default 16-8 of DD DSNAME parameter 12-102, 12-104
description 16-8 ASCII tape record
example 16-9 converting to EBCDIC 12-68
override 16-8 attribute
relationship to REGION parameter 16-8 of data set 12-50, 12-53, 12-138, 12-170
subparameter 16-8 specifying on DD LIKE parameter 12-138
of JOB statement 20-10 specifying on DD REFDD parameter 12-170
default 20-10 specifying with DD DATACLAS parameter 12-50
description 20-10 specifying with DD DCB parameter 12-53
example 20-11 AUL subparameter
override 20-10 of DD LABEL parameter 12-132
relationship to REGION parameter 20-10 automatic cartridge loader
subparameter 20-10 use with THWSSEP subparameter of //*MAIN
AFF subparameter statement 28-35
of DD UNIT parameter 12-206 average record length
AL subparameter specifying in DD SPACE parameter 12-180
of DD LABEL parameter 12-132 AVGREC parameter
ALIGN subparameter of DD statement
of DD FCB parameter 12-117 description 12-31
alignment example 12-32
of printing form 12-117 override 12-32
ALL subparameter relationship to other parameter 12-32
of JES3 //*MAIN FETCH parameter 28-29 subparameter 12-31
Index X-5
BYTES parameter CCSID parameter (continued)
of JES2 /*JOBPARM statement 27-5 of DD statement (continued)
of JES3 //*MAIN statement 28-25 subparameter 12-37, 16-10, 20-15
of JOB statement 20-11 of EXEC statement 16-9
bytes subparameter of JOB statement 20-15
of AMP BUFSP parameter 12-25 character set 22-45
of DD DCB BLKSIZE subparameter 12-57 chart 4-3
of DD DCB BUFL subparameter 12-57 special character set
of DD DCB BUFSIZE subparameter 12-61 specifying 12-201, 22-82
of DD DCB KEYLEN subparameter 12-63 use 12-203, 22-83
of DD DCB LRECL subparameter 12-63 use in parameter 4-4
of DD DCB RESERVE subparameter 12-70 use in syntax 4-3
of DD KEYLEN parameter 12-128 universal character set (UCS)
of DD LRECL parameter 12-140 specifying 12-200, 22-81
use in statement 4-3
character-arrangement table
C specifying on DD CHARS parameter 12-39
C subparameter specifying on OUTPUT JCL CHARS
of //*DATASET DDNAME parameter 28-5 parameter 22-16
of //*FORMAT STACKER parameter 28-15 character-set-code subparameter
of //*MAIN BYTES parameter 28-25 of DD UCS parameter 12-201
of //*MAIN CARDS parameter 28-25 of OUTPUT JCL UCS parameter 22-81
of //*MAIN LINES parameter 28-30 CHARS parameter
of //*MAIN PAGES parameter 28-31 affect of DD MODIFY parameter 12-144
of DCB MODE subparameter 12-63 affect of OUTPUT JCL MODIFY parameter 22-54
of DCB OPTCD subparameter 12-66, 12-68, 12-69 affect of OUTPUT JCL TRC parameter 22-80
of DCB TRTCH subparameter 12-73 of DD statement 12-39
CANCEL subparameter default 12-40
of //*MAIN BYTES parameter 28-25 description 12-39
of //*MAIN CARDS parameter 28-25 example 12-41
of //*MAIN FAILURE parameter 28-28 override 12-40
of //*MAIN LINES parameter 28-30 printer reassignment 12-41
of //*MAIN PAGES parameter 28-31 relationship to other control statement 12-41
of JOB BYTES parameter 20-12 relationship to other parameter 12-41
of JOB CARDS parameter 20-13 subparameter 12-40
of JOB LINES parameter 20-22 of JES2 /*OUTPUT statement 27-14
of JOB PAGES parameter 20-30 of JES3 //*FORMAT PR statement 28-10
CARDS parameter of OUTPUT JCL statement 22-16
of JES2 /*JOBPARM statement 27-5 default 22-17
of JES3 //*MAIN statement 28-25 description 22-16
of JOB statement 20-13 example 22-17
cards subparameter override 22-17
JES2 format of JOB accounting information 20-8 subparameter 22-16
carriage control character checkid subparameter
specifying 22-24 of JOB RESTART parameter 20-43
CARRIAGE parameter checkpoint
of JES3 //*FORMAT PR statement 28-10 allowing and suppressing 16-26, 20-37
carriage-tape-name subparameter logical page size 22-18
of //*FORMAT CARRIAGE parameter 28-10 of data set 13-17
catalog of program 13-15
private or user restart 20-42
specification for job 13-1 written after specified number of logical
specification for step 13-7 pages 22-18
CATLG subparameter written after specified number of seconds 22-19
of DD DISP parameter 12-88, 12-89 CHKPT parameter
cccc subparameter of DD statement 12-41
of /*JOBPARM SYSAFF parameter 27-7 description 12-41
CCSID parameter example 12-42
of DD statement 12-37 for concatenated data set 12-42
description 12-37 override 12-42
examples 12-38 relationship to other parameter 12-42
Index X-7
comment statement (continued) COND parameter (continued)
in JCL (continued) of JOB statement (continued)
relationship to MSGLEVEL parameter 10-1 override 20-19
comments field subparameter 20-18
on JCL statement 3-1 summary chart 20-19
continuing 3-5 on EXEC statement 13-4
COMP subparameter effect on private job library specification 13-4
of DCB TRTCH subparameter 12-73 CONTIG subparameter
COMPACT parameter of DD SPACE parameter 12-184
of JES2 /*OUTPUT statement 27-15 continuing statement
of JES3 //*FORMAT PR statement 28-11 example 3-5
of JES3 //*FORMAT PU statement 28-19 JCL statement 3-4
of OUTPUT JCL statement 22-23 JES2 control statement 3-6
default 22-23 JES3 control statement 3-6
description 22-23 CONTROL parameter
example 22-23 of JES3 //*FORMAT PR statement 28-11
override 22-23 of OUTPUT JCL statement 22-24
subparameter 22-23 default 22-25
compaction description 22-24
of data 12-73 example 22-25
compaction table subparameter 22-24
specifying 22-23 converter/interpreter service
compaction-table-name subparameter in job processing 28-44
of //*FORMAT COMPACT parameter 28-11, 28-19 COPIES parameter
of OUTPUT JCL COMPACT parameter 22-23 of DD statement 12-44
comparison operator default 12-45
on IF/THEN/ELSE/ENDIF statement construct 17-2, description 12-44
17-3 example 12-46
completion code override 12-45
with IF/THEN/ELSE/ENDIF statement relationship to other control statement 12-46
construct 17-4 relationship to other parameter 12-45
COMSETUP parameter relationship to OUTPUT JCL COPIES
of OUTPUT JCL statement 22-23 parameter 12-46
description 22-23 subparameter 12-44
example 22-24 of JES2 /*JOBPARM statement 27-5
subparameter 22-24 of JES2 /*OUTPUT statement 27-15
concatenation of JES3 //*FORMAT PR statement 28-12
of data of JES3 //*FORMAT PU statement 28-20
block size 12-16 of OUTPUT JCL statement 22-25
checkpointing 12-42 default 22-26
coding concatenation 12-16 description 22-25
description 12-16 example 22-26
device 12-16 override 22-26
logical record length 12-16 relationship to other control statement 22-26
of job catalog 13-2 relationship to other parameter 22-26
of job library 13-4 subparameter 22-25
of step catalog 13-8 relationship to DD FLASH parameter 12-122
of step library 13-10 copies subparameter
reference 12-16 JES2 format of JOB accounting information 20-8
with dummy data set 12-18 copy
with dummy data set 12-112 attributes from a model data set 12-138
COND parameter jobstream to sysout 20-50
of EXEC statement 16-10 COPY subparameter
caution 16-13 of JOB TYPRUN parameter 20-50
description 16-10 COPYG parameter
example 16-16 of JES2 /*OUTPUT statement 27-15
override 16-13 count subparameter
subparameter 16-12 of //*FORMAT FLASH parameter 28-14
of JOB statement 20-17 of /*OUTPUT FLASH parameter 27-17
description 20-17 of /*OUTPUT FLASHC parameter 27-18
example 20-19 of DD FLASH parameter 12-121
Index X-9
DD statement (continued) delimiter (continued)
comments field 12-15 with DD DATA statement 12-47
ddname 12-1 with XMIT JCL statement 26-5
description 12-1 delimiter statement
example 12-18 in JCL 14-1
location in JCL 12-15 comments field 14-1
name field 12-1 description 14-1
operation field 12-3 example 14-2
parameter field 12-3 location in JCL 14-2
maximum statements per job 12-1 relationship to DLM parameter 14-1
special DD statement delimiter subparameter
description 13-1 of DD DLM parameter 12-97
ddname field subparameter of XMIT JCL DLM parameter 26-5
example 12-18 DEN subparameter
invalid with DD AMP parameter 12-30 of DD DCB parameter 12-61
on DD statement 12-1 density
reserved for special use 13-1 magnetic
special ddname 12-2 specification for tape data set 12-61
DDNAME parameter DEPT parameter
of DD statement 12-75 of JES3 //*NETACCT statement 28-42
description 12-75 OUTPUT JCL statement parameter 22-31
example 12-78 description 22-31
location in JCL 12-75 subparameter 22-31
location of referenced statement 12-76 dept subparameter
override 12-75 of //*NETACCT DEPT parameter 28-42
parameters not permitted on referenced DD DEST parameter
statement 12-76 of DD statement 12-80
referenced DD statement 12-76 default 12-83
relationship to other parameter 12-75 description 12-80
subparameter 12-75 example 12-84
of JES3 //*DATASET statement 28-4 override 12-83
of JES3 //*FORMAT PR statement 28-9 relationship to other control statement 12-84
of JES3 //*FORMAT PU statement 28-18 relationship to other parameter 12-83
ddname subparameter subparameters for JES2 12-81
of //*MAIN FETCH parameter 28-29 subparameters for JES3 12-82
of /*JOBPARM PROCLIB parameter 27-6 of JES2 /*OUTPUT statement 27-16
of DD DDNAME parameter 12-75 of JES3 //*FORMAT PR statement 28-12
DEADLINE parameter of JES3 //*FORMAT PU statement 28-20
of JES3 //*MAIN statement 28-26 of OUTPUT JCL statement 22-32
default default 22-35
location of default OUTPUT JCL statement 22-10 description 22-32
OUTPUT JCL statement 22-9 example 22-35
specifying statement 22-28 override 22-35
DEFAULT parameter relationship to other parameter 22-35
of OUTPUT JCL statement 22-28 subparameter for JES2 22-33
default 22-29 subparameters for JES3 22-34
description 22-28 of XMIT JCL statement 26-4
example 22-30 description 26-4
location in JCL 22-29 example 26-4
references to default OUTPUT JCL subparameter 26-4
statement 22-29 dest-name parameter
subparameter 22-29 of JES2 /*SIGNON statement 27-28
DEFER subparameter destination
of DD UNIT parameter 12-206 for data set
DELETE subparameter specifying on OUTPUT JCL statement 22-32
of DD DISP parameter 12-87, 12-88 specifying on XMIT JCL statement 26-4
delimiter specifying on OUTPUT JCL statement 12-80
for JES3 in-stream data set 28-6 device
for transmission of input stream 26-1 sharing through unit affinity 12-206
processing when invalid 12-97, 26-5 specifying in DD UNIT parameter 12-203
with DD * statement 12-18
Index X-11
dump (continued) EOV subparameter
printing 13-13 of DD CHKPT parameter 12-42
request on DD statement 12-41, 12-118 EQ subparameter
request on OUTPUT JCL statement 22-17, 22-39 of EXEC COND parameter 16-12
specification by SYSABEND, SYSMDUMP, and of JOB COND parameter 20-19
SYSUDUMP DD statement 13-12 EROPT subparameter
storage 13-13 of DD DCB parameter 12-62
DUMP subparameter error
of //*MAIN BYTES parameter 28-25 coding DD OUTPUT parameter 12-148
of //*MAIN CARDS parameter 28-25 in reading or writing a data set
of //*MAIN LINES parameter 28-30 specifying options for 12-62
of //*MAIN PAGES parameter 28-31 error messages
of JOB BYTES parameter 20-12 printing with PSF 22-27
of JOB CARDS parameter 20-13 ES subparameter
of JOB LINES parameter 20-22 of DD RECORG parameter 12-170
of JOB PAGES parameter 20-30 ET subparameter
on DD CHARS parameter 12-40 of DCB TRTCH subparameter 12-73
on OUTPUT JCL CHARS parameter 22-17 EVEN subparameter
DUPLEX parameter of EXEC COND parameter 16-12
of OUTPUT JCL statement 22-37 EXCP (execute channel program)
description 22-37 subparameters of DD DCB parameter 12-57, 12-75
example 22-38 EXEC statement
relationship to other parameter 22-38 in JCL 16-1
subparameter definition 22-37 comments field 16-5
DYNAM parameter description 16-1
of DD statement 12-113 example 16-5
description 12-113 location in JCL 16-5
example 12-114 name field 16-1
relationship to other control statement 12-114 operation field 16-2
relationship to other parameter 12-113 parameter field 16-2
dynamic system symbol 5-12 execution
DYNAMNBR parameter bypassing 16-10, 20-17
of EXEC statement 16-18 holding 20-50
default 16-18 of job at network node 28-47
description 16-18 restarting step 16-26, 20-37
example 16-19 specifying program 16-23
subparameter 16-18 timing 16-31, 20-47
EXPDT parameter
of DD statement 12-114
E description 12-114
E subparameter example 12-116
of //*DATASET DDNAME parameter 28-5 override 12-115
of DCB BFTEK subparameter 12-57 relationship to other parameter 12-115
of DCB CPRI subparameter 12-61 subparameter 12-115
of DCB MODE subparameter 12-63 EXPDTCHK parameter
of DCB OPTCD subparameter 12-66 of JES3 //*MAIN statement 28-28
of DCB TRTCH subparameter 12-73 expiration
EBCDIC character of data set
converting to ASCII code 12-68 deleting before 12-115, 12-174
EBCDIC text specifying in DD EXPDT parameter 12-114
description 4-3 specifying in DD LABEL parameter 12-134
END subparameter extents
of DD FREE parameter 12-123 allocation 12-182
ENDCNTL statement EXTWTR parameter
in JCL 15-1 of JES3 //*FORMAT PR statement 28-13
comments field 15-1 of JES3 //*FORMAT PU statement 28-21
description 15-1
example 15-1
label field 15-1 F
location in JCL 15-1 F subparameter
operation field 15-1 of //*NET ABNORMAL parameter 28-39
Index X-13
FREE parameter (continued) GTF (generalized trace facility)
of DD statement (continued) use 12-61
relationship to other parameter 12-123
subparameter 12-123
FRLOG subparameter 12-26 H
FSSDATA parameter H subparameter
of OUTPUT JCL statement 22-44 of DCB OPTCD subparameter 12-66, 12-68
description 22-44 H11 character set code
FUNC subparameter for 3211 printer 12-202, 22-82
of DD DCB parameter 12-62 hard-copy log
with LABEL parameter 12-134 job
request to not print 27-6
send messages to in JES3 system 28-43
G specifying processing 22-50
G11 character set HC parameter
for 3211 printer 12-202, 22-82 abbreviation of NHOLD parameter of JES3 //*NET
GAM (graphics access method) statement 28-38
subparameters of DD DCB parameter 12-57, 12-75 HFS subparameter
GE subparameter of DD DSNTYPE parameter 12-109
of EXEC COND parameter 16-12 HIGH subparameter
of JOB COND parameter 20-19 of //*MAIN IORATE parameter 28-29
generation subparameter HN character set code
of DD DSNAME parameter 12-102 for 1403 and 3203 Model 5 printer 12-202, 22-82
GENERIC subparameter HOLD parameter
of DD SECMODEL parameter 12-177 affect on JES2 /*JOBPARM COPIES
GNCP subparameter parameter 27-5
of DD DCB parameter 12-62 of DD statement 12-125
group default 12-126
output description 12-125
specifying on the OUTPUT JCL statement 22-47 examples 12-127
GROUP parameter override 12-126
of JOB statement 20-19 relationship to other control statement 12-127
default 20-20 relationship to other parameter 12-127
description 20-19 subparameter 12-126
example 20-20 of JES3 //*MAIN statement 28-29
subparameter 20-20 HOLD subparameter
group-name parameter of //*MAIN FAILURE parameter 28-28
of //*FORMAT DEST parameter 28-13, 28-20 of //*NET NRCMP parameter 28-40
of //*MAIN ORG parameter 28-31 of JOB TYPRUN parameter 20-51
of DD DEST parameter 12-82 holding
of DD UNIT parameter 12-204 job
of JOB GROUP parameter 20-20 specifying 20-50
of OUTPUT JCL DEST parameter 22-34 HWS subparameter
group-value subparameter of //*MAIN SETUP parameter 28-33
of //*FORMAT COPIES parameter 28-12
of /*OUTPUT COPIES parameter 27-15
of /*OUTPUT COPYG parameter 27-15 I
of DD COPIES parameter 12-45 I subparameter
of OUTPUT JCL COPIES parameter 22-25 of AMP OPTCD subparameter 12-26
GROUPID parameter of DCB FUNC subparameter 12-62
of OUTPUT JCL statement 22-47 of DCB OPTCD subparameter 12-69
description 22-47 ID parameter
example 22-47 abbreviation of NETID parameter of JES3 //*NET
relationship to other control statement 22-47 statement 28-38
subparameter 22-47 id subparameter
GS subparameter of DD DSID parameter 12-98
of DCB DSORG subparameter 12-61 IF/THEN/ELSE/ENDIF statement construct
GT subparameter in JCL
of EXEC COND parameter 16-12 comments field 17-7
of JOB COND parameter 20-19 comparison operator 17-2, 17-3
considerations 17-8
Index X-15
JES (job entry subsystem) job log (continued)
running a started task 7-6 statements in listing 6-1
JES2 symbolic parameter 6-1
statement 1-1, 3-4, 27-1 JOB statement
format 3-4 in JCL 20-1
location in JCL 27-1 comments field 20-6
JES3 description 20-1
statement 1-1, 3-4, 28-1 example 20-6
example 28-1 location in JCL 20-6
format 3-4 name field 20-1
location in JCL 28-1 operation field 20-2
JESDS parameter parameter field 20-2
location of statement containing 22-10 started tasks 20-2
of OUTPUT JCL statement 22-50 JOB subparameter
description 22-50 of //*MAIN SETUP parameter 28-33
example 22-51 job-level
location in JCL 22-51 OUTPUT JCL statement level 22-10
override 22-51 job-level output
subparameter 22-50 control of 7-3
JESJCL subparameter JOBCAT DD statement
of //*FORMAT DDNAME parameter 28-9 description 13-1
JESLOG parameter of JOB statement 20-21 example 13-2
JESMSGLG subparameter location in JCL 13-2
of //*FORMAT DDNAME parameter 28-9 overriding with STEPCAT DD statement 13-8
JESYSMSG parameter 13-2
of //*FORMAT DDNAME parameter 28-9 relationship to other control statement 13-2
JGLOBAL subparameter relationship to STEPCAT 13-2
of //*MAIN SYSTEM parameter 28-34 jobclass subparameter
JLOCAL subparameter of JOB CLASS parameter 20-17
of //*MAIN SYSTEM parameter 28-34 JOBLIB DD statement
job description 13-2
background or batch jobs example 13-6
affect on DD TERM parameter 12-199 location in JCL 13-4
beginning 20-1 overriding for a step 13-4, 13-10
class parameter 13-3
assigning 20-16 relationship to other control statement 13-4
held 22-21, 27-5 relationship to passed data sets 13-5
dependent relationship to STEPLIB 13-4
specifying in JES3 system 28-37 with COND=ONLY parameter 16-14
description 2-1 jobname
entering 2-1 coding 20-1
foreground jobs jobname subparameter
affect on DD TERM parameter 12-199 of //*NET NETREL parameter 28-40
nonstandard processing of //*NET RELEASE parameter 28-41
description 28-44 JOURNAL parameter
processing 2-2 of JES3 //*MAIN statement 28-30
controlling in JES3 system 28-44 JSTTEST subparameter
specifying control 20-1 of EXEC PGM parameter 16-24
specifying control in JES3 system 28-22
restarting
with EXEC COND parameter 16-14 K
standard processing K subparameter
description 28-44 of DD AVGREC parameter 12-32
job log KEEP subparameter
assigning to an output class 20-25 of //*NET ABCMP parameter 28-38
cataloged procedure statement 7-1 of DD DISP parameter 12-87, 12-89
controlling listing 20-26 keyboard A-1
in-stream procedure statement 7-1 KEYLEN parameter
job control statement 7-1 of DD statement 12-127
listing 6-1 description 12-127
specifying processing 22-50 example 12-128
Index X-17
log subparameter membername subparameter (continued)
JES2 format of JOB accounting information 20-9 of OUTPUT JCL PAGEDEF parameter 22-64
LOG subparameter message
of OUTPUT JCL JESDS parameter 22-50 from functional subsystem 22-65
logical operator specifying processing 22-50
on IF/THEN/ELSE/ENDIF statement construct 17-2, to operator in JES3 system 28-43
17-3 messages subparameter
LOW subparameter of JOB MSGLEVEL parameter 20-27
of //*MAIN IORATE parameter 28-29 MGMTCLAS parameter
lowercase of DD statement 12-141
in syntax 4-1 default 12-142
LRECL parameter description 12-141
of DD statement 12-140 example 12-143
description 12-140 override 12-142
example 12-141 relationship to other parameter 12-143
override 12-141 subparameter 12-142
relationship to other parameter 12-141 minutes subparameter
subparameter 12-140 of EXEC TIME parameter 16-32
LRECL subparameter of JOB TIME parameter 20-48
of DD DCB parameter 12-63 mmm subparameter
LREGION parameter of //*MAIN BYTES parameter 28-25
of JES3 //*MAIN statement 28-31 of //*MAIN CARDS parameter 28-25
LS subparameter of //*MAIN LINES parameter 28-30
of DD RECORG parameter 12-170 of //*MAIN PAGES parameter 28-31
LT subparameter of OUTPUT JCL OFFSETXB parameter 22-57
of EXEC COND parameter 16-12 MOD subparameter
of JOB COND parameter 20-19 of DD DISP parameter 12-85
LTM subparameter mode
of DD LABEL parameter 12-133 printing
specifying on OUTPUT JCL statement 22-67
MODE parameter
M of JES3 //*DATASET statement 28-5
m subparameter MODE subparameter
of //*FORMAT CHNSIZE parameter 28-11, 28-19 of DD DCB parameter 12-63
M subparameter modification
of DCB OPTCD subparameter 12-69 by specifying copy-modification module 12-143,
of DD AVGREC parameter 12-32 22-53
of DD RECFM parameter 12-167, 12-168 of procedure DD statement 5-4
MACRF operand coding 5-4
of DCB macro instruction MODIFY parameter
when coding DUMMY 12-112 of DD statement 12-143
main service default 12-144
in job processing 28-44 description 12-143
main-name subparameter example 12-145
of //*MAIN SYSTEM parameter 28-34 override 12-144
management-class-name subparameter relationship to other control statement 12-144
of DD MGMTCLAS parameter 12-142 relationship to other parameter 12-144
Master subsystem subparameter 12-144
JCL restrictions with START SUB=MSTR 7-6 of JES2 /*OUTPUT statement 27-19
restrictions with a started task 7-6 of JES3 //*FORMAT PR statement 28-14
running a started task 7-6 of OUTPUT JCL statement 22-53
MAXIMUM subparameter default 22-54
of the JOB TIME parameter 20-48 description 22-53
on the EXEC TIME parameter 16-32 example 22-54
MED subparameter override 22-54
of //*MAIN IORATE parameter 28-29 relationship to other parameter 22-54
member subparameter subparameter 22-54
of DCB INTVL subparameter 12-62 MODTRC parameter
of DD DSNAME parameter 12-102, 12-104 of JES2 /*OUTPUT statement 27-20
membername subparameter module subparameter
of OUTPUT JCL FORMDEF parameter 22-42 of AMP SYNAD subparameter 12-28
Index X-19
NETID parameter nodename subparameter
of JES3 //*NET statement 28-38 of //*FORMAT DEST parameter 28-13, 28-20
netid subparameter of //*MAIN ORG parameter 28-31
of //*NET NETREL parameter 28-40 of /*OUTPUT DEST parameter 27-16
NETREL parameter of DD DEST parameter 12-83
of JES3 //*NET statement 28-40 of OUTPUT JCL DEST parameter 22-34, 22-35
network-account-number parameter of XMIT JCL DEST parameter 26-4
of JES2 /*NETACCT statement 27-10 NOHO subparameter
NEW subparameter of //*NET NRCMP parameter 28-40
of DD DISP parameter 12-85 NOKP subparameter
new-password subparameter of //*NET ABCMP parameter 28-38
of JOB PASSWORD parameter 20-33 NOLIMIT subparameter
parameter of JES2 /*SIGNON statement 27-28 of the JOB TIME parameter 20-48
parameter of JES3 /*SIGNON statement 28-51 on the EXEC TIME parameter 16-32
NHOLD parameter NOLOG parameter
of JES3 //*NET statement 28-40 of JES2 /*JOBPARM statement 27-6
NL subparameter non-SMS-managed data set
of DD LABEL parameter 12-132 with DD VOLUME=REF subparameter 12-217
Nn parameter NONE subparameter
of JES2 /*ROUTE statement 27-23 of //*MAIN FETCH parameter 28-29
of JES2 /*XEQ statement 27-29 of /*OUTPUT FLASH parameter 27-17
of JES2 /*XMIT statement 27-31 of DD FLASH parameter 12-121
Nn subparameter of OUTPUT JCL FLASH parameter 22-40
of /*OUTPUT DEST parameter 27-16 NOPWREAD subparameter
of DD DEST parameter 12-81 of DD LABEL parameter 12-134
of OUTPUT JCL DEST parameter 22-33 NORMAL parameter
nnnnK subparameter of JES3 //*NET statement 28-39
of //*MAIN LREGION parameter 28-31 NORMAL subparameter
NO subparameter of OUTPUT JCL DUPLEX parameter 22-37
of //*DATASET DDNAME parameter 28-5 NOT (¬) operator
of //*FORMAT FORMS parameter 28-21 of IF/THEN/ELSE/ENDIF statement construct 17-4
of //*MAIN EXPDTCHK parameter 28-28 notation
of //*MAIN HOLD parameter 28-29 for syntax 4-1
of //*MAIN JOURNAL parameter 28-30 Notices B-1
of //*MAIN RINGCHK parameter 28-32 notification
of //*NET DEVRELSE parameter 28-40 of job completion 20-28
of //*NET OPHOLD parameter 28-41 receiving 20-29
of DD BURST parameter 12-36 NOTIFY parameter
of DD HOLD parameter 12-126 of JOB statement 20-28
of OUTPUT JCL BURST parameter 22-15 description 20-28
of OUTPUT JCL DEFAULT parameter 22-29 example 20-29
of OUTPUT JCL DPAGELBL parameter 22-37 subparameter for JES2 20-28
of OUTPUT JCL DUPLEX parameter 22-37 subparameter for JES3 20-29
of OUTPUT JCL PIMSG parameter 22-65 of OUTPUT JCL statement 22-56
of OUTPUT JCL SYSAREA parameter 22-77 description 22-56
of OUTPUT JCL TRC parameter 22-80 subparameter 22-57
NOCOMP subparameter NR parameter
of DCB TRTCH subparameter 12-73 abbreviation of NETREL parameter of JES3 //*NET
node statement 28-38
affect on JES2 /*JOBPARM COPIES NR subparameter
parameter 27-8 of EXEC RD parameter 16-27
of execution 27-8 of JOB RD parameter 20-39
node subparameter NRC subparameter
of DD DEST parameter 12-82, 12-83 of AMP CROPS subparameter 12-26
nodename parameter NRCMP parameter
of JES2 /*NOTIFY statement 27-11 of JES3 //*NET statement 28-40
of JES2 /*ROUTE statement 27-23, 27-24 NRE parameter
of JES2 /*XEQ statement 27-29 of AMP CROPS subparameter 12-26
of JES2 /*XMIT statement 27-31 NSL subparameter
of JES3 //*ROUTE XEQ 28-48 of DD LABEL parameter 12-132
Index X-21
OUTPUT statement (continued) pano subparameter
in JCL (continued) JES2 format of JOB accounting information 20-8
parameter field 22-2 parameter
relationship to DD statement COPIES keyword
parameter 12-46 on DD statement 12-4
relationship to JES2 /*OUTPUT statement 22-11 on EXEC statement 16-2
relationship to JES3 //*FORMAT statement 22-11 on EXEC statement that calls procedure 16-5
relationship to sysout DD statement 22-11 on JOB statement 20-2
step-level statement 22-10 on OUTPUT JCL statement 22-2
output-group subparameter syntax 3-3
of OUTPUT JCL GROUPID parameter 22-47 usage warning 3-2
overflow positional
holding 12-61 on DD statement 12-3
overlay-name subparameter on EXEC statement 16-2
of //*FORMAT FLASH parameter 28-14 on JOB statement 20-2
of /*OUTPUT FLASH parameter 27-17 optionally required by installation 20-6, 20-35
of DD FLASH parameter 12-121 syntax 3-3
of OUTPUT JCL FLASH parameter 22-40 symbolic
OVERLAYB parameter coding 5-12, 5-17
of OUTPUT JCL statement 22-62 default substitution text 5-15
OVERLAYF parameter defining 5-13
of OUTPUT JCL statement 22-62 example 5-24
overrides in nested procedure 5-26
of cataloged and in-stream procedures location 5-17
of DD statement 5-4 nullifying 5-13, 5-16
of EXEC statement parameter 5-3 overriding a system symbol 5-15
of OUTPUT JCL statement 5-4 purpose 5-12
with DD DUMMY statement 12-112 syntax 5-14
OVFL parameter parentheses
of JES3 //*FORMAT PR statement 28-15 with relational-expression 17-7
of OUTPUT JCL statement 22-63 PARM parameter
of EXEC statement 16-20
description 16-20
P example 16-21
p parameter subparameter 16-21
of /*PRIORITY statement 27-21 partition-name subparameter
P subparameter of //*MAIN SPART parameter 28-34
of DCB FUNC subparameter 12-62 PASS subparameter
of DD UNIT parameter 12-206 of DD DISP parameter 12-87
P11 character set password
for 3211 printer 12-202, 22-82 for protection of data set 12-133
PAGE subparameter PASSWORD parameter
of OUTPUT JCL PRMODE parameter 22-67 of JOB statement 20-31
page-mode printer description 20-31
on OUTPUT JCL FORMDEF parameter 22-42 example 20-33
on OUTPUT JCL PAGEDEF parameter 22-64 relationship to other parameter 20-33
on OUTPUT JCL PRMODE parameter 22-67 subparameter 20-32
PAGEDEF parameter password subparameter
of OUTPUT JCL statement 22-63 of JOB PASSWORD parameter 20-32
description 22-63 PASSWORD subparameter
example 22-64 of DD LABEL parameter 12-134
override 22-64 password1 parameter
subparameter 22-64 of JES2 /*SIGNON statement 27-28
pages of JES3 /*SIGNON statement 28-51
in printed output password2 parameter
limiting length 20-9, 22-52 of JES2 /*SIGNON statement 27-28
PAGES parameter of JES3 /*SIGNON statement 28-51
of JES2 /*JOBPARM statement 27-6 PATH parameter
of JES3 //*MAIN statement 28-31 of DD statement 12-150
of JOB statement 20-30 defaults 12-151
description 12-150
Index X-23
priority (continued) procedure (continued)
queue selection cataloged and in-stream (continued)
requested on JES2 /*PRIORITY statement 27-21 statements as listed in job log 7-1
specifying 20-36 system symbol 5-12
priority subparameter testing 2-1, 5-2
of JOB PRTY parameter 20-37 using 5-2
PRIVATE subparameter nested
of DD VOLUME parameter 12-212 description 5-9
PRMODE parameter example 5-9
of OUTPUT JCL statement 22-67 modifying procedure statement 5-10
default 22-67 symbolic parameter 5-26
description 22-67 private library 5-1
example 22-68 search order 5-2
subparameter 22-67 procedure-name subparameter
PROC parameter of EXEC PROC parameter 16-25
of EXEC statement 16-25 process-mode subparameter
description 16-25 of OUTPUT JCL PRMODE parameter 22-67
example 16-25 processing
subparameter 16-25 of data set
of JES3 //*MAIN statement 28-32 for input or output 12-134
PROC statement with multiple references in DD OUTPUT
in JCL 24-1 parameter 12-148
comments field 24-2 processor-id subparameter
description 24-1 of //*MAIN ACMAIN parameter 28-24
example 24-2 PROCLIB parameter
location in JCL 24-2 of JES2 /*JOBPARM statement 27-6
name field 24-1 PROCLIB, ordering searches with JCLLIB
operation field 24-2 statement 19-1
override 24-2 procname subparameter
parameter field 24-2 of DD QNAME parameter 12-165
procedure procstepname subparameter
calling search order 5-2 of EXEC ACCT parameter 16-7
cataloged and in-stream of EXEC ADDRSPC parameter 16-9
affect of parameters on calling EXEC of EXEC COND parameter 16-12, 16-13
statement 16-5 of EXEC DYNAMNBR parameter 16-18
calling 16-25 of EXEC PARM parameter 16-21
cataloging 5-1 of EXEC PERFORM parameter 16-22
description 2-1, 5-1 of EXEC RD parameter 16-28
effect of PROC parameter on other parameters of EXEC TIME parameter 16-32
and following statement 16-25 subparameter of EXEC REGION parameter 16-31
example 5-7 profile-name subparameter
example of symbols 5-24 of DD SECMODEL parameter 12-177
in-stream data 12-20 program
indicating beginning 24-1 control 11-1
indicating end 23-1 end 15-1
JCL symbol 5-12 statement 11-2
location of DD statements when overriding or execution 16-23
adding to procedure 12-15 location of executable program 13-2, 13-9
maximum per job 5-1 PROGRAM subparameter
modifying DD statement 5-4 of //*FORMAT CONTROL parameter 28-11
modifying OUTPUT JCL statement 5-4 of OUTPUT JCL CONTROL parameter 22-24
overriding ACCT parameter 16-7 program-name subparameter
overriding ADDRSPC parameter 16-9 of EXEC PGM parameter 16-23
overriding COND parameter 16-13 programmer’s-name parameter
overriding DYNAMNBR parameter 16-18 of JOB statement 20-35
overriding EXEC statement parameter 5-3 description 20-35
overriding PARM parameter 16-21 example 20-36
overriding PERFORM parameter 16-22 parameter 20-35
overriding RD parameter 16-28 programmer’s-name subparameter
overriding REGION parameter 16-31 of //*NETACCT PNAME parameter 28-42
overriding TIME parameter 16-32
Index X-25
RCK subparameter REFDD parameter (continued)
of AMP CROPS subparameter 12-26 of DD statement (continued)
RD parameter subparameter 12-171
of EXEC statement 16-26 reference
default 16-28 backward
description 16-26 coding 4-5, 12-78
example 16-28 example 4-6
override 16-28 to concatenated data set 12-16
relationship to other control statement 16-28 with DD DUMMY statement 12-112
subparameter 16-27 with EXEC COND parameter 16-14
of JOB statement 20-37 explicit
default 20-39 to OUTPUT JCL statement 22-9, 22-29
description 20-37 forward
example 20-40 to concatenated data set 12-16
override 20-39 implicit
relationship to other control statement 20-40 to OUTPUT JCL statement 22-9, 22-29
subparameter 20-38 using OUTPUT JCL DEFAULT parameter 22-28
reader region
internal default 16-30, 20-41
description 2-1 size
submitting job 27-1, 28-1 specifying 16-29, 20-40
with JES3 XMIT JCL statement 26-1, 26-6 REGION parameter
REAL subparameter of EXEC statement 16-29
of EXEC ADDRSPC parameter 16-8 default 16-30
of JOB ADDRSPC parameter 20-10 description 16-29
reassignment example 16-31
of printer 12-41 override 16-30
RECFM parameter relationship to the EXEC ADDRSPC
of DD statement 12-165 parameter 16-30
description 12-165 subparameter 16-29
example 12-169 of JOB statement 20-40
override 12-169 default 20-41
relationship to other parameter 12-169 description 20-40
RECFM subparameter example 20-42
of DD AMP parameter 12-27 override 20-42
of DD DCB parameter 12-70 relationship to the JOB ADDRSPC
reclgth subparameter parameter 20-42
of DD SPACE parameter 12-180 subparameter 20-41
record rel subparameter
specifying length 12-31, 12-63, 12-140 of //*MAIN DEADLINE parameter 28-26
specifying organization 12-169 relational-expression
record length on IF/THEN/ELSE/ENDIF statement construct
of new data set 12-140 continuing 17-2
specifying in the DD SPACE parameter 12-180 description 17-2
record-level sharing, VSAM 12-174 keyword 17-4
RECORG parameter operator 17-2
of DD statement 12-169 RELEASE parameter
default 12-170 of JES3 //*NET statement 28-41
description 12-169 RELSCHCT parameter
example 12-170 of JES3 //*NET statement 28-41
override 12-170 remote subparameter
relationship to other parameter 12-170 of //*FORMAT DEST parameter 28-13, 28-20
subparameter 12-170 of //*MAIN ORG parameter 28-31
REF subparameter REMOTEnnn parameter
of DD VOLUME parameter 12-215 of JES2 /*SIGNON statement 27-27
REFDD parameter requesting resources 2-6
of DD statement 12-170 tasks 2-6
description 12-170 task chart 2-6
example 12-172 REQUIRE subparameter
override 12-172 of //*MAIN THWSSEP parameter 28-35
relationship to other parameter 12-172
Index X-27
S SET statement
in JCL
S subparameter
comments field 25-2
of //*FORMAT STACKER parameter 28-15
consideration 25-3
of DCB BFTEK subparameter 12-57
description 25-1
of DCB CPRI subparameter 12-61
example 25-3
of RECFM parameter 12-166, 12-168
location in the JCL 25-3
SCAN subparameter
name field 25-2
of JOB TYPRUN parameter 20-51
operation field 25-2
scheduling environment, WLM 20-46
override 25-3
SCHENV parameter
parameter field 25-2
of JOB statement 20-46
relationship to other control statement 25-3
default 20-47
SETUP parameter
description 20-46
of JES3 //*MAIN statement 28-33
example 20-47
SETUP subparameter
relationship to other control statements 20-47
of //*MAIN FETCH parameter 28-29
subparameter definition 20-47
shortcut keys A-1
search order
SHR subparameter
calling a procedure 5-2
of DD DISP parameter 12-85
SECLABEL parameter
SINGLE subparameter
of JOB statement 20-45
of //*FORMAT CONTROL parameter 28-11
default 20-46
of OUTPUT JCL CONTROL parameter 22-24
description 20-45
SKP subparameter
example 20-46
of DCB EROPT subparameter 12-62
relationship to other parameter 20-46
SL subparameter
subparameter definition 20-45
of DD LABEL parameter 12-132
seclabel-name subparameter
SMS (Storage Management Subsystem)
of JOB SECLABEL parameter 20-45
with data set password protection 12-133
SECMODEL parameter
with DD AMP parameter 12-23
of DD statement 12-176
with DD AVGREC parameter 12-31
description 12-176
with DD DATACLAS parameter 12-50
example 12-177
with DD DCB parameter 12-53
override 12-177
with DD DSNTYPE parameter 12-108
relationship to other parameter 12-177
with DD EXPDT parameter 12-114
subparameter 12-177
with DD KEYLEN parameter 12-127
second-qty subparameter
with DD KEYOFF parameter 12-129
of //*MAIN TRKGRPS parameter 28-35
with DD LIKE parameter 12-138
of DD SPACE parameter 12-181
with DD LRECL parameter 12-140
seconds subparameter
with DD MGMTCLAS parameter 12-141
of EXEC TIME parameter 16-32
with DD RECFM parameter 12-165
of JOB TIME parameter 20-48
with DD RECORG parameter 12-169
security label
with DD REFDD parameter 12-170
on DPAGELBL parameter 22-36
with DD RETPD parameter 12-172
on DUPLEX parameter 22-37
with DD SECMODEL parameter 12-176
on SECLABEL parameter 20-45
with DD SPACE parameter 12-186
on SYSAREA parameter 22-76
with DD SPACE reclgth subparameter 12-180
SEGMENT parameter
with DD STORCLAS parameter 12-189
of DD statement 12-177
with DD UNIT parameter 12-203
description 12-177
with DD VOLUME=REF subparameter 12-217
override 12-178
with JOBCAT DD statement 13-1
relationship to other parameter 12-178
with STEPCAT DD statement 13-8
subparameter 12-178
SMS-managed data set
sending
definition 12-189
to remote node
with data set password protection 12-133
input stream for execution 28-47
with DD MGMTCLAS parameter 12-141
SER subparameter
with DD STORCLAS parameter 12-189
of DD VOLUME parameter 12-214
with DD VOLUME=REF subparameter 12-217
serial-number parameter
with JOBCAT DD statement 13-1
of JES2 /*SETUP statement 27-25
with STEPCAT DD statement 13-8
serial-number subparameter
with temporary data set 12-103
of VOLUME=SER subparameter 12-214
Index X-29
stepname subparameter SUBSYS parameter (continued)
of EXEC COND parameter 16-12 description 12-190
of JOB RESTART parameter 20-43 example 12-193
stepname.ddname relationship to other parameter 12-192
on DD statement referenced by DD DDNAME subparameter 12-191
parameter 12-76 running under the master subsystem 7-6
stepname.ddname subparameter subsystem-name subparameter
of //*FORMAT DDNAME parameter 28-9, 28-18 of DD SUBSYS parameter 12-191
of //*MAIN SETUP parameter 28-33 subsystem-subparameter subparameter
stepname.procstepname subparameter of DD SUBSYS parameter 12-192
of JOB RESTART parameter 20-43 SUL subparameter
stepname.procstepname.ddname subparameter of DD LABEL parameter 12-132
of //*FORMAT DDNAME parameter 28-9, 28-18 symbol
of //*MAIN SETUP parameter 28-33 JCL symbol
storage See parameter, symbolic
administrator system symbol
with DD DATACLAS parameter 12-50 See system symbol
with DD MGMTCLAS parameter 12-141 SYNAD subparameter
with DD STORCLAS parameter 12-189 of DD AMP parameter 12-28
with DD UNIT parameter 12-203 syntax
with DD VOLUME=SER subparameter 12-215 for continuing statement 3-4
real format of statement 3-1
requesting for job 20-10 notation 4-1
requesting for step 16-8 of parameter 4-1
virtual scanning for error 20-50
requesting for job 20-10 scanning for errors
requesting for step 16-8 without execution 16-24
storage-class-name subparameter SYS1.PROCLIB system procedure library
of DD STORCLAS parameter 12-189 use for procedure 2-1
STORCLAS parameter SYSABEND DD statement
of DD statement 12-189 description 13-12
default 12-189 example 13-14
description 12-189 location in JCL 13-13
example 12-190 overriding 13-14
override 12-190 SYSAFF parameter
relationship to other parameter 12-190 of JES2 /*JOBPARM statement 27-7
subparameter 12-189 SYSALLDA group name
with DD UNIT parameter 12-203 assumed when in-stream data set
STRNO subparameter referenced 12-218
of DD AMP parameter 12-27 SYSAREA parameter
SUB=MSTR option of OUTPUT JCL statement 22-76
started task 7-6 default 22-77
SUBCHARS parameter 26-6 description 22-76
processing when invalid 26-7 example 22-77
XMIT JCL statement parameter 26-6 relationship to other parameter 22-77
default 26-7 subparameter definition 22-77
description 26-6 SYSCHK DD statement
example 26-7 description 13-15
subparameter 26-7 example 13-17
subparameter location in JCL 13-17
coding when multiple 3-3 parameter 13-16
syntax 3-3 relationship to other control statement 13-17
subparameter subparameter SYSCKEOV DD statement
of DD DCB parameter 12-54 description 13-17
substitute example 13-18
character location in JCL 13-18
with XMIT JCL statement 26-6 parameter 13-18
substitute subparameter relationship to DD CHKPT parameter 12-42
of XMIT JCL SUBCHARS parameter 26-7 SYSIN DD statement
SUBSYS parameter description 13-18
of DD statement 12-190 example 13-19
Index X-31
TIME parameter (continued) TS subparameter
default 20-48 of DD TERM parameter 12-199
description 20-47 TUMBLE subparameter
example 20-49 of OUTPUT JCL DUPLEX parameter 22-38
override 20-48 TYPE parameter
subparameter 20-48 of JES3 //*MAIN statement 28-35
time subparameter type subparameter
of //*MAIN DEADLINE parameter 28-26 of //*FORMAT DEST parameter 28-13, 28-20
TIME subparameter of //*MAIN DEADLINE parameter 28-26
JES2 format of JOB accounting information 20-8 TYPRUN parameter
TITLE parameter of JOB statement 20-50
of OUTPUT JCL statement 22-79 description 20-50
description 22-79 example 20-52
subparameter 22-79 relationship to other control statement 20-51
TN character set subparameter 20-50
for 1403 and 3203 Model 5 printer 12-202, 22-82
TPROCESS macro instruction
accessing TCAM message 12-164 U
TRACE subparameter U subparameter
of DCB DIAGNS subparameter 12-61 of DCB OPTCD subparameter 12-68, 12-69
of DD AMP parameter 12-28 of DD AVGREC parameter 12-31
trace of DD RECFM parameter 12-166, 12-167, 12-168,
of OPEN/CLOSE/EOV 12-61 12-169
track UCS parameter
specifying in DD SPACE parameter 12-180 of DD statement 12-200
track subparameter default 12-202
of DCB CYLOFL subparameter 12-61 description 12-200
of DCB LIMCT subparameter 12-63 example 12-203
of DCB NCP parameter 12-66 override 12-202
TRAIN parameter relationship to other parameter 12-202
of JES3 //*FORMAT PR statement 28-15 subparameter 12-201
train-name subparameter of JES2 /*OUTPUT statement 27-20
of //*FORMAT TRAIN parameter 28-15 of OUTPUT JCL statement 22-81
translation default 22-81
of label description 22-81
specified by DD LABEL parameter 12-135 example 22-83
transmission override 22-82
of input stream to network node 28-47 subparameter 22-81
of input stream using XMIT JCL statement 26-1 Un parameter
TRC parameter of JES2 /*ROUTE statement 27-24
of OUTPUT JCL statement 22-80 Un subparameter
default 22-80 of /*OUTPUT DEST parameter 27-17
description 22-80 of DD DEST parameter 12-82
example 22-80 of OUTPUT JCL DEST parameter 22-34
relationship to other parameter 22-80 UNBLOCK subparameter
subparameter 22-80 of OUTPUT JCL DATACK parameter 22-28
trc subparameter UNCATLG subparameter
of //*FORMAT FORMS parameter 28-14 of DD DISP parameter 12-88, 12-89
of /*OUTPUT MODIFY parameter 27-19 unit affinity
of /*OUTPUT MODTRC parameter 27-20 specifying in AFF subparameter 12-206
of DD MODIFY parameter 12-144 when DDNAME parameter is also coded 12-76
of OUTPUT JCL MODIFY parameter 22-54 UNIT parameter
TRIPLE subparameter of DD statement 12-203
of //*FORMAT CONTROL parameter 28-11 description 12-203
of OUTPUT JCL CONTROL parameter 22-24 example 12-208
TRK subparameter location in JCL 12-208
of DD SPACE parameter 12-180 override 12-207
TRKGRPS parameter relationship to other parameter 12-207
of JES3 //*MAIN statement 28-35 subparameter 12-204
TRTCH subparameter relationship to DD COPIES parameter 12-45
of DD DCB parameter 12-73
Index X-33
WLM scheduling environment 20-46 Y subparameter (continued)
work-station-name parameter of DD PROTECT parameter 12-163
of JES3 /*SIGNON statement 28-50 YES subparameter
writer of //*DATASET DDNAME parameter 28-5
external of //*FORMAT FORMS parameter 28-21
specifying on OUTPUT JCL statement 22-88 of //*MAIN EXPDTCHK parameter 28-28
specifying on sysout DD statement 12-193 of //*MAIN HOLD parameter 28-29
starting 12-197, 22-89 of //*MAIN JOURNAL parameter 28-30
with OUTPUT JCL WRITER parameter 22-89 of //*MAIN RINGCHK parameter 28-32
with SYSOUT writer-name parameter 12-197 of //*NET DEVRELSE parameter 28-40
WRITER parameter of //*NET OPHOLD parameter 28-41
of OUTPUT JCL statement 22-88 of DD BURST parameter 12-36
default 22-89 of DD HOLD parameter 12-126
description 22-88 of DD PROTECT parameter 12-163
example 22-89 of OUTPUT JCL BURST parameter 22-15
override 22-89 of OUTPUT JCL DEFAULT parameter 22-29
relationship to other parameter 22-89 of OUTPUT JCL DPAGELBL parameter 22-36
subparameter 22-89 of OUTPUT JCL PIMSG parameter 22-65
writer-name subparameter of OUTPUT JCL SYSAREA parameter 22-77
of DD SYSOUT parameter 12-195 of OUTPUT JCL TRC parameter 22-80
with DEST=(node) subparameter 12-83 YN character set
for 1403 and 3203 Model 5 printer 12-202, 22-82
yyddd subparameter
X of DD EXPDT parameter 12-115
x subparameter yyyy/ddd subparameter
of //*MAIN PROC parameter 28-32 of DD EXPDT parameter 12-115
of /*JOBPARM FORMS parameter 27-5
of /*JOBPARM ROOM parameter 27-7
of /*OUTPUT CHARS parameter 27-14 Z
of /*OUTPUT FCB parameter 27-17 Z subparameter
of /*OUTPUT FORMS parameter 27-18 of DCB OPTCD subparameter 12-68
of /*OUTPUT UCS parameter 27-20
of /*XMIT DLM parameter 27-31
of DCB EROPT subparameter 12-62
X subparameter
of DCB FUNC subparameter 12-62
of DCB PCI subparameter 12-69
of LRECL parameter 12-141
XEQ parameter
of JES2 /*ROUTE statement 27-23
XMIT statement
in JCL 26-1
comments field 26-2
description 26-1
error on statement 26-3
example 26-3
location in JCL 26-2
name field 26-2
operation field 26-2
parameter field 26-2
support 26-1
XN character set
for 1403 and 3203 Model 5 printer 12-202, 22-82
Y
Y subparameter
of /*JOBPARM BURST parameter 27-5
of /*JOBPARM RESTART parameter 27-6
of /*OUTPUT BURST parameter 27-14
of DCB OPTCD subparameter 12-69
Overall, how satisfied are you with the information in this book?
How satisfied are you that the information in this book is:
When you send comments to IBM, you grant IBM a nonexclusive right to use or distribute your comments in any
way it believes appropriate without incurring any obligation to you.
Name Address
Company or Organization
Phone No.
___________________________________________________________________________________________________
Readers’ Comments — We’d Like to Hear from You Cut or Fold
SA22-7597-02 IBMR Along Line
_ _ _ _ _ _ _Fold
_ _ _ and
_ _ _Tape
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Please
_ _ _ _ _do
_ _not
_ _ staple
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Fold
_ _ _and
_ _ Tape
______
NO POSTAGE
NECESSARY
IF MAILED IN THE
UNITED STATES
IBM Corporation
Department 55JA, Mail Station P384
2455 South Road
Poughkeepsie, NY
12601-5400
_________________________________________________________________________________________
Fold and Tape Please do not staple Fold and Tape
Cut or Fold
SA22-7597-02 Along Line
IBMR
SA22-7597-02