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.