Pseudo-JCL syntax
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.