In this article we are going to discuss about CICS used in Mainframe. Customer Information Control System (CICS) is an online process. It was designed by IBM for online transaction processing on OS/390 and is most widely used data communication system. It is also called as CICS transaction server since it supports thousands of transactions per second. Some of the supporting programming languages for CICS are COBOL, PL/I, C, C++, Java, REXX etc
If you are familiar with mainframe programs, you will be knowing about batch programs also. In batch all the processing happens in the backend where a certain set of jobs is executed for a certain period of time. But in online as CICS everything is live where a certain a certain amount of screens is provided where you will be entering the data and you would be getting the results at the same instance.
CICS has several inbuilt components, interfaces and services to enable efficient and reliable application. CICS authorizes users to allocate resources (real storage and cycles) and pass on database requests from the application to the appropriate database manager. In mainframe, CICS can be used with IBM products such as IMS, DL/I, SQL/DS and DB2. It can work with VSAM files also.
CICS is a program in itself that run under control of the operating system. That is CICS acts like an Operating System. It provides system services such as program loading, storage control and task control.
Mainframe is a combination of Jobs and Transactions. Jobs contain Batch programs and Transactions contain Online programs. Transaction is a logical unit of work. For example inserting employee details, updating employee details and deleting employee details.
Transaction is an important part of CICS. They are mainly of two types. User defined transactions and System defined transactions. The transaction ID for user defined and system defined must be between 1-4 alphanumeric characters. Mostly it is 4 characters.
User defined transactions are defined based on the end users need. When we develop an online application based on user need we queue a transaction to them so the transactions are initiated. Example:TR01, TR02 etc. System defined transactions are supplied by online for common repeated task within an online environment. Example : CEMT, CEDA, CEDF etc
CICS mainly involve of screens. Online user will interact to the online system with the help of screens. Self-system defined transaction ID has to be given first to enter into online screen. Then in the screen, u can enter the data. Example, in railway reservation system, a transaction ID will be given using which we can enter into the system. Once the ID is provided, their system screen will be provided where we can enter the customer information, submit a ticket and provide ticket to customer.
Mapsets are used to develop a screen. It is a collection of Maps. Maps are individual blocks in a screen and is defined as a collection of fields. BMS (Basic Macro Support) Programming is used in order to develop Mapset, Maps and Fields. It is also called as Assembler Macros.
This are the basic theory about CICS. The programming basics about CICS is present in CICS Programming Basic in COBOL