Implementing CICSPlex Part 2 – Defining the CMAS

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.

Start-Up JCL

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.

CICSPlex Parms

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.

Summary

Here is a checklist I made when I set up the CMAS in my environment:

  1. Define datasets for jobs and parms.
  2. Create and run jobs to create standard CICS datasets (temp storage, etc.), log stream for dynamic transaction backout, and the CMAS data repository.
  3. Create parm members for CICSPlex parameters and standard CICS parameters.
  4. Create an RDO group for the journal model definitions.
  5. Create an RDO list which contains the journal model group and console TCT definitions.
  6. Create a proc for the CMAS in a JES proclib.
  7. Define RACF definitions required for the CMAS proc.
  8. Define new VTAM APPL.
  9. 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.)
  10. 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

Advertisements

One response to “Implementing CICSPlex Part 2 – Defining the CMAS

  1. This is a great article! Helped me setup my CMAS.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s