Ritesh Dubal Merrill Lynch – USA Customer Information Control System
Ritesh DubalMerrill Lynch – USA
Customer Information Control System
Some astonishing facts and figures
1. 490 of the Fortune 500 Companies support their critical transaction processing
applications using CICS.
2. IBM estimates that there are
(a) Around two million CICS programmers.
(b) More than a 1.5 billion lines of CICS code.
(c) Over 15 million terminals on which CICS transactions are executed.
(d) Over 30 billion transactions executed every day.
(e) Around 30,000 licensed CICS/390 systems.
3. CICS is operational in over 100 countries.
Course Schedule
22/7/03: Introduction to CICS.
23/7/03: Basic Mapping Support.
24/7/03: Application Programming.
28/7/03: Error Handling and File Operations.
1. Internals of CICS.
2. Subsystems used by CICS.
3. Design of CICS.
4. Comparative analysis with other OLTP systems.
Topics not discussed
1. MVS and its subsystem TSO.
2. VSAM concepts.
3. OLTP concepts.
4. Programming in COBOL.
Pre-requisites
Title Authors Publishers
CICS Handbook Yukihisa Kageyama Tata McGraw-Hill
CICS Programmer's Doug Lowe Mike Murach
Desk Reference & Associates
CICS a how to for David Shelby Kirk Shroff Publications
Cobol programmers
CICS command Alida M.Jatich John Wisley & Sons Inc.
level programming
References
Assignment 1: To be submitted on 23/7/03. (10 marks)
Assignment 2: To be submitted on 25/7/03. (20 marks)
Final OLE: For 70 marks.
Evaluation Procedure
1. To understand what is CICS.
2. To realize the need for a system like CICS under MVS.
3. To learn about the IBM 3270 terminals.
4. To get familiar with the CICS Nucleus.
5. To understand CICS transaction life cycle.
Agenda for Day 1
A DB/DC Control System.
CICS
VTAM
BTAM
TCAM
ApplicationPrograms
VSAM
DB2DASD
TERMINAL
What is CICS? (1 of 3)
Just another batch job that runs under MVS.
CICS ProductionSystem Job
Application Pgm 1
Application Pgm 2
. . . . . . . .
Application Pgm n
MVS Common Area
Free Space
TSO Job
MVS Common Area
Free Space
CICS Test System
MVS Common Area
Free Space
Batch Job
MVS Common Area
Free Space
Address Space 1 Address Space 2 Address Space 3 Address Space 4
What is CICS? (2 of 3)
Can be thought of as an OS within another OS.
DatabaseAccess method
DL/1, DB2
TelecommunicationAccess Method
VTAM, TCAM, BTAM
DataAccess method
VSAM,BDAM
MVS OS
Data handlingServices
DataCommunication
Services
Monitoring Services
System Services
Application ProgramServices
CICS
CICS Application Programs (COBOL, PL/1, Assembler)
TerminalsDASD
What is CICS? (3 of 3)
Provides Program Control, such as load and release of application programs.
Provides Storage Control, such as acquiring and releasing of storage.
Provides Task Control, such as task scheduling.
System Services
Provides interface with data access methods.
Provides interface with database access methods.
Data Handling Services
Interface with telecommunication access methods.
Free application programs from terminal hardware through Basic Mapping Support(BMS).
Provides Multi Region Operation(MRO), through which more than one CICS region in the same system can communicate.
Provides Inter System Communication (ISC), through which a CICS region in one system can communicate with the CICS region of the other system.
Data Communication Services
Interface with application programs.
Provide CICS command level translation.
Provides services like
CICS Execution Diagnostic Facility and CICS Enhanced Command Interpreter.
Application Programming Services
• Monitors various events within CICS and provides a
series of statistics to be used for system tuning.
Monitoring Services
Why is CICS required in the context of MVS?
To ease the development of Online applications.
Why is CICS needed under MVS?
1. Device independence,
2. Format independence,
3. Remote execution facility,
4. Locking facility,
5. Portability of programs across systems and
Eases the development of online applications by providing
6. Availability of data & communication handling functions.
What are the advantages of using CICS? (1 of 2)
1. Terminal operator may be made to sign on to CICS.
2. Operators may be restricted to certain transactions.
3. The transaction can be made available to specific
terminals.
4. Application programs can further check passwords
and terminal locations.
Provides better security
What are the advantages of using CICS? (2 of 2)
Mainly consists of
1. A CRT Monitor and
2. A Keyboard.
Examples:
1. 3278 (Monochrome, usually Green, White or Amber)
2. 3279 (7 different colours) (Has better Keyboard Layout) (Keyboard could be configured for foreign languages).
IBM 3270 Terminals (1 of 3)
CRT Monitor
Capable of displaying up to 1920 characters
along 24 rows and 80 columns.
IBM 3270 Terminals (2 of 3)
Key board
Aid Keys
PF keys
PF1 to PF24&
ENTER
PA keys
PA1 to PA4&
CLEAR
Non-Aid Keys
Alphabets, numberspunctuation and
special characters.
Allows transfer of data.
Doesn’t allow transfer of data.
IBM 3270 Terminals (3 of 3)
1. Application
A collection of programs, that accomplish some specific user work.
2. Transaction
A collection of logically related programs in a given application.
3. Task
It is a single execution of a transaction.
4. Logical unit of work
A piece of work, that should be done completely or not done at all.
Some Basic Terminologies
1. CESN: CICS Execute Sign ON
2. CEDA: CICS Execute Definition and Administration.
3. CEMT: CICS Execute Master Terminal.
4. CECI: CICS Execute Command Interpreter
5. CEDF: CICS Execute Debug Facility.
6. CMAC: CICS Messages for Abend Codes.
7. CESF: CICS Execute Sign OfF.
CICS Supplied Transactions
Break
CICS Nucleus (1 of 2)
1. Terminal Control Program (TCP)
2. TasK Control Program (KCP)
3. Program Control Program (PCP)
4. File Control Program (FCP)
CICS Control Programs
5. Temporary Storage Program (TSP)
6. System Initialization Program (SIP)
CICS Nucleus (2 of 2)
1. Terminal Control Table (TCT)
2. Program Control Table (PCT)
3. Processing Program Table (PPT)
4. File Control Table (FCT)
CICS Control Tables
5. Temporary Storage Table (TST)
6. System Initialization Table (SIT)
Terminal Control Program
a. Receives messages from terminals.
b. Transfers data between terminals and programs.
c. Handles hardware communication requirements.
d. Requests CICS to initiate tasks.
CICS Control Programs (1 of 5)
Task Control Program
Controls simultaneous execution of tasks and its related
properties.
CICS Control Programs (2 of 5)
Program Control Program
a. Locates and loads programs for execution.
b. Transfers control between programs.
c. Returns control to CICS.
CICS Control Programs (3 of 5)
File Control Program
a. Provides application programs with services to read,
update, add and delete records in a file. b. Manages exclusive control over the records in order
to maintain data integrity during record updates.
CICS Control Programs (4 of 5)
Storage Control Program Controls allocation and de-allocation of storage
within CICS region.
CICS Control Programs (5 of 5)
Terminal Control Table
Contains information that describes the configuration
of all the terminals and other CICS systems with which
terminals can communicate.
CICS Control Tables (1 of 5)
Program Control Table
Contains the list of all transactions that may be
processed by the system. Includes details such as
transaction- id, priority, security and processing
programs name.
CICS Control Tables (2 of 5)
Processing Program Table
Contains the list of all programs that may be executed by
the system. Include details such as program name, source
language and residency.
CICS Control Tables (3 of 5)
File Control Table
Contains the list of all characteristics of logical files defined
within the system.
CICS Control Tables (4 of 5)
Storage Control Table
Contains the list of all recoverable TSQs created and
modified by various programmers.
CICS Control Tables (5 of 5)
Step 1: The terminal operator initiates the transaction by
typing a 1 to 4 character transaction-id and pressing the
ENTER key.
Transaction Life Cycle (1 of 12)
Step 2: The TCP periodically checks (polls) all terminals
for input. When a message is received it does the following.
a. Instructs the SCP to create TIOA.
b. Places the message in the TIOA.
c. Passes the control to KCP.
Transaction Life Cycle (2 of 12)
Step 3: The KCP takes control from the TCP and does the following.
a. Validates the transaction-id and security.
b. Instructs the SCP to create a task control area.
c. Assigns priority to the task based on
(i) Terminal priority (Set in TCT),
(ii) Operator priority (Set in SNT) and
(iii) Transaction priority (Set in PCT).
d. Adds the task to the queue of waiting programs.
e. Dispatches waiting programs in the order of priority.
f. Passes the control to PCP.
Transaction Life Cycle (3 of 12)
Step 4: The PCP takes control from the KCP and does the
following.
a. Locates the program and loads it, if necessary.
b. Transfers the control to the Application program.
Transaction Life Cycle (4 of 12)
Step 5: The Application program takes control from the
PCP and does the following.
a. Requests the TCP to place the message into the
program’s WORKING-STORAGE area.
b. Requests the FCP to retrieve records from the files.
Transaction Life Cycle (5 of 12)
Step 6: The FCP takes control from the Application
program and does the following.
a. Requests a File work area from the SCP.
b. Informs the KCP that this task can wait until the
I/O is complete.
Transaction Life Cycle (6 of 12)
Step 7: The KCP does the following.
a. Dispatches the next task in the queue. b. Re-dispatches the old task when I/O is complete.
c. Transfers the control to FCP.
Transaction Life Cycle (7 of 12)
Step 8: The FCP returns control to the Application program.
Transaction Life Cycle (8 of 12)
Step 9: The Application program does the following.
a. Processes the file data.
b. Requests TCP to send an I/O message.
c. Returns control to PCP.
Transaction Life Cycle (9 of 12)
Step 10: The PCP returns control to KCP requesting it
of end the task.
Transaction Life Cycle (10 of 12)
Step 11: The KCP instructs the SCP to free all the
storage allocated to the task(except TIOA).
Transaction Life Cycle (11 of 12)
Step 12: The TCP does the following.
a. Sends the output to the terminal.
b. Requests the SCP to release the TIOA.
Transaction Life Cycle (12 of 12)
TCP
tran
FCP
AP
PCP
KCP
AP
PCP
KCP
KCP
Transaction Life Cycle Summary