CICS TablesCICS Introduction CICS program compilation Process
CICS is a general purpose online transaction processing (OLTP) system that provides an environment for running online transactions.
CICS supports Multi-threading concept (one or more concurrent tasks can be used single copy of the program).
In CICS environment, the tasks can be executed by using the transaction id.
What is Transaction?
Transaction is unique identifier which is used to execute or start particular task.
Transaction is a four characters entry and no duplicates will be allowed in transaction names.
Transaction will have one to one (or) many mapping to the programs which needs to be executed when the transaction triggered.
Same transaction can be triggered concurrently from different systems but not from the same system.
How the transactions linked with programs:
Transactions will pick up the program name need to be executed when the transaction triggered from the CICS Control tables.
Each CICS Control table has its corresponding control program which executes at backend.
Whenever new programs or transactions introduced the entries in Controls tables are mandatory to execute it in CICS region.
Some important tables are below:
Program Control Table: (PCT)
The transactions and the main program associates with the transaction should be registered in program table.
Task control program (KCP) is the program which refers PCT.
If the transaction is not registered here, the transaction will not be recognized by CICS
The control information of 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 entries and DTIMOUT (transaction timeout time), RTIMOUT (Timeout limit for the user), TRANSEC (Transaction security) as an optional entries.
Processing Program Table: (PPT)
All the CICS programs (including the programs which didn’t have the Transaction corresponding to it) and MAPS have to register in the processing program table.
Program control program (PCP) is the program which refers PPT.
If the program is not registered here, the program will not be recognized by CICS.
The PPT table have PROGRAM (Program name), MAPSET (Mapset name) as a mandatory entries and PGMLANG (program language) as a optional entry.
File Control Table: (FCT)
All the VSAM files used in the CICS programs has to be registered in file control table.
File control program (FCP) is the program refers FCT.
Along with the VSAM file entries PATH between base cluster and alternate index should be registered.
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 entries 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 predefined in destination control table.
Transient data program (TDP) is the program refers DCT and performs the input/output operations on the TDQ’s.
The DCT table has TYPE (type of TDQ), DESTID are as mandatory entries and TRANSID, TRIGLEV as optional entries.
Temporary Storage Table: (TST)
If temporary storage queues needs to be recovered during system crash, then they should be registered in temporary storage table.
Resource Control Table: (RCT)
All DB2 plans should be registered in the RCT table.
If any DB2 commands are used in the program and the new plan created for the same, then the PLAN should be registered in RCT table.
Sign on Table: (SNT)
All Used id’s & password which requires login access to CICS region should be registered in sign-on-table.
Terminal Control Table: (TCT)
All the terminals should be registered in terminal control table which is 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 listed in program list table.
If any questions on the above, post your queries on CICS Discussion forum
CICS Introduction CICS program compilation Process