CICS Tutorial part-1
CICS is a transaction procession system owned by IBM and runs under Z/OS operating system. CICS stands for Customer Information Control System which works as a front end for the business applications written in COBOL, PL/1, C, C++, Assembler, PHP and JAVA but most of the applications which CICS supports are written in COBOL. CICS controls the interaction BTW Users and Applications by providing a secure multi-user platform. It supports Multi threading which is a
useful concept for multi user environment where multiple users can perform the same operation but with different set of input data. CICS is widely used in Banking, Telecom, Insurance, rail Roads and many more business applications.
Transaction in CICS is a Unit of work and is represented by a 4 char TRANSID.Generally one transaction executes one or more programs.
Transaction ID and its associated programs needs to be defined in CICS, before using it. There are few CICS system tables where this info. needs to be defined.PCT is one of them and it stores the Transaction and its associated program.
Click here for more details on transaction.
In CICS terms, Task is an instance of one transaction. When any transaction is initiated, a task gets created by OS and processes the data/input provided by the user/terminal. It gets ended once the processinf is completed.
Tasks that are being executed can be viewd in the native CICS using the Master Termincal Transaction (CEMT).
CEMT INQ TASK(task id)
Tasks can be closed/purged in the same native CICS USING CEMT INQ.
ex: CEMT INQ TASK(00001212)
STATUS: RESULTS – OVERTYPE TO MODIFY
Tas(00001212) Tra(TRN1) Sus Tas Pri( 255 )
Sta(SD) Use(START2 ) Uow(D4X5F123E09EF321)
By Giving FP after 255.. task can be purged..
is a feature of OS where Multiple tasks can execute simultaneaously. CICS supports mulitasking.
is a feature of operating system that can execute multiplae tasks which exceutes the same program but with different data. Here each task gets seperate copy of the same program so each task can execute different/same part of a single program. Program must be reentrant to support the multithreading.
A reentrant program does not modify itself when it is reentered after an interupption by the OS. This is possible as in Pseudo conventional program, a task gets ended without waiting for the user input and after the input is received, it gets started (reentered) from that point only. This is called reentancy.
Quasi Reenetrant programs are renetrant programs but these run under CICS.
Pseudo Conventional Programming
Pseudo Conventional programs does not wait for the user input instead it ends the task, releases resources, preserves the required details to restart that program and restarted once the user input is received.