Steps to implement a UCF/CICS interface

Document ID : KB000019023
Last Modified Date : 14/02/2018
Show Technical Document Details


Implementing UCF/CICS can be done into an IDMS/DC system; it requires several steps & various options.


This document is an attempt to provide a simple 1-2-3 guide for implementing a connection between CICS & UCF. There are a few options and covering allof them in any single place might be exhaustive. The following list addresses all the major points:

  1. First you need to ensure that the UCF & CICS products are installed at your site. You can do this by checking your SMP/E catalog. FMIDs will begin with the letter "C", followed by a 2-digit code that corresponds to the product; this 2-digit code comes from the 2nd and 3rd letters of the FMID. The 2-digit code for CICS is FI; the 2-digit code for UCF is GP.
  2. If they were not installed, you will need to do an add-on install for them. Instructions for that are included in technical document TEC480035, available on our online Support Site.
  3. There are several things which must be specified in the IDMS sysgen to support a UCF connection. They are:

    1. One LINE statement that specifies TYPE IS UCFLINE.
    2. 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.
    3. One LTERM statement for each physical terminal.
    4. 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.
    5. One PROGRAM statement for each program associated with each task intermittent task.
    6. Two TASK statements to define the BYE and SUSPEND system tasks.

  4. You must 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:

    1. The maximum number of front-end systems that can access the back-end concurrently
    2. 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. If you ensure 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.

  5. You must 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. You must decide which mode you want to run in (or whether you want to support both) as part of setting this up. The basic difference is that:

    1. 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.
    2. In Intermittent mode, you would have to define to CICS all of the IDMS tasks that you want users to execute. 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, you will need to 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.