Control Programs and Tables


CICS core, also known as CICS Nucleus, is built with IBM-supplied control programs and user-defined control tables. Simply writing an application program does not automatically make it available to the CICS system. The application developer must take several steps to ensure the application program can be executed in the CICS region.

The initial step in this process involves making entries in the control tables. The CICS core consists of IBM-supplied CICS control programs and the corresponding control tables. These control programs operate in the background to manage various tasks within the system. Each control program is linked to its respective control table, which contains resource entries necessary for execution.

For example, when a transaction is initiated, the related program name is retrieved from the Program Control Table (PCT) and executed to fulfill the request.

Whenever new programs, transactions, or resources are introduced to CICS, their entries must be updated in the control tables to ensure they are accessible within the CICS region.

Control Tables -


Control tables are structured data storage entities within CICS that contain resource definitions and configuration information. These tables define the behavior of CICS resources like transactions, programs, files, terminals, and more.

  • Control tables are queried and updated by control programs during the execution of tasks.
  • New resources (e.g., programs, terminals, files) must be added to the relevant control tables to make them available for use in the CICS region.

1. Program Control Table (PCT) -


Program Control Table (PCT) contains entries that map transaction identifiers (TRANSIDs) to their corresponding application programs. When a transaction is initiated, CICS refers to the PCT to determine which program to execute. CICS will not recognize a transaction unless it is registered in the PCT. Therefore, every CICS transaction must have an entry in this table.

The PCT table includes mandatory entries for TRANID (a unique transaction identifier with 1-4 characters), and PROGRAM (the name of the program).

2. Processing Program Table (PPT) -


All CICS programs, including those that do not have a corresponding transaction, as well as MAPS, must be registered in the Processing Program Table (PPT). The Program Control Program (PCP) references the PPT for processing. CICS will not recognize any program that is not registered in the PPT.

The PPT table requires mandatory entries for PROGRAM (Program name) and MAPSET (Mapset name).

3. File Control Table (FCT) -


All VSAM files used in CICS programs must be registered in the File Control Table (FCT). The File Control Program (FCP) refers to the FCT for processing.

Both the PATH and the alternate index should be registered alongside the VSAM file entries. The FCT contains several entries: ACCMETH (data access method), DATASET (dataset name), FILE (file name), and SERVREQ (operations to be performed on the file) are mandatory entries.

4. Destination Control Table (DCT) -


Transient data queues (TDQ) should be defined in the destination control table (DCT) with a destination ID (1-4 char). The transient data program (TDP) refers to DCT and performs the input/output operations on the TDQs. The DCT table has TYPE (type of TDQ) and destination ID (DESTID) as mandatory entries and TRANSID and TRIGLEV as optional entries.

5. Temporary Storage Table (TST) -


If temporary storage queues need recovery during a system crash, they must be registered in the temporary storage table (TST). If recovery is not required, registration in the temporary storage table (TST) is not required.

6. Resource Control Table (RCT) -


All DB2 plans should be registered in the Resource control table (RCT). If a new plan created for DB2 commands used in the program, then the PLAN should also be registered in the RCT table.

7. Sign-on Table (SNT) -


All used IDs and passwords that require login access to the CICS region must be registered in the sign-on table (SNT).

8. Terminal Control Table (TCT) -


Terminal Control Table (TCT) contains definitions for each terminal connected to the CICS region, specifying attributes such as terminal identifiers, types, and associated properties. This enables CICS to manage terminal interactions effectively.

9. Program List Table (PLT) -


The programs that need to be automatically started during CICS start-up and shut-down should be registered in the program list table (PLT).

Control Programs -


Control programs are system-level programs in CICS responsible for interacting with control tables. They:

  • Interpret the data in control tables.
  • Manage tasks and resources.
  • Ensure that the correct resources are allocated and used for each transaction.

1. Program Control Program (PCP) -


The program control program (PCP) manages the interaction between CICS and application programs. The application program name must be registered in the processing program table (PCT). If the program is not registered, it won’t be recognized by CICS.

When program execution is requested by using the transaction ID, PCP searches the program and loads it for execution. PCP is responsible for transferring control between the program and CICS during execution.

2. File Control Program (FCP) -


The File Control Program (FCP) offers file manipulation services to application programs. These services include reading, updating, adding, and deleting records in files.

FCP allows application programs to operate independently of the underlying file structure. It also maintains exclusive control over the records to ensure data integrity during updates.

3. Terminal Control Program (TCP) -


Terminal Control Program (TCP) provides the communication services between application programs and terminals. TCP refers the information defined in Terminal Control Table (TCT). In general, unformatted screens are used for terminal control operations.

4. Terminal Control Program (TCP) -


The Terminal Control Program (TCP) enables an application program to store and retrieve data from Transient Data Queues. Each Transient Data Queue must be registered in the Destination Control Table (DCT) using a destination ID, which can be 1 to 4 characters long. A transient data queue can be registered as either an input or output queue, but it cannot be registered as both at the same time.

5. Temporary Storage Control Program (TSP) -


The Temporary Storage Control Program (TSP) controls temporary storage queues, which allow applications to temporarily store data during transaction processing.

6. Task Control Program (KCP) -


A Task Control Program (KCP) manages the initiation, scheduling, and termination of tasks within CICS, ensuring efficient multitasking and resource utilization. It coordinates the execution of multiple tasks, maintaining system stability and performance.