The build scripts for z/OS® contain
pseudo-JCL.
Pseudo-JCL used by the z/OS build
server is similar to standard JCL in appearance, with some extensions
and restrictions. In this topic, a line of script (a line of pseudo-JCL)
is referred to as a card.
These are the major differences between the pseudo-JCL that is
used in z/OS build scripts
and the JCL that is used to submit an z/OS job:
- Pseudo-JCL has no job card.
- All cards must start with two forward slashes (//), except for
in-stream data.
- You can map a data set to input files that are sent from a build
client or to files that are to be returned to a build client as output
files. (The keyword CCUEXT is an extension for DD statements that
supports this mapping.)
- You can use the ENQ extension on a DD card to enqueue on the name
of the data set allocated by the DD card.
- You can supply default values for substitution variables that
are used within the build script. (The VARS statement supports this.)
Thus you can write a generic script and modify it for a particular
build by setting the substitution variables.
- You have more flexibility in specifying conditions for running
a job. For example, the method of specifying multiple conditions on
which a step is to be run is different from that of actual JCL.
- The build script contains one or more job steps. The execution
of a job step can be dependent on the result of a prior step, using
the COND parameter as in standard JCL with one difference: In pseudo-JCL,
if you want to specify conditions on more than one step of the job,
you specify a COND= keyword for each condition.
The following types of cards are supported:
- CALL
- Defines a new job step and specify an external JCL job to run.
- EXEC
- Defines a new job step and the name of the program to run.
- DD
- Defines the definitions for input and output files.
- IF, ELSE, ENDIF
- Controls statements that are included.
- IF
- Specifies the condition and is the start of the conditional statements.
- ELSE
- Specifies what is done, if the condition is not true.
- ENDIF
- Indicates the end of the conditional statements.
- VARS
- Specifies default values for substitution values.