Step 2. Determine where to use system symbols in parmlib

System symbols offer the greatest advantage when two or more systems require different data sets, jobs, procedures, or entire parmlib members. This topic provides examples of how to specify system symbols when naming certain resources in parmlib.

Data sets: A good example of using system symbols in data set names is the DSNAME parameter in the SMFPRMxx parmlib member, which specifies data sets to be used for SMF recording. Assume that each system in your sysplex requires one unique data set for SMF recording. If all systems in the sysplex use the same SMFPRMxx parmlib member, you can specify the following naming pattern to create different SMF recording data sets on each system:
SY&SYSCLONE..SMF.DATA
When you IPL each system in the sysplex, the &SYSCLONE system symbol resolves to the substitution text that is defined on the current system. For example, if a sysplex consists of two systems named SYS1 and SYS2, accepting the default value for &SYSCLONE will produce the following data sets:
SYS1.SMF.DATA on system SYS1
SYS2.SMF.DATA on system SYS2

Note that the use of &SYSCLONE provides unique data set names while establishing a consistent naming convention for SMF recording data sets.

Parmlib members: You can apply the same logic to system images that require different parmlib members. For example, assume that system images SYS1 and SYS2 require different CLOCKxx parmlib members. If both systems share the same IEASYSxx parmlib member, you can specify &SYSCLONE in the value on the CLOCK parameter:
CLOCK=&SYSCLONE;
When each system in the sysplex initializes with the same IEASYSxx member, &SYSCLONE resolves to the substitution text that is defined on each system. Accepting the default value for &SYSCLONE produces the following:
CLOCK=S1    (Specifies CLOCKS1 on system SYS1)
CLOCK=S2    (Specifies CLOCKS2 on system SYS2)

Started Task JCL: If JCL is for a started task, you can specify system symbols in the source JCL or in the START command for the task. You cannot specify system symbols in JCL for batch jobs, so you might want to change those jobs to run as started tasks.

If a started task is to have multiple instances, determine if you want the started task to have a different name for each instance. Started tasks that can be restarted at later times are good candidates. The different names allow you to easily identify and restart only those instances that require a restart. For example, you might assign different names to instances of CICS® because those instances might be restarted at later points in time. However, instances of VTAM®, which are generally not restarted, might have the same name on different systems.

When you start a task in the COMMNDxx parmlib member, you can specify system symbols as part of the job name. Assume that system images SYS1 and SYS2 both need to start customer information control system (CICS). If both system images share the same COMMNDxx parmlib member, you can specify the &SYSNAME system symbol on a START command in COMMNDxx to start unique instances of CICS:
S CICS,JOBNAME=CICS&SYSNAME;,...
When each system in the sysplex initializes with the same COMMNDxx member, &SYSNAME resolves to the substitution text that is defined on each system. If &SYSNAME is defined to SYS1 and SYS2 on the respective systems, the systems will start CICS with the following jobnames:
CICSSYS1 on system SYS1
CICSSYS2 on system SYS2

Note that the resolved substitution text for &SYSNAME is eight characters long, which is the maximum length for jobnames.