Static system symbol support

Static system symbol support

Overview

BSA supports static system symbols. Static system symbols are used to represent fixed values such as system names and sysplex names.

In the following, this function will be referred to as SYSVAR support.

Definition

Static system symbols and their substitution text are defined in member IEASYMxx in the SYS1.PARMLIB. The substitution text is defined at system initialization and remains fixed for the life of an IPL. There are two types of static system symbols:

  • System-defined static system symbols, for example, &SYSCLONE, &SYSNAME, &SYSPLEX
  • Installation-defined static system symbols (The system programmer specifies their names and substitution texts in the SYS1.PARMLIB dataset.)

Enabling SYSVAR support

To enable SYSVAR support, code the following keyword in member B01LSTxx in the BETA.PARMLIB:

SYSVAR_SUPPORT = YES

Coding SYSVARs

The general rules on coding system variables apply when coding SYSVARs in LST members or in the JCL. For more information on these rules, please refer to the corresponding IBM publication.

Extent of SYSVAR support

When SYSVAR support is enabled, static system variables are replaced by the substitution values defined in the IEASYMxx member. The following indicates when variables are (or are not) substituted.

  • Variables are substituted:
    • When an STC starts:

      All static system variables that are used in the product LST members are substituted with the values defined for this system.

      Note: No variable substitution takes place when keywords defined in member B01LSTxx are processed.

    • When the datasets of a BQL database are opened:

      All static system variables that are used in the dataset names stored in the database definition file are substituted with the values defined for this system. (You cannot use static system variables in the dataset name of the database definition file itself.)

    • When a BQL database is formatted:

      All static system variables that are used in the FORMAT statement for the program BST05FOR are substituted with the values defined for this system.

  • Variables are never substituted:
    • When the REXX tailors LST members, batch jobs, and system parameter members (for example, VTAM application ID).

      The REXX writes the names of the static system variables to the members. The variables will later be substituted by the Beta function or the JES interpreter when they need the corresponding value.

    • When BST05UPF uploads dataset names into the database definition file (DEFI file).

      The program writes the names of the static system variables to the database definition file. The variables are substituted when the corresponding datasets are opened.

Note on system symbols in dataset names

Please note the following when you are using static system symbols in dataset names of BQL databases:

Each static system symbol will be substituted with the value defined for this system. This may lead to problems when several systems share one database. You must ensure that the resulting dataset names are available on each system after variable substitution has taken place.

Note on CAF and IAF

SYSVAR support does not apply to the following:

  • Parameters allocated by CAF in the CICS started task (CAFPARM)
  • Parameters allocated by IAF in the IMS started task (IAFPARM)

Further reference

For more information on using and coding system symbols, see the IBM publication MVS Initialization and Tuning Reference.