In the Enterprise Server (ES) configuration, you enable JCL support by setting the
ES_SSTM_ssss environment variable to a fully qualified path to the JCL used to initialize the SSTM Environment. In the environment variable,
ssss is
CICS or
IMS depending on the environment that you want to initialise.
Note: The specified JCL job stream must contain only one step. A multiple step job is treated as an error and will fail SSTM initialization.
Note: Setting the SSTM is required for the CICS spooling facility. That is, if you want to use the CICS SPOOLOPEN OUTPUT, SPOOLWRITE, SPOOLCLOSE commands, etc.
Example settings
The following is an example JCL code for CICS. In the code:
- The job name
SSTMJCL is not significant - any valid job statement may be used.
- The step name CICS is not significant - any valid step name may be used.
- The program name in the
PGM=
entry must be syntactically correct, but it does not need to exist.
- The DDname
SHAREDD1 is shared across CICS SEPs because it refers to a permanent dataset.
- The other DDnames in the example refer to datasets allocated by JES during SEP initialisation, and are therefore not shared, but are local to each SEP. The dataset referred to by the DDname
LOCALDD1 is temporary, and will not be retained when CICS is shut down, but it could be used by any program during the life of the CICS region.
- When executing PL/I programs under CICS the output from PUT statements directed to the SYSPRINT file (either implicitly or explicitly) will not appear in the SSTM job, but will instead be routed to the internal TDQ named CPLI.
- The DDname
JOBSUB is directed to the JES internal reader. This DD statement could be used to submit jobs to JES using direct I/O from a COBOL or PL/I program, instead of using the TDQ or SPOOL facilities provided with CICS. There is no significance to the DDname
JOBSUB - any valid DDname can be used to submit jobs, provided it is directed to
SYSOUT=(*,INTRDR).
//SSTMJCL JOB 'CICS JOB',MSGCLASS=A
//CICS EXEC PGM=NOTUSED
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SHAREDD1 DD DSN=SHARED.ACROSS.SEPS1,DISP=(MOD,CATLG)
//LOCALDD1 DD DSN=&&SEPLOCAL,DISP=NEW
//JOBSUB DD SYSOUT=(*,INTRDR)