Table of Contents (exploded view)
Abstract for MVS JCL User's Guide
Summary of changes
Summary of changes
Summary of changes for z/OS Version 2 Release 1
Summary of changes for z/OS Version 2 Release 1
Introduction
Introduction - job control statements
JCL statements
JECL statements
Introduction - job control language (JCL)
Understanding JCL
“Chez MVS”
How this relates to JCL
Job control statements
Required control statements
Exercise: creating and entering a job
Before you begin
Step 1. allocate a data set to contain your JCL
Step 2. edit the JCL data set and add the necessary JCL
Step 3. submit the JCL to the system as a job
Step 4. view and understand the output from the job
Step 5. make changes to your JCL
Step 6. view and understand your final output
More complex jobs
In-stream and cataloged procedures
In-stream procedures
Cataloged procedures
Embedding in-stream data in a JES procedure
Input streams
Additional information
Installation conventions worksheet
Using ISPF to allocate and edit a data set
Using SDSF to view output from a job
Helpful utilities
Job Control Tasks
Entering Jobs
Processing jobs
Requesting Resources
Task charts
Tasks for entering jobs
Entering jobs - identification
Identification of job
Identification of step
Identification of procedure
Identification of INCLUDE group
Identification of account
For local execution
For remote execution
Identification of programmer
Entering jobs - execution
Execution of program
Execution of procedure
Execution when restarting and with checkpointing (non-APPC)
Restarting after abnormal termination
Restarting when the system failed in a JES2 system
Restarting when the system failed in a JES3 system
Deadline or periodic execution in a JES3 system
Use of deadline scheduling
Use of periodic scheduling
Execution when dependent on other jobs in a JES3 system
Execution at remote node (non-APPC)
Considerations when submitting a remote job
Entering jobs - job input control
Job input control by holding job entrance (Non-APPC)
Job input control by holding local input reader (non-APPC)
Job input control by copying input stream (non-APPC)
Job input control from remote work station
JES2 remote job entry
JES3 remote job processing
Entering jobs - communication
Communication from JCL to system (non-APPC)
Communication from JCL to operator (non-APPC)
Communication from JCL to programmer
Communication from JCL to program
PARM and PARMDD values for IBM-supplied programs
Communication from system to operator
Messages during volume mounting
Messages when job exceeds output limit
Messages when output limit exceeded in an APPC scheduling environment
Messages when output limit exceeded in a non-APPC scheduling environment
Use of warning messages
Communication from system to userid
Job completion
Print completion
Communication from time sharing userid to a JES3 system
Communication from functional subsystem to programmer
Communication through job log
Printing job log and sysout data sets together
Entering jobs - protection
Protection through RACF
Entering jobs - resource control
Resource control of program library
System library
Private library
Temporary library
Resource control of procedure library
Retrieving a procedure library
Updating a procedure library
Resource control of INCLUDE group
Retrieving an INCLUDE group
Resource control of address space
Types of storage
Requesting amount and type of storage
Requesting amount of logical storage in a JES3 system
Resource control of the processor
Selecting a processor using a scheduling environment
Selecting a processor in JES2
Selecting a processor in JES3
Resource control of spool partitions in a JES3 system
Tasks for processing jobs
Processing jobs - processing control
Processing control by conditional execution
Bypassing or executing steps based on the evaluation of previous steps
Using the IF/THEN/ELSE/ENDIF statement construct
Uses of return code tests
Compatible return code tests
Job and step level evaluation using the IF/THEN/ELSE/ENDIF statement construct
Job level evaluation
Step level evaluation
Relationship of the IF/THEN/ELSE/ENDIF statement construct to the COND parameter
Step execution after a preceding step abnormally terminates
Testing for an abend condition
Testing for an abend completion code
Steps that do not execute after a preceding step abnormally terminates
Examples of IF/THEN/ELSE/ENDIF statement construct
Bypassing or executing steps based on return codes
Uses of return code tests
Relationship of the COND parameters on JOB and EXEC statements
Step execution after a preceding step abnormally terminates
Compatible return code tests
Examples of JOB statement return code tests
Example 1
Example 2
Example 3
Example 4
Examples of EXEC statement return code tests
Example 1
Example 2
Example 3
Example 4
Example 5
Examples of EXEC COND parameters with EVEN and ONLY
Example 1
Example 2
Example 3
Example 4
Example 5
Examples of COND return code testing in a job
Examples of COND parameters in procedures
Example 1
Example 2
Example 3
Example 4
Examples of COND parameters that force step execution
Processing control by cancelling a job that exceeds output limit
Limiting output in an APPC scheduling environment
Limiting output in a Non-APPC scheduling environment
Use in testing
Processing control by timing execution
JOB and EXEC TIME parameter
JES2 time parameters
z/OS UNIX system services considerations
Processing control for testing
Altering usual processing for testing
Scanning JCL for errors (non-APPC)
Examples
Using IEFBR14 program for testing
Considerations when using IEFBR14
Examples
Using nonstandard processing
Example
Dumping after error
Example 1
Example 2
Example 3
Processing jobs - performance control
Performance control by job class assignment (non-APPC)
Performance control by selection priority (non-APPC)
Priority for JES2 jobs
Priority for JES3 jobs
Priority aging
Performance control by I/O-to-processing ratio (non-APPC)
Tasks for requesting data set resources
Data set resources - identification
Identification of data set
Permanent data set
Members of a PDS or PDSE
Generations of a generation data group
Temporary data sets
Members of a temporary PDS or PDSE
Copying the data set name from an earlier DD statement
Concatenating data sets
Identification of in-stream data set (non-APPC)
Entering data through the input stream
In-stream data sets in a JES3 system
Identification of data set on 3540 diskette input/output unit
Identification through catalog
Identification through label
Identification by location on tape
Identification as data set from or to terminal (non-APPC)
Data set resources - description
Description of status
Data set integrity processing
Summary of data set integrity processing
Description of data attributes
In data control block (DCB)
In access method control block (ACB)
In data class
From model data set
Migration and backup (with SMS)
Data set resources - protection
Protection through RACF
Protection with the PROTECT parameter
Protection with the SECMODEL parameter
Protection for ISO/ANSI/FIPS version 3 tapes
Protection by passwords
Protection of access to BSAM or BDAM data sets
Data set resources - allocation
Allocation of device
Device allocation for SMS-managed data sets
Device allocation for non-SMS-managed data sets
Specifying device number
Specifying device for output data set (non-SMS-managed data sets)
Allocation with deferred volume mounting
Requesting more than one unit for non-system-managed data sets and Data Sets on a System-Managed Tape Volume
Number of devices allocated for non-system-managed data sets and Data Sets on a System-Managed Tape Volume
Volumes required per DD statement
Devices required per DD statement
Devices assigned per step
Tape device selection
Examples for non-system-managed data sets and Data Sets on a System-Managed Tape Volume
Device allocation in a JES3 system
Types of JES3 setup
Allocation of volume
Volume allocation for SMS-managed data sets
References to SMS-managed data sets
Specific volume requests for System-Managed DASD Data Sets
Nonspecific volume requests for system-managed data sets
Multivolume data sets for System-Managed DASD Data Sets
Volume allocation for non-SMS-managed data sets
Volume allocation for non-system-managed data sets and Data Sets on a System-Managed Tape Volume
Specific volume requests for non-system-managed data sets and Data Sets on a System-Managed Tape Volume
Nonspecific volume requests for non-system-managed data sets and Data Sets on a System-Managed Tape Volume
Private volumes for non-system-managed data sets and Data Sets on a System-Managed Tape Volume
Public volumes for non-system-managed data sets and Data Sets on a System-Managed Tape Volume
Volume affinity for non-system-managed data sets and Data Sets on a System-Managed Tape Volume
Multivolume data sets for non-system-managed data sets and Data Sets on a System-Managed Tape Volume
Volumes required per DD Statement for non-system-managed data sets and Data Sets on a System-Managed Tape Volume
Interactions between device and volume allocation
Relationship of the UNIT and VOLUME parameters (non-SMS-managed data sets)
Relationship of the UNIT and VOLUME parameters (SMS-managed data sets)
Unit and volume affinity for non-system-managed data sets and Data Sets on a System-Managed Tape Volume
Interaction of unit and volume affinity requests
Affinity for multivolume data sets
Device use for Data Sets on a System-Managed Tape Volume
Examples of when the system ignores unit affinity
Stacking data sets
Examples of data set stacking
Data set stacking and tape mount management
Allocation of direct access space
Requesting system assigned space
How the system satisfies the primary space request
How the system satisfies the secondary space request
Directory space for partitioned data sets
Requesting specific tracks
Allocation of virtual I/O
Backward references to VIO data sets
Allocation with volume premounting in a JES2 system
Dynamic allocation
Data set resources - processing control
Processing control by suppressing processing
Processing control by postponing specification
How the system postpones data set definition
References to the data set
Concatenating DD statements when DDNAME is specified
Use of postponing specification
Processing control with checkpointing
Processing control by subsystem
Requesting subsystem
Program control statements for a subsystem
Data set resources - end processing
Unallocation end processing
Disposition end processing of data set
Disposition controlled by DISP parameter
Deleting a data set
Unexpired expiration date
Cataloged data sets
Temporary data sets
TSO/E background data sets
Keeping a data set
Cataloging a data set
Use of cataloging
CATLG for a cataloged data set
Generation data sets
When the system does not catalog a data set
Job termination due to inability to catalog a data set
Uncataloging a data set
Passing a data set
To pass
To receive
When passing step abnormally terminates
Disposition processing of unreceived passed data sets
At abnormal termination when abnormal termination disposition is specified
At abnormal termination when no abnormal termination disposition is specified
When abnormal termination occurs before execution
Deletion at end of job
In a procedure that is called multiple times
Default disposition processing
Bypassing disposition processing
Disposition processing of data sets that do not exist
When VOLUME and UNIT are coded
When VOLUME and UNIT are not coded
Disposition controlled by time
Release of unused direct access space in end processing
Disposition end processing of volume
Disposition of removable volumes
Volume retention
Tasks for requesting sysout data set resources
Sysout resources - identification
Identification as a sysout data set
Identification of output class
Identification of data set on 3540 diskette input/output unit
Sysout resources - destination control
Description of data attributes
Sysout resources - protection
Protection of printed output
Sysout resources - performance control
Performance control by queue selection (non-APPC)
Sysout resources - processing control
Processing control with additional parameters
Adding parameters from OUTPUT JCL statement
Adding parameters from JES2 /*OUTPUT statement
Adding parameters from JES3 //*FORMAT statement
Processing control by segmenting
Processing control with other data sets
Using output class
Using sysout data set size in a JES3 system
Using groups in a JES2 system
Processing control by external writer
Processing control by mode
Processing control by holding
Holding using the DD statement
Holding using the OUTPUT JCL statement
Releasing held data set
Processing control by suppressing output
Using dummy status to suppress output
Using class to suppress output in a JES2 system
Using the OUTPUT JCL statement to suppress output
Processing control with checkpointing
Processing control by print services facility
Identifying a library to PSF
Use of user libraries
Considerations for library data sets
Sysout resources - end processing
Unallocation end processing
Sysout resources - destination control
Destination control to local or remote device or to another node
Multiple destinations
Controlling output destination in a JES2 network
Controlling output destination in a JES3 network
Destination control to another processor in a JES3 system
Destination control to internal reader
Destination control to terminal
Destination control to assist in sysout distribution
Sysout resources - output formatting
Output formatting to any printer
Output formatting to 3800 printing subsystem
Copy modification
Character arrangements
Output formatting to 3211 printer with indexing feature in a JES2 system
Output formatting to punch
Interpretation of punched cards
Output formatting of dumps on 3800 printing subsystem
Sysout resources - output limiting
Output limiting
Limiting output in an APPC scheduling environment
Limiting output in a non-APPC scheduling environment
Actions when limit exceeded
Sysout resources - USERDATA OUTPUT JCL keyword
References
Examples
Examples
Example - assemble, linkedit, and go
Example - multiple output
Example - obtaining output in a JES2 system
Example - obtaining output in a JES3 system
Example - identifying data sets to the system
Generation data sets
Building a GDG base entry
Defining attributes for SMS-managed generation data sets
Creating an SMS-managed generation data set
Disposition of SMS-managed generation data sets
Defining attributes for non-SMS-managed generation data sets
Creating a non-SMS-managed generation data set
Retrieving a generation data set
Retrieving all generation data sets
Deleting and uncataloging generation data sets
Restarting a job with generation data sets
VSAM data sets
VSAM data sets - with SMS
Creating a VSAM data set - with SMS
Retrieving an existing VSAM data set - with SMS
Migration consideration for SMS
DD statement parameters - with SMS
VSAM data sets - without SMS
Creating a VSAM data set - without SMS
Retrieving an existing VSAM data set - without SMS
DD statement parameters - without SMS
Data sets with SMS
SMS constructs
Existing JCL
Default unit
Specifying constructs
Overriding attributes defined in the data class
Overriding attributes defined in the management class
Overriding attributes defined in the storage class
Protecting data sets with RACF
Modeling data set attributes
Trademarks