Suppose you want to start a task whose source JCL is in the DUMPCHK
member of a partitioned data set. You can specify
system symbols for the
task in one of the following two ways:
- On the START command:
- Suppose you enter the following command to start the DUMPCHK
task:
START DUMPCHK,SG=ALL,JDATE=93119,DAY=THURSDAY,SUB=CICS&SYSNAME
If
the substitution text for the &SYSNAME
system symbol is SYS1 on the system
that processes the START command, the system substitutes the text
SYS1 for the &SYSNAME
system symbol. The equivalent
source JCL is:
//DUMPCHK JOB MSGLEVEL=1
//STARTING EXEC DUMPCHK,SG=ALL,JDATE=93119,DAY=THURSDAY,SUB=CICSSYS1
- In the source JCL:
- You can also specify system symbols in the source JCL for started tasks.
Keep in mind that system symbols in the source JCL are resolved during JCL
processing, rather than command processing.
For example, suppose
you code the following JCL in the DUMPCHK procedure:
//DUMPCHK PROC
//S1 EXEC PGM=DUMPPROG,PARM=CICS&SYSNAME
As
in the previous example for the START command, if the substitution
text for the &SYSNAME
system symbol is SYS1 on the system that processes
the JCL, the system substitutes the text
SYS1 for
the &SYSNAME
system symbol. The equivalent JCL is:
//DUMPCHK PROC
//S1 EXEC PGM=DUMPPROG,PARM=CICSSYS1
The
DUMPCHK procedure can also include system symbols on other statements. For
example, you might specify system symbols in DD statements that must specify
data sets with unique names on different systems.
Suppose that
two systems, named SYS1 and SYS2, are to process a DUMPCHK procedure
that contains the following statement:
//LOG DD DSN=&SYSNAME..LOG,DISP=......
When
each system processes the statement, the following data set names
result:
SYS1.LOG on system SYS1
SYS2.LOG on system SYS2
You can include a substring of
a
system symbol on a JCL statement. For example, you might specify
system symbols in
DD statements that must specify data sets with unique names on different
systems, but only have two characters to use. Suppose that two systems,
named SYS1 and SYS2, are to process a procedure that contains the
following statement:
//DD1 DD DSN=SYS1.PARMLIB.SYSTEM&SYSNAME(-2:2).,DISP=....
When
each system processes the statement, the following data set names
result:
SYS1.PARMLIB.SYSTEMS1 on system SYS1
SYS1.PARMLIB.SYSTEMS2 on system SYS2