Running Multiple CICS or DC/UCF Systems
Many configuration options are available when CA IDMS is integrated with CICS as follows:
- A single front-end CICS region can access multiple CA IDMS
- One CA IDMS system can be accessed by multiple CICS regions.
CICS System Name
An important consideration for successful two-phase commit operations between CICS and CA IDMS is that every CICS system have a consistent name that is unique across all CICS systems accessing a central version.
The name of the CICS system is established as follows:
- The value in the CICS_NAME parameter specified in the SYSIDMS file included in the CICS startup JCL.
- If the CICS_NAME parameter is not specified, the value of the TPNAME parameter associated with the first IDMSINTC interface started within a CICS system.
If the CICS name is allowed to default to the TPNAME of the first CICS interface, all other IDMSINTC interface modules started within the CICS system must have the same TPNAME value or they will fail with a K213 abend code.
When restarting a CICS system, its name must remain unchanged if it is involved in incomplete distributed transactions still active on a central version. If the name is changed while such incomplete transactions exist, it may be necessary to complete those transactions manually.
The description of the SYSIDMS parameter for specifying a CICS system name is as follows:
- cics-nameSpecifies a 1-4 character value that identifies the CICS system being started. It should be unique across all CICS systems that may access the same central version.
Accessing Multiple CA IDMS Systems from a CICS Region
You can use the IDMSINTC interface program to access multiple CA IDMS back-end systems in the following ways:
- Traditional MethodThis method uses a separate CICSOPT macro for each back-end. Each CICSOPT macro specifies a different CWADISP and a unique SYSCTL value or a unique SVC/CVNUM combination. Each object module is linked with the IDMSINTC load module (created during installation) as described in IDMSINTC to create a uniquely named load module. Each interface program is invoked separately, creating multiple active interfaces. Each application program or UCFCICS interface program is linked with an IDMSCINT module as described in IDMSCINT. The CWADISP specified in the linked IDMSCINT module determines which IDMSINTC interface is used, and therefore, the CA IDMS back-end is accessed.It is recommended that the same TPNAME value be specified ordefaulted for all IDMSINTC interfaces used in a single CICS region. If different TPNAME values are used in two IDMSINTC interfaces in the same region, then the CICS startup JCL must contain a SYSIDMS parameter that specifies aCICS_NAMEvalue.
- Alternative MethodThe method uses a single IDMSINTC interface in conjunction with the OPTIXIT or OPTIQXIT to access up to ten CA IDMS back-end systems. All application programs are linked with an IDMSCINT module that specifies the same CWADISP as the single IDMSINTC interface. The client-coded OPTIXIT or OPTIQXIT can use a variety of strategies to select the appropriate back-end. These selection strategies include the following:
For more information on these exits, see OPTIXIT and OPTIQXIT.
- Round-robin -- Selection is random. This is appropriate for a distributed processing application where multiple back-ends access the same data.
- Database name -- Selection is based upon the database name specified in the BIND RUN UNIT
- Application or CICS transaction -- Selection is based on the application program name or CICS transaction.
Accessing One CA IDMS System from Multiple CICS Regions
When multiple CICS regions access one CA IDMS back-end system, the TPNAME value must be unique for each front-end. Traditionally, this meant a different IDMSINTC load module was needed for each region. Now, the TPNAME parameter can be omitted or specified as null on the CICSOPT macro invocation. In this case, the TPNAME is automatically set to the CICS SYSIDENT value of the CICS region in which the interface program is executed. If the CICS systems programmer assures that the SYSIDENT value is unique for each CICS system, one IDMSINTC interface module can be used to access a given CA IDMS back-end from multiple CICS regions.