Implementing UCF/CICS can be done into an IDMS/DC system; it requires several steps and various options.
Environment
Release: All supported releases.
Resolution
This document is an attempt to provide a simple 1-2-3 guide for implementing a connection between CICS and UCF. There are a few options and covering all of them in any single place might be exhaustive. The following list addresses all the major points:
First ensure that the UCF and CICS products are installed. Do this by checking the SMP/E catalog. FMIDs will begin with the letter "C", followed by a two-digit code that corresponds to the product; this two-digit code comes from the 2nd and 3rd letters of the FMID. The two-digit code for CICS is FI; the two-digit code for UCF is GP.
If they were not installed, do an add-on install for them.
There are several things which must be specified in the IDMS sysgen to support a UCF connection. They are:
One LINE statement that specifies TYPE IS UCFLINE.
One PTERM statement for each UCF front-end physical terminal. The number of PTERM statements with TYPE IS UCFTERM equals the maximum number of UCF front-end terminals that can access the UCF back-end at one time.
One LTERM statement for each physical terminal.
One TASK statement for each intermittent task. The task code specified must match the task code specified in the host TP-monitor system definition. The dedicated task does not require a TASK statement.
One PROGRAM statement for each program associated with each task intermittent task.
Two TASK statements to define the BYE and SUSPEND system tasks.
Create a UCF back-end module. The UCF back-end exists in the DC/UCF runtime region/partition. UCF uses a system table to control access to the back-end system by front-end programs and terminals. The system table contains the following information:
The maximum number of front-end systems that can access the back-end concurrently
The initial status of each front-end system (that is, online or offline)
A system table named RHDCFSTB is installed with UCF. This table permits access to the UCF back-end by any UCF front-end system that has been defined with a system identifier of: BATCH, CICS, z/VM, IMS, DC, or TSO. By ensuring that only front-end system identifiers from the above list are used, a new UCF system table need not be assembled. A system identifier need not reflect the actual TP monitor; for example, a CICS front-end could be defined with a front-end system identifier of CICS. The UCF system table is created by assembling two macros: #FESTDEF and #FESTENT. The resulting object module must be linked as a separate load module. Each macro is discussed separately in detail in the System Operations Manual, followed by a sample system table definition and the JCL used to link edit the system table. The UCF system table is loaded at startup. The "DCMT Vary UCF Front-end System Table New Copy" command can be used to load an altered table without cycling the DC/UCF region or partition.
Create a UCF front-end. The UCF front-end system executes in the host TP-monitor region/partition and communicates with terminals through host TP-monitor I/O facilities. The front-end communicates with the back-end system through the external request-unit service (ERUS) facility. Where this gets a bit more complicated is that UCF front-end systems can execute in dedicated or intermittent mode. Users must decide which mode to run in (or whether to support both) as part of setting this up. The basic difference is that:
In dedicated mode, a CICS user enters a task code to take them to IDMS. They then remain in IDMS exactly as if they were logged in to an IDMS/DC session until they enter SUSPEND or BYE, which takes them back to CICS.
In Intermittent mode, all of the IDMS tasks that users will need to be able to execute have to be defined to CICS. The user then executes those tasks directly, so they may not even know that the task are being handled by IDMS. After each task is completed, control is returned to CICS
To create the CICS front-end module, assemble a #UCFCICS macro and link edit the resulting object module with RHDCUCFC, IDMSCINT, and the UCFCICS front-end table. The parms to specify in the #UCFCICS macro are discussed in detail in the System Operations manual.