Previous topic |
Next topic |
Contact z/OS |
Using symbols in JES2 in-stream data
z/OS MVS JCL Reference
For programming flexibility and efficiency, symbolic substitution is supported for data that is contained within JES2 in-stream data sets. Unlike symbolic substitution in the JCL stream of a job, which is performed by the JCL converter during processing of JCL statements, in-stream symbolic substitution is performed by JES2 when an in-stream data set is read.
The three types of symbols that can be used for JES2 in-stream substitution are JCL Symbols, JES Symbols and System Symbols:
The type of symbol substitution used for the in-stream data is controlled by the SYMBOLS keyword coded on the DD statement that defines the in-stream data set. Without the SYMBOLS keyword, JES does not perform symbol substitution for the in-stream data set and the application interprets the data exactly as it is entered in the data set.
The SYMBOLS keyword can be defined as follows:
The syntax rules for using symbols in in-stream data include those described previously for using symbols in JCL. One important difference is the handling of blanks in the input data. When symbols are substituted in JCL statements, there is no special treatment of blanks—as symbols are substituted, the resulting string expands or contracts depending on whether the symbol value is longer or shorter than the symbol expression (symbol name with a leading ampersand character and optional period at the end of the symbol name). When symbols are substituted in in-stream data, the system attempts to maintain the position of non-blank characters. This is achieved by adding or removing blanks between non-blank character sequences. At least one blank is always preserved to maintain syntactical validity of the data. The resulting string never contracts and only expands if there are not enough blanks to remove to maintain data positioning. Refer to Defining and nullifying JCL symbols for additional information.
Copyright IBM Corporation 1990, 2014