I just noticed the following changes in JCL for System Symbols in V2.1

A number of enhancements in the symbol processing have been implemented in
z/OS V2R1 to provide long sought after flexibility in the described areas.
They include:
        . Exporting JCL symbols-A new JCL statement EXPORT has been added,
that defines a list of JCL symbols that should be made available to the
application at execution time. A subsequent SET statement, and only SET
statement, will assign values to the exported symbols and will pass
necessary control information to the job execution phase. (Note that the
order of EXPORT statement and corresponding SET statements is important.)
The scope of a value of the exported symbol is all job steps starting from
the location of the SET statement, so each step of the same job can have
different values for the same symbol if necessary. For an application to
programmatically access the JCL symbols exported in this way, it should use
a new API-JCL Symbol Service IEFSJSYM.
        . In-stream symbol substitution-V2R1 now allows symbol substitution
in the records of the in-stream data sets, including those used in
catalogued JCL procedures. Substitution of symbols in the in-stream data is
performed at execution time-more precisely, at the moment when an
application reads a record from the in-stream data set. To allow symbols to
be used in the in-stream data, two things must be done:
1. Relevant EXPORT and SET JCL statements must be added to allow required
symbols to be visible during execution time.
2. New keyword SYMBOLS must be added to the DD statement that defines the
in-stream dataset. By default, there is no change in behavior compared to
the prior releases and no substitution is performed.
Several types of symbols can be substituted by this new function:
        o JCL symbols made available via EXPORT function
                o System symbols, such as &SYSNAME. Note that V2R1 now
allows using system symbols from a conversion system in JCL - something that
was not allowed in prior releases.
                o New JES symbols which will be explained later
The SYMBOLS keyword controls which symbols will be substituted:
                o SYMBOLS=JCLONLY causes substitution of all symbols except
for system symbols
                o SYMBOLS=EXECSYS causes substitution of all symbols
including system symbols. System symbols are taken from the system the job
is running on.
                o SYMBOLS=CNVTSYS is the same as SYMBOLS=EXECSYS except for
the origin of system symbols-they are taken from the system where the job
had been converted. This makes in-stream system symbols consistent with
symbol substitution performed during conversion.
During an in-stream symbol substitution, an attempt is made to preserve the
alignment of all non-blank character sequences (tokens) in the record. If
necessary, blanks are added or removed between non-blank tokens (at least
one blank is always preserved). This is done to allow a wide variety of
syntax rules to be used for the text in the in-stream dataset (e.g., fixed
column for a continuation character).
        . Passing symbols to the submitted jobs-A new function in V2R1
allows a job to pass one or more symbols to a job it submits through an
internal reader. These symbols become an initial set of JCL symbols when a
submitted job proceeds to the JCL conversion phase. (Note that such symbols
are automatically exported and do not require explicit EXPORT statement.)
This allows a consistency in usage of symbols between the parent and the
child jobs. To enable this function, the application must use new keyword
SYMLIST when allocating an internal reader. The symbols listed in this
keyword will be passed on to the submitted job. The values of the symbols
will be captured at the time when submitted job is finalized.
The following symbols can be passed on to the submitted job in this way:
                o JCL symbols made available to the parent job via EXPORT
function. Note that the values of these symbols cannot be changed.
                o New JES symbols, which will be explained later. Unlike JCL
symbols, these symbols can have their values changed. This will become clear
in a moment.
        . JES symbols-Now that new ways are available to pass JCL symbols
around, still more flexibility is added in z/OS V2R1 by introducing new JES
symbols. Remember, that JCL symbols are static-they are only created at JCL
conversion time and their values can never be changed after JCL conversion
is complete. Also, names of JCL symbols have limited length (8 characters)
and their values are limited to 255 characters.
JES symbols overcome these limitations. They are managed at the task and the
job step levels by a new JES Symbol Service IAZSYMBL. JES symbols can have
names up to 16 characters long and their values can be up to 4,096
characters long. JES symbols can be used:
        o By the in-stream symbol substitution
        o By the SYMLIST feature of the internal reader. The JES symbols
passed to the internal reader in this way become JCL symbols in the
submitted job. Of course, to be used in this way, JES symbols must conform
to the JCL rules.
        o For data interchange during application execution.
        o For interaction between application and the JES that controls the
current job.
        o For setting and retrieving job correlator. Job correlator is a new
job identification attribute in z/OS V2R1 and has a separate article
dedicated to its discussion.
Note that for convenience JES Symbol Service IAZSYMBL provides seamless
access to the JCL symbols as well as the JES symbols. When a JES symbol with
the specified name is not found, JES Symbol Service will search for a JCL
symbol with the same name.
        . Job notification-Several new interfaces in V2R1 use pre-defined
JES symbols. You can read about them in V2R1 JES Application Programming
Guide. One example is a job notification function. When submitting a job
through an internal reader, an application can request to be notified when
this job's execution is complete. An application requests this by creating a
pre-defined JES symbol SYS_JOB_NOTIFY. When job execution is complete, JES
will send Job Notification ENF (ENF 78)-this is new in z/OS V2R1. The value
of the SYS_JOB_NOTIFY symbol is added to the content of ENF 78 and can be
used by the ENF listener to further identify the job
Lizette

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to