CICS_Day_1

50
Ritesh Dubal Merrill Lynch – USA Customer Information Control System

Transcript of CICS_Day_1

Page 1: CICS_Day_1

Ritesh DubalMerrill Lynch – USA

Customer Information Control System

Page 2: CICS_Day_1

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.

Page 3: CICS_Day_1

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.

Page 4: CICS_Day_1

1. Internals of CICS.

2. Subsystems used by CICS.

3. Design of CICS.

4. Comparative analysis with other OLTP systems.

Topics not discussed

Page 5: CICS_Day_1

1. MVS and its subsystem TSO.

2. VSAM concepts.

3. OLTP concepts.

4. Programming in COBOL.

Pre-requisites

Page 6: CICS_Day_1

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

Page 7: CICS_Day_1

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

Page 8: CICS_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.

Agenda for Day 1

Page 9: CICS_Day_1

A DB/DC Control System.

CICS

VTAM

BTAM

TCAM

ApplicationPrograms

VSAM

DB2DASD

TERMINAL

What is CICS? (1 of 3)

Page 10: CICS_Day_1

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)

Page 11: CICS_Day_1

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)

Page 12: CICS_Day_1

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

Page 13: CICS_Day_1

Provides interface with data access methods.

Provides interface with database access methods.

Data Handling Services

Page 14: CICS_Day_1

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

Page 15: CICS_Day_1

Interface with application programs.

Provide CICS command level translation.

Provides services like

CICS Execution Diagnostic Facility and CICS Enhanced Command Interpreter.

Application Programming Services

Page 16: CICS_Day_1

• Monitors various events within CICS and provides a

series of statistics to be used for system tuning.

Monitoring Services

Page 17: CICS_Day_1

Why is CICS required in the context of MVS?

To ease the development of Online applications.

Why is CICS needed under MVS?

Page 18: CICS_Day_1

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)

Page 19: CICS_Day_1

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)

Page 20: CICS_Day_1

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)

Page 21: CICS_Day_1

CRT Monitor

Capable of displaying up to 1920 characters

along 24 rows and 80 columns.

IBM 3270 Terminals (2 of 3)

Page 22: CICS_Day_1

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)

Page 23: CICS_Day_1

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

Page 24: CICS_Day_1

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

Page 25: CICS_Day_1

Break

Page 26: CICS_Day_1

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)

Page 27: CICS_Day_1

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)

Page 28: CICS_Day_1

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)

Page 29: CICS_Day_1

Task Control Program

Controls simultaneous execution of tasks and its related

properties.

CICS Control Programs (2 of 5)

Page 30: CICS_Day_1

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)

Page 31: CICS_Day_1

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)

Page 32: CICS_Day_1

Storage Control Program Controls allocation and de-allocation of storage

within CICS region.

CICS Control Programs (5 of 5)

Page 33: CICS_Day_1

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)

Page 34: CICS_Day_1

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)

Page 35: CICS_Day_1

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)

Page 36: CICS_Day_1

File Control Table

Contains the list of all characteristics of logical files defined

within the system.

CICS Control Tables (4 of 5)

Page 37: CICS_Day_1

Storage Control Table

Contains the list of all recoverable TSQs created and

modified by various programmers.

CICS Control Tables (5 of 5)

Page 38: CICS_Day_1

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)

Page 39: CICS_Day_1

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)

Page 40: CICS_Day_1

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)

Page 41: CICS_Day_1

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)

Page 42: CICS_Day_1

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)

Page 43: CICS_Day_1

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)

Page 44: CICS_Day_1

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)

Page 45: CICS_Day_1

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

Transaction Life Cycle (8 of 12)

Page 46: CICS_Day_1

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)

Page 47: CICS_Day_1

Step 10: The PCP returns control to KCP requesting it

of end the task.

Transaction Life Cycle (10 of 12)

Page 48: CICS_Day_1

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

storage allocated to the task(except TIOA).

Transaction Life Cycle (11 of 12)

Page 49: CICS_Day_1

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)

Page 50: CICS_Day_1

TCP

tran

FCP

AP

PCP

KCP

AP

PCP

KCP

KCP

Transaction Life Cycle Summary