CICS core (CICS Nucleus) is constructed with the IBM supplied control programs and corresponding user specified control tables. Writing an application program itself doesn't automatically create effect on CICS system.

The application developer has to do many things to make the application program available to CICS region for execution. The first step among the whole process is, making the entries in control tables.

The core portion of CICS (CICS Nucleus) consists of IBM-supplied CICS control programs and the corresponding user specified CICS control tables. Control programs are executed at backend to control the various tasks.

Each control program has connected with the corresponding control table. Each CICS Control table has its corresponding control program which executes at the backend.

Control tables will have the resource entries for execution to complete the requested task in CICS region. For example if the transaction is triggered, the corresponding program name pickup from Program Control Table (PCT) and execute the program to complete the task.

Whenever new programs or transactions or any resources introduces to CICS, those entries should be updated in Controls tables to make them available to CICS region.

Control Programs -

Below are the control programs in CICS -

Program control program (PCP) -

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

When the program execution is requested, PCP searches the program and load the program for execution if the entry is made in PCT. PCP responsible for transferring the control to the program and CICS during the execution.

File Control Program (FCP) -

File Control Program (FCP) provides file manipulation services to the application programs. The file manipulation services include read, update, add and delete the records in file.

FCP makes application programs independent of the file structure. FCP manages the exclusive control over the records to maintain the data integrity during record updates.

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 used for the terminal control operations. The data stream communication is the application program responsibility.

Transient Data Control Program (TDP) -

Transient Data Control Program (TDP) allows application program with an ability to store and retrieve the data from Transient Data Queues.

All the Transient Data Queues must be registered in Destination Control Table (DCT) by using 1-4-character identifier called destination id.

The transient data queue can be registered as either an input queue or an output queue, but not both.

Temporary Storage Control Program (TSP) -

Temporary Storage Control Program (TSP) provides application program with an ability to store and retrieve the data from Temporary Storage Queues.

Task Control Program (KCP) -

Task Control Program (KCP) used to control the execution of tasks simultaneously and its related properties. KCP handles all multi-tasking related issues.

Control Tables -

Below are the important control tables in CICS -

Program Control Table (PCT) -

The transactions and the main program associates with the transaction should be registered in Program Control Table. Task control program (KCP) refers Program Control Table (PCT) for processing.

The transaction will not be recognized by CICS if the transaction is not registered in PCT. All CICS transactions must have an entry in Program Control Table.

The PCT table have TRANID (unique transaction 1-4 char identifier), TASKREQ (key associated with the transaction initiation), PROGRAM (program name) as a mandatory entry and DTIMOUT (transaction timeout time), RTIMOUT (Timeout limit for the user), TRANSEC (Transaction security) as an optional entry.

Processing Program Table (PPT) -

All the CICS programs (including the programs didn’t have the transaction corresponding to it) and MAPS have to register in the processing program table (PPT).

Program control program (PCP) refers processing program table (PPT) for processing. The program will not be recognized by CICS if the program is not registered in PPT.

The PPT table have PROGRAM (Program name), MAPSET (Mapset name) as a mandatory entry and PGMLANG (program language) as an optional entry.

File Control Table (FCT) -

All the VSAM files used in the CICS programs has to be registered in file control table (FCT). File control program (FCP) refers file control table (FCT) for processing.

PATH and alternate index should be registered along with the VSAM file entries. The FCT table has ACCMETH (data access method), DATASET (Dataset name), FILE (File name), SERVREQ (Operations need to be performed on file) as a mandatory entry and FILESTAT ( file initial status), BUFND (number of data buffers), BUFNI (number of index buffers), DSNAME, DISP (Disposition of file) and BASE (Path entry if exists) are as optional entries.

Destination Control Table (DCT) -

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

Temporary Storage Table (TST) -

If temporary storage queues need to be recovered during system crash, then they should be registered in temporary storage table (TST). If not required to recover, then no registration applicable in temporary storage table (TST).

Resource Control Table (RCT) -

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

Sign on Table (SNT) -

All Used id’s and passwords (requires login access to CICS region) should be registered in sign-on-table (SNT).

Terminal Control Table (TCT) -

All the terminals should be registered in terminal control table (TCT) used to initiate the transactions.

Program List Table (PLT) -

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