What is Transaction?
Transaction is unique identifier used start execution of a particular task. Transaction is a 4-characters entry and no duplicates will be allowed in transaction names.
Transaction will have one to one or one to many mappings with the programs that needs to be executed when the transaction triggered. Same transaction can be triggered concurrently from different terminals but not from the same terminal.
Transaction Life Cycle -
When a user application requests a transaction in CICS, the request is passed to a CICS region to be processed. Below steps shows the transaction life cycle in CICS region -
- Transaction id and data entered in the terminal.
- TCP with TCT recognizes incoming data from the terminal.
- SCP acquires the storage for the terminal input output area (TIOA).
- TCP places the data from the terminal into TIOA and sets the pointer into the terminal TCT entry.
- If there is no task associated with the terminal, TCP passes the control to the KCP that realizes the transaction id in the TIOA.
- SCP acquires the storage area for the task control area (TCA) which has the control data for the task.
- KCP tries to find the application program associated with the transaction through PCT.
- If the PPT application program entry doesn’t show resident address of the program, KCP passes the control to PCP.
- PCP fetches the application program from the region load library and place it in the man memory.
- KCP passes the control to the application program.
- During the application program execution, it follows pseudo conversation.
- Once the program execution completed, program transfers the control to KCP.
- KCP transfers the control to CICS region once the task job completed.
- Once the task completes, CICS region terminates the task and frees resources for other tasks.
How to define a transaction -
Below process is to define a new transaction MTH1 with the program MTHPROG1 in CICS region.
Step-1 -Define transaction using CEDA command.
Step-2 -Install transaction using CEDA command.