IBM OS/390 User Manual

Page of 673
4.2.1.7 Instream Data
Both operating systems allow Instream Data in the middle of the JCL. This is
data that will be processed by the executing program.
4.2.1.8 Variables
The JCL in both operating systems will accept variables. These variables are set
with the // SET statement in MVS, or SETPARM in VSE.
4.2.1.9 Conditional JCL
Conditional JCL exists in both environments and allows performing IF and GOTO
statements. Loops are prohibited. In MVS, the IF statements are all processed at
converter time. Although the mechanics are very different, functionally, the IFs
are the same in both environments.
4.2.1.10 Return Codes
Return codes from previous steps can also be tested during execution in both
environments. Program steps can be bypassed based on the result of testing for
a condition (a return code or a parameter value). For example, if in a statement,
the return code was more than zero, then bypass the next statement. In MVS,
this is handled by the COND parameter on the // EXEC statement.
See also 4.3.11.3, “MVS Conditional JCL” on page 84.
4.2.2 Spooling
Spooling exists in both environments. POWER for VSE and JES for OS/390.
POWER and JES provide similar input and output capabilities and a similar
system of classes and priorities.
4.2.2.1 Internal Reader
The internal reader facility exists in both environments. An application program
can pass jobs to the spool, right into the input queue, just by writing to a pseudo
punch device. RJE and NJE also exist in both environments.
Further discussion of spooling can be found in Chapter 10, “POWER and JES2”
on page 207.
4.3 JCL Differences Between VSE and MVS
In part because of the differences in philosophy discussed in 4.1, “The
Philosophy of JCL in System/390” on page 69, there are differences in the
processing of JCL that lead to Job Control Language differences between the
two environments.
4.3.1 Job Input
In VSE systems, job input consisting of JCL statements and instream data,
whether spooled through the POWER spooling system or directly read in a
partition, is processed in a strictly sequential process. That is, a program can
only read one input statement at any one time, and this is a sequential process.
A programming or JCL error in VSE can cause the VSE Job Control program to
read a user data statement, or a user program to read a JCL statement, with
unpredictable results.
Chapter 4. Job Control Language (JCL) Differences and Considerations
73