z/OS system installation and maintenance
Previous topic | Next topic | Contents | Glossary | Contact z/OS | PDF


System symbols in PARMLIB

z/OS system installation and maintenance

System symbols are elements that allow different z/OS® 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 "placeholder". Each system that shares the definition replaces the system symbol with a unique value during initialization.

Each system symbol has a name, which begins with an ampersand (&) and optionally ends with a period (.), and has substitution text, which is the character string that the system substitutes for a symbol each time it appears.

There are two types of system symbols:
Dynamic
The substitution text can change at any point in an IPL.
Static
The substitution text is defined at system initialization and remains fixed for the life of an IPL.
Some symbols are reserved for system use. You can display the symbols in your system by entering the D SYMBOLS command. Figure 1 shows the result of entering this command.
Figure 1. Partial output of the D SYMBOLS command (some lines removed)
HQX7708 -----------------  SDSF PRIMARY OPTION MENU  -- 
COMMAND INPUT ===> -D SYMBOLS                           
  IEA007I STATIC SYSTEM SYMBOL VALUES  
          &SYSALVL.  = "2"  
          &SYSCLONE. = "70"    
          &SYSNAME.  = "SC70"   
          &SYSPLEX.  = "SANDBOX"      
          &SYSR1.    = "Z17RC1"       
          &ALLCLST1. = "CANCEL"       
          &CMDLIST1. = "70,00"        
          &COMMDSN1. = "COMMON"       
          &DB2.      = "V8"           
          &DCEPROC1. = "."            
          &DFHSMCMD. = "00"           
          &DFHSMHST. = "6"            
          &DFHSMPRI. = "NO"           
          &DFSPROC1. = "."            
          &DLIB1.    = "Z17DL1"       
          &DLIB2.    = "Z17DL2"       
          &DLIB3.    = "Z17DL3"       
          &DLIB4.    = "Z17DL4"       
          &IEFSSNXX. = "R7"           
          &IFAPRDXX. = "4A" 

The IEASYMxx PARMLIB member provides a single place to specify system parameters for each system in a multisystem environment. IEASYMxx contains statements that define static system symbols and that specify IEASYSxx PARMLIB members that contain system parameters (the SYSPARM statement). Figure 2 shows an IEASYMxx PARMLIB member.

Figure 2. Partial IEASYMxx PARMLIB member (some lines removed)
SYSDEF     SYSCLONE(&SYSNAME(3:2)) 
           SYMDEF(&SYSR2='&SYSR1(1:5).2') 
           SYMDEF(&SYSR3='&SYSR1(1:5).3') 
           SYMDEF(&DLIB1='&SYSR1(1:3).DL1') 
           SYMDEF(&DLIB2='&SYSR1(1:3).DL2') 
           SYMDEF(&DLIB3='&SYSR1(1:3).DL3') 
           SYMDEF(&DLIB4='&SYSR1(1:3).DL4') 
           SYMDEF(&ALLCLST1='CANCEL') 
           SYMDEF(&CMDLIST1='&SYSCLONE.,00') 
           SYMDEF(&COMMDSN1='COMMON') 
           SYMDEF(&DFHSMCMD='00') 
           SYMDEF(&IFAPRDXX='00') 
           SYMDEF(&DCEPROC1='.') 
           SYMDEF(&DFSPROC1='.') 
SYSDEF     HWNAME(SCZP901) 
           LPARNAME(A13) 
           SYSNAME(SC70) 
           SYSPARM(R3,70) 
           SYMDEF(&IFAPRDXX='4A') 
           SYMDEF(&DFHSMHST='6') 
           SYMDEF(&DFHSMPRI='NO') 
           SYMDEF(&DB2='V8') 

In the example, the variable &SYSNAME will have the value specified by the SYSNAME keyword; SC70 in this case. Because each system in a sysplex has a unique name, you can use &SYSNAME in the specification of system-unique resources, where permitted. As an example, you could specify the name of an SMF data set as SYS1.&SYSNAME..MAN1, with substitution resulting in the name SYS1.SC70.MAN1 when running on SC70.

You can use variables to construct the values of other variables. In Figure 2, &SYSCLONE takes on the value of &SYSNAME beginning at position 3 for a length of 2. Here, &SYSCLONE will have a value of 70. Similarly, &SYSR2 is constructed from the first 5 positions of &SYSR1 with a suffix of 2. Where is &SYSR1 defined? &SYSR1 is system-defined with the VOLSER of the IPL volume. If you refer back to Figure 1, you will see the values of &SYSR1 and &SYSR2.

Figure 2 also shows the definition of a global variable defined to all systems--&IFAPRDXX with a value of 00--and its redefinition for SC70 to a value of 4A.

System symbols are used in cases where multiple z/OS systems share a single PARMLIB. The use of symbols allows individual members to be used with symbolic substitution, as opposed to having each system require a unique member. The LOADxx member specifies the IEASYMxx member that the system is to use.





Copyright IBM Corporation 1990, 2010