You are on page 1of 50

Customer Information Control System

Ritesh Dubal
Merrill Lynch – USA
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.


Topics not discussed

1. Internals of CICS.

2. Subsystems used by CICS.

3. Design of CICS.

4. Comparative analysis with other OLTP systems.


Pre-requisites

1. MVS and its subsystem TSO.

2. VSAM concepts.

3. OLTP concepts.

4. Programming in COBOL.
References
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
Evaluation Procedure

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.


Agenda for Day 1

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.


What is CICS? (1 of 3)

A DB/DC Control System.

TERMINAL
VTAM
VSAM
BTAM CICS DASD
TCAM DB2

Application
Programs
What is CICS? (2 of 3)
Just another batch job that runs under MVS.
Address Space 1 Address Space 2 Address Space 3 Address Space 4
CICS Production
System Job CICS Test Batch Job
System
Application Pgm 1 TSO Job

Application Pgm 2

........
Free Space
Application Pgm n Free Space
Free Space
Free Space

MVS Common Area MVS Common Area MVS Common Area MVS Common Area
What is CICS? (3 of 3)
Can be thought of as an OS within another OS.
MVS OS
Database Data
Telecommunication
Access Access
Access Method
method method
VTAM, TCAM, BTAM
DL/1, DB2 VSAM,BDAM

DASD Terminals
CICS
Monitoring Services
Data
Data handling System Services Communication
Services
Services
Application Program
Services

CICS Application Programs (COBOL, PL/1, Assembler)


System Services

 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.


Data Handling Services

 Provides interface with data access methods.

 Provides interface with database access methods.


Data Communication 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.
Application Programming Services

 Interface with application programs.

 Provide CICS command level translation.

 Provides services like


 CICS Execution Diagnostic Facility and
 CICS Enhanced Command Interpreter.
Monitoring Services

• Monitors various events within CICS and provides a

series of statistics to be used for system tuning.


Why is CICS needed under MVS?

Why is CICS required in the context of MVS?

To ease the development of Online applications.


What are the advantages of using CICS? (1 of 2)
Eases the development of online applications by providing
1. Device independence,

2. Format independence,

3. Remote execution facility,

4. Locking facility,

5. Portability of programs across systems and

6. Availability of data & communication handling functions.


What are the advantages of using CICS? (2 of 2)

Provides better security

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.
IBM 3270 Terminals (1 of 3)

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 (2 of 3)

CRT Monitor

Capable of displaying up to 1920 characters

along 24 rows and 80 columns.


IBM 3270 Terminals (3 of 3)

Key board

Aid Keys Non-Aid Keys


PF keys PA keys
Alphabets, numbers
PF1 to PF24 PA1 to PA4 punctuation and
& & special characters.
ENTER CLEAR

Allows transfer of data.

Doesn’t allow transfer of data.


Some Basic Terminologies
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.
CICS Supplied Transactions
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.


Break
CICS Nucleus (1 of 2)

CICS Control Programs

1. Terminal Control Program (TCP)

2. TasK Control Program (KCP)

3. Program Control Program (PCP)

4. File Control Program (FCP)

5. Temporary Storage Program (TSP)

6. System Initialization Program (SIP)


CICS Nucleus (2 of 2)

CICS Control Tables

1. Terminal Control Table (TCT)

2. Program Control Table (PCT)

3. Processing Program Table (PPT)

4. File Control Table (FCT)

5. Temporary Storage Table (TST)

6. System Initialization Table (SIT)


CICS Control Programs (1 of 5)

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 (2 of 5)

Task Control Program

Controls simultaneous execution of tasks and its related

properties.
CICS Control Programs (3 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 (4 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 (5 of 5)

Storage Control Program

Controls allocation and de-allocation of storage

within CICS region.


CICS Control Tables (1 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 (2 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 (3 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 (4 of 5)

File Control Table

Contains the list of all characteristics of logical files defined

within the system.


CICS Control Tables (5 of 5)

Storage Control Table

Contains the list of all recoverable TSQs created and

modified by various programmers.


Transaction Life Cycle (1 of 12)

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 (2 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 (3 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.
Transaction Life Cycle (4 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 (5 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 (6 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 (7 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 (8 of 12)

Step 8: The FCP returns control to the Application program.


Transaction Life Cycle (9 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 (10 of 12)

Step 10: The PCP returns control to KCP requesting it

of end the task.


Transaction Life Cycle (11 of 12)

Step 11: The KCP instructs the SCP to free all the

storage allocated to the task(except TIOA).


Transaction Life Cycle (12 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 Summary

tran

TCP

KCP KCP

PCP PCP

AP KCP AP

FCP

You might also like