To enable JCL support from a CICS or IMS subsystem

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.

In the Enterprise Server (ES) configuration, you enable JCL support by setting the ES_SSTM_envr environment variable to a fully qualified path to the JCL used to initialize the SSTM environment, where envr is CICS or IMS, depending on the environment that you want to initialize.

From the Enterprise Server Administration Console, set ES_SSTM_envr to the fully qualified path of the JCL used to initialize the SSTM Environment; for example:
  • CICS environment:
    Windows: ES_SSTM_CICS=c:\es\sstm\jcl\sstmcics.jcl
    UNIX: ES_SSTM_CICS=c:/es/sstm/jcl/sstmcics.jcl
  • IMS environment:
    Windows: ES_SSTM_IMS=c:\es\sstm\jcl\sstmcics.jcl
    UNIX: ES_SSTM_IMS=c:/es/sstm/jcl/sstmcics.jcl

The default program attributes used for the SSTM are a mainframe dialect, AMODE(31) program with a character set derived from the value of the environment variable MF_CHARSET. If this variable is not set, then a value of ASCII is used. You can tailor the attributes to suit your requirements by creating a simple 'no-op' program and compiling it with the attributes you require. The program is not run, but the attributes are used, and are shown in the JESYSMSG output log for the job; for example:

JCLCM0199I Program MFJBR14 is COBOL VSC2 ASCII Big-Endian AMODE31

Example JCL

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).
    Important: You must serialize CICS access to each DDname that refers to the INTRDR writer. To achieve this, issue a CICS ENQ command for the DDname before opening the file, and a corresponding DEQ command after closing the file.
//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)