Subsystem Started Task Manager (SSTM)

Subsystem Started Task Manager (SSTM) provides JES functionality within a CICS region. The JES functionality is equivalent to that of a task started under z/OS and is required to support CICS spooling.

When SSTM is configured for a CICS region, a long-running job associated with the CICS region gets started in the partner JES region. The associated job number is reported in the CICS region's console during region start up. The job can be viewed in the partner JES region's spool view.

CICS spooling allows files to be spooled to the JES region or JCL to be submitted via its internal reader using the SPOOLOPEN, SPOOLWRITE and SPOOLCLOSE APIs. When a file is spooled, it gets associated with the long-running job in the partner JES region as a SYSOUT dataset and gets handled like any other SYSOUT dataset would be that is created during the execution of a job. When JCL is submitted via the internal reader, it gets scheduled for execution just like any other job would be that is submitted to the JES region.

SSTM requires a partner JES region to be configured with the name of a JCL file that is to be used during CICS region initialization to start the long-running job in the JES region. This JCL is expected to have a single job step, and although the program name in the PGM= statement must be syntactically correct, it does not need to exist. Any permanent datasets allocated by the JCL will have locks acquired for them according to their disposition (i.e. DISP=SHR datasets will have a shared lock, and DISP=OLD datasets will have an exclusive lock). Any DISP=OLD datasets will be unavailable to the CICS region, or any job submitted to the JES region that references them, until the CICS region is shut down.

The following JCL is used to initialise SSTM when Default SSTM JCL is selected as the SSTM JCL file in the CICS region's start up file:
//SSTM JOB 'SSTM Initialisation',CLASS=A,MSGCLASS=X
//*
//SSTMSTEP EXEC PGM=SSTMINIT
//SYSOUT   DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSPUNCH DD SYSOUT=*
//SYSIN    DD DUMMY
//
The following JCL provides an example of how SSTM could be initialised acquiring a shared lock for MYUSER.VSAM.TESTFILE:
//MYJOB JOB 'SSTM Initialisation',CLASS=A,MSGCLASS=A
//*
//STEP1 EXEC PGM=NOTEXIST
//A     DD DSN=MYUSER.VSAM.TESTFILE,DISP=SHR
//
To Configure a Partner JES Region with SSTM