IBM OS/390 User Manual

Page of 673
Because there is no concept of permanent ASSGN or specification of standard
label facilities, all resource requirements for each job step must be included
explicitly in each job step. In OS/390, these definitions can be included as
procedures which can reduce the repetitive coding of JCL statements
(specifically DD statements).
To understand the structure and philosophy of MVS job control language, you
must first understand the workflow process for batch jobs. With OS/390, there
are separate phases for each of the following:
1
Input Service
The job
s JCL and any instream data sets are read by JES and stored on
spool as related spool files. No procedures or included JCL statements are
referenced or verified at this time.
JES control statements (JECL) are read, validated and attributes are
recorded for later processing. (These are converted to JCL comment cards
so the subsequent stages do not process them.)
2
JCL Conversion
The job control statements are “converted” into structured text units, and
most (but not all) syntax checking is performed. This step usually takes
place immediately after input service, and any JCL errors result in the job
being queued for output processing, bypassing execution, with a JCL error
message being sent to the submitter.
3
Job Scheduling
After conversion, the job is queued for initiation, and selected by either a
JES2 or WLM managed initiator on a priority, class, and first-come,
first-served basis.
4
Job and Step Initiation
When the job is selected for initiation, the converter-interpreter text units
are read and any data set references are resolved. Any errors such as
“data set not found” are determined at this point and the job is flushed -
queued for output processing - and the programmer is notified.
Once the interpreted control blocks are read into memory, each job step is
given control one at a time based on the conditional JCL processing
options. At step initiation time, all data sets referenced by JCL statements
are allocated. This is unlike VSE when data sets are allocated when they
are opened.
5
Output and Hardcopy Processing
There are actually two steps here with JES2. When the job finishes
execution, the output created on JES spool is grouped into output elements
according to destination and similar attributes, and queued for hardcopy
processing.
These output elements are then individually scheduled for printing,
punching, online viewing, or transmission to another node.
6
Purge Processing
After all the output for a job is disposed of, the job is deleted from the JES
queues and the spool space is freed up.
Chapter 4. Job Control Language (JCL) Differences and Considerations
71