The CMAS, the primary CICSPlex region, is pretty much the same as any other CICS region with a few exceptions. In this posting, we’ll review the special parameters and data sets necessary for the CMAS CICS to perform CICSPlex functions.
Instead of executing DFHSIP, program EYU9XECS needs to be executed. Also, the SEYUAUTH must be specified in the STEPLIB concatenation, and SEYULOAD must be specified in the DFHRPL concatenation, below the SDFHAUTH and SDFHLOAD libraries. SEYUATH and SEYULOAD were generated in the CICS installation, but have not been used up until now.
SIT and Overrides
In the SYSIN, the supplied 6$ SIT table can be specified, along with overrides. I won’t go into all overrides that would be necessary for a “regular” CICS, but will focus on those of interest in defining the CMAS. SYSIN parameter CPSMCONN must be set to CMAS, to define this CICS as the CMAS. Specify the 4-character SYSIDNT, which must be matched in a parameter we’ll see later specified when we define the CMAS repository data set. Set MXT, max tasks, to at least 300. It is recommended to set the runaway task interval value, ICVR, to 20000, as some CMAS tasks are long-running.
A special set of CICSPlex parms must be specified through a DDNAME of EYUPARM. In this sequential dataset, specify the name of this CMAS. Also specify whether to use security. You will probably want to set it to NO initially.
CMAS CICSPlex parm data set in start-up JCL:
//EYUPARM DD DISP=SHR, // DSN=YOUR.CMAS.PARMS(your-cpsm-parm-member)
Contents of your-cpsm-parm-member:
000001 NAME(your-cmas) CMAS Name (Default is APPLID) 000002 SEC(NO) Turn security on
CMAS Data Repository Data Set
Specify your CMAS data repository data set in the start-up JCL:
//EYUDREP DD DISP=SHR,DSN=YOUR.CMAS.EYUDREP
And define and initialize the repository by running a job such as this:
//DELDREP EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * DELETE YOUR.CMAS.EYUDREP SET MAXCC=0 /* //DEFDREP EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * DEFINE CLUSTER(NAME(YOUR.CMAS.EYUDREP)- INDEXED - CYL(5 1) - SHR(2)- CISZ(8192) - SPANNED - VOLUME(your-volume)) - DATA(NAME(YOUR.CMAS.EYUDREP.DATA)- RECORDSIZE(200 6550) - KEYS(64 0)) - INDEX(NAME(YOUR.CMAS.EYUDREP.INDEX)) /* //INITDREP EXEC PGM=EYU9XDUT, // COND=(8,LT),PARM=('CMASNAME=your-cmas,DAYLIGHT=Y,', // 'TIMEZONE=T,SYSID=cmas-sysidnt,ZONEOFFSET=0') //EYUXDPRM DD * WUI=YES WUIPLEX=plex-name WUINAME=wui-name WUIAPPLID=wui-applid WUISYSID=wui-sysidnt /* //STEPLIB DD DSN=YOUR.SEYUAUTH,DISP=SHR //EYUDREP DD DSN=YOUR.CMAS.EYUDREP,DISP=SHR //SYSPRINT DD SYSOUT=*
Here’s where some parameters have to be set to match those set elsewhere. Be sure to set the SYSID PARM to the CMAS SYSIDNT set in the SIT overrides in the SYSIN data set. The WUI parameters set in the EYUXDPRM data set must match values defined in the CICS acting as the WUI. Other references I have found demonstrate defining a new region as the WUI, but I will be adding WUI functionality to an existing CICS region in my example. So be sure these WUI values are set to those already defined in the CICS that is to act as this CMAS’ WUI.
Plex-name is a 1-8 character name for the CICSPlex. Note whatever you put here, as you will need to match it in other parameters we will be setting later when we set up a WUI and connect existing CICS regions to the CICSPlex.
DAYLIGHT specifies whether you currently recognize daylight savings time. TIMEZONE is a code for the timezone for this CICSPlex; it is set to “T” for central time in the example above. ZONEOFFSET, as the parameter name implies, is the offset (adjusment) for the time zone (usually 0).
Reference the CICSPlex SM Administrator Guide for more details regarding the DAYLIGHT, TIMEZONE, and ZONEOFFSET parameters, as well as more information about just about anything else mentioned in this posting. This posting is not intended to be an exhaustive, detailed explanation regarding everything to do with CICSPlex; it is just my attempt to review the highlights and point out some of the things that have to match up in order for it to work. That is where I had my most difficulty in getting CICSPlex set up in my environment.
Here is a checklist I made when I set up the CMAS in my environment:
- Define datasets for jobs and parms.
- Create and run jobs to create standard CICS datasets (temp storage, etc.), log stream for dynamic transaction backout, and the CMAS data repository.
- Create parm members for CICSPlex parameters and standard CICS parameters.
- Create an RDO group for the journal model definitions.
- Create an RDO list which contains the journal model group and console TCT definitions.
- Create a proc for the CMAS in a JES proclib.
- Define RACF definitions required for the CMAS proc.
- Define new VTAM APPL.
- Create and run job to define CICSPlex RACF profiles. (We’ll look at some of this later, as you will need to secure the CICSPlex, but the CMAS can run just fine initially with no security.)
- Start the CMAS proc.
Next time we’ll look at setting up the WUI. As I mentioned, I will be showing how to add WUI functionality to an existing CICS.
Follow theCICSguy on twitter here