IBM OS/390 User Manual

Page of 673
expansion for subsequent steps. In general, this is not possible in MVS JCL in
the OS/390 environment.
4.3.2 JCL Expansion
In VSE, JCL is expanded at execution time. The most current changes, even
those changed two seconds before the job begins execution are included. The
first step could change a procedure that is used by the third step.
In OS/390, JCL is expanded all at once when the job is submitted. This may be
hours or days before it is executed. All the procedures, all of the jobs, all of the
includes that are required are expanded at the same time. You can not change
variables during execution in OS/390 using symbolic names in JCL.
If a job is submitted today to be run tomorrow and overnight one of the included
members is changed and not reflected in the original JCL that was submitted,
the job will fail.
4.3.2.1 Early Error Detection
An advantage of expanding the JCL when the job is read in OS/390 is that many
of the JCL errors will be detected early and the job will fail. This removes the
ability to correct the job on the fly as in VSE. In OS/390 many errors are
detected before the job starts. In VSE a card has to be processed before errors
are found and the operator can act on it. However, because of this, you must
have a syntactically correct JOB statement to get JCL errors from OS/390.
4.3.2.2 Overrides
The OS/390 
Overrides
′ 
occur at the step level. A procedure can only be
overridden in OS/390 through the addition of a DD Statement to a specified step.
This is different from VSE, where statements in PROCs and SLIs are overridden
using each statement
s sequence number in positions 73-80.
4.3.3 Operator Flexibility and Intervention
Another difference between VSE and MVS JCL is the flexibility created by
requiring operator intervention. For example, the operator may correct invalid
JCL syntax.
4.3.3.1 Correcting Invalid Syntax
A syntax error in a JCL statement will cause a message to be posted on the
operator console. The operator will respond to the message by typing in the
correct JCL statement and processing will continue. This facility is not available
with OS/390. The job will fail with a JCL error, and must be corrected and
resubmitted.
4.3.3.2 Operator Data Entry
From a VSE point of view this flexibility is a feature. Installations depend on this
flexibility to address situations where it is necessary to have the operator retype
the JCL or command. For example, a programmer may purposely put in a
syntax error in the JCL to ensure it comes to the operator
s attention. The
experienced operator retypes the string and allows the job to continue.
This technique is illustrated in the following example, where the syntax of the
ASSGN statement is invalid and causes the operator to be prompted for action:
76
VSE to OS/390 Migration Workbook