CICS group and alias function

The CICS group and alias function enables you to do the following:

  • Specify an alias for a single CICS region, allowing you to route CICS BAC batch request commands to a different named region from that specified on the CICS(applid) parameter. You might want to do this, for example, where a region name has been changed and you don't want to change CBKIN commands.
  • Specify one name only and have the relevant CICS BAC commands routed to more than one CICS region in a group.
These two facilities operate through the CICS parameter in the following way. In its basic and simplest form, the CICS(applid) specifies the VTAM applid of a target CICS region. However, you can also use the parameter to reference a PDS member of a data set that contains one or more target CICS region VTAM applids. Whether CICS BAC uses the CICS parameter value as a real region applid, or as the member of a data set, depends on the presence or absence in a data set of a PDS member name that matches the name of the specified CICS applid:
  • If a member is found, all the applids in that member become target CICS regions for the appropriate CICS BAC command.
  • If CICS BAC cannot find a matching member name, the parameter value itself is taken as the target CICS region applid.
  • If you don't include a data set in the batch request JCL, or you don't specify the CICSGROUPDSN parameter, the parameter value itself is taken as the target CICS region applid.
You specify a data set in one of two ways:
  • You can specify the PDS on the CBKGROUP DD statement in the batch request utility job step JCL. If CICS BAC detects a DD statement, it uses the data set associated with that DD statement.
  • You can specify a batch request utility runtime parameter called CICSGROUPDSN to provide the group data set name. If you omit the CBKGROUP DD statement from the JCL, CICS BAC looks for the CICSGROUPDSN parameter using the same search method as for other batch request utility runtime parameters. The format of the CICSGROUPDSN parameter is as follows:
    CICSGROUPDSN(datasetname)

A CICS group data set is a PDS defined with the following attributes:

You can define in a CICS group member one or more CICS applids, with only one applid in each record. Begin each applid in column one, and pad the names on the right with spaces if they are less than eight bytes. Anything you enter in columns 9 to 72 is ignored. A record containing only spaces, or with an asterisk in column one, is treated as a comment card and is ignored.

You can use a PDS member with only one applid defined to provide an alias for a single CICS region, or to redirect a command from one CICS region to another. For example, if you have hundreds of batch request utility job steps that contain the applid CICSA, and new naming standards have forced you to change the applid from CICSA to CICS1, you make the change by simply by adding a CICS group member named CICSA. In that member, you specify the new CICS applid of CICS1. Thus, whenever a batch request utility job step targets CICSA, CICS BAC locates member CICSA and redirects commands to region CICS1.

CICS BAC performs only one level of name resolution. That is, if a CICS group member exists, the applids in the member are the final targets. No check is performed on the applids in the member to see if they in turn point to another CICS group member.

When a batch request utility command specifies a CICS group member as its target, the utility issues the command in sequence to each of the CICS applids in the group as if you had specified separate identical commands for each region.

Following are some examples of commands issued based on the use of the CICS group member function. In these examples, the CICS group data set member named CICS1 contains applid records for CICSA, CICSB, and CICSC, in that order:

Example 1: These actual commands from CBKIN:
SET FILE(FILE1),OPENSTATUS(CLOSE),CICS(CICS1) 
SET FILE(FILE2),OPENSTATUS(CLOSE),CICS(CICS1)
result in the following commands being issued:
SET FILE(FILE1),OPENSTATUS(CLOSE),CICS(CICSA)
SET FILE(FILE1),OPENSTATUS(CLOSE),CICS(CICSB)
SET FILE(FILE1),OPENSTATUS(CLOSE),CICS(CICSC)
SET FILE(FILE2),OPENSTATUS(CLOSE),CICS(CICSA)
SET FILE(FILE2),OPENSTATUS(CLOSE),CICS(CICSB)
SET FILE(FILE2),OPENSTATUS(CLOSE),CICS(CICSC)

The same six generated commands shown in the above example are also generated if the your batch request utility job step contains the following actual commands:

DEFAULT CICS(CICS1)
SET FILE(FILE1),OPENSTATUS(CLOSE)
SET FILE(FILE2),OPENSTATUS(CLOSE)
Example 2`: These actual commands from CBKIN:
DEFAULT CICS(CICS1)
SET FILE(FILE1),OPENSTATUS(CLOSE)
SET FILE(FILE2),OPENSTATUS(CLOSE),CICS(CICSTEST)
SET FILE(FILE3),OPENSTATUS(CLOSE)
result in the following commands being issued:
SET FILE(FILE1),OPENSTATUS(CLOSE),CICS(CICSA)
SET FILE(FILE1),OPENSTATUS(CLOSE),CICS(CICSB)
SET FILE(FILE1),OPENSTATUS(CLOSE),CICS(CICSC)
SET FILE(FILE2),OPENSTATUS(CLOSE),CICS(CICSTEST)
SET FILE(FILE1),OPENSTATUS(CLOSE),CICS(CICSA)
SET FILE(FILE2),OPENSTATUS(CLOSE),CICS(CICSB)
SET FILE(FILE3),OPENSTATUS(CLOSE),CICS(CICSC)
In this example, CICSTEST is a real applid that does not have a CICS group data set member of this name and is routed normally.