What are system symbols?

System symbols are elements that allow systems to share parmlib definitions while retaining unique values in those definitions. System symbols act like variables in a program; they can take on different values, based on the input to the program. When you specify a system symbol in a shared parmlib definition, the system symbol acts as a “place holder”. Each system that shares the definition replaces the system symbol with a unique value during initialization.

Restriction: Start of changeA symbol definition will fail if it begins with a number. If any symbol in a symbol file is in error, the entire file of symbols is invalidated.End of change

Before you share parmlib definitions, you must understand the types of system symbols and the elements that comprise them.

The following terms describe the elements of system symbols:
Symbol Name
The name that is assigned to a symbol. It begins with an ampersand (&) and optionally ends with a period (.). System symbols should usually be specified in uppercase. There are places, for example, operator commands, where system symbols can be specified in lowercase.
Substitution Text
The character string that the system substitutes for a symbol each time it appears. Substitution text can identify characteristics of resources, such as the system on which a resource is located, or the date and time of processing. When you define static system symbols in the IEASYMxx parmlib member (see Step 4. Create an IEASYMxx parmlib member), the substitution text can contain other static system symbols; the resolved substitution text refers to the character string that is produced after all symbols in the substitution text are resolved.
The following terms describe the types of symbols:
Dynamic System Symbol
A system symbol whose substitution text can change at any point in an IPL. Dynamic system symbols represent values that can change often, such as dates and times. A set of dynamic system symbols is defined to the system; your installation cannot provide additional dynamic system symbols.
Static System Symbol
A symbol whose substitution text is defined at system initialization and remains fixed for the life of an IPL Start of changeunless the SETLOAD xx,IEASYM command is issued. The SETLOAD xx,IEASYM command can be used to make changes to system symbols in the local system symbol table without initiating an IPL. See z/OS MVS System Commands. End of change. (One exception, &SYSPLEX, has a substitution text that can change Start of changeat an additional point End of changein an IPL; see Step 5. Code support for system symbols in LOADxx for details.) Static system symbols are used to represent fixed values such as system names and sysplex names.
Static system symbols have two types:
  • System-defined static system symbols already have their names defined to the system. Your installation defines substitution texts or accepts system default texts for the static system symbols, which are:
    • &SYSCLONE
    • &SYSNAME
    • Start of change&SYSOSLVL (Note: Your installation cannot define substitution text for &SYSOSLVL.)End of change
    • &SYSPLEX
    • &SYSR1 (Note: Your installation cannot define substitution text for &SYSR1.)
    • &SYSALVL (Your installation cannot define substitution text for &SYSALVL.)
  • Installation-defined static system symbols are defined by your installation. The system programmer specifies their names and substitution texts in the SYS1.PARMLIB data set.
In addition to the system symbols listed above, the system allows you to define and use the following types of symbols:

The following sections describe the static and dynamic system symbols that you can define and use in parmlib.

Note: Although IBM® suggests the use of ending periods on system symbols, the text in the documentation does not specify them, except in examples, out of consideration for readability.