131
Unit 1. Introduction

145228554-CICS.pdf

Embed Size (px)

Citation preview

Page 1: 145228554-CICS.pdf

Unit 1. Introduction

Page 2: 145228554-CICS.pdf

Overview

What is CICS

Why it was developed ?

CICS Concepts

Components Of CICS

CICS Management Functions

CICS Transaction Flow

Page 3: 145228554-CICS.pdf

CICS

Customer

Information

Control

System

Notes :

CICS was introduced in 1968. It is matured and well established.

CICS has been enhanced with approx 15 major releases.

CICS is a subsystem of MVS.

CICS Applications are Platform Independence and portable.

Page 4: 145228554-CICS.pdf

What is CICS?

CICS stands for Customer Information Control Systems.

It is a Database / Data Communication (DB / DC) system developed by IBM.

It is also termed as Online Transaction Processing (OLTP) system.

It acts as a Application / Transaction Server.

It acts as a interface b/w the application program & the Operating system.

Notes :

CICS itself is not a DB/DC System unless Applications accompany it. CICS acts as an interface between

Application Programs and Operating System as the DB/DC Control System.

CICS is easy to use not only from an Application program point of view, but also from a system

Programming point of view. This is one of the reasons why CICS is one of the most widely used DB/DC Control

Systems. CICS provide the control and service functions of the Database/Data communication System as a

package.

Page 5: 145228554-CICS.pdf

OLTP (Online Transaction Processing System)

Examples:

Money Exchange

Transportation Tickets

Medical services

TRANSACTION = Request for Service

Notes:

Earlier most Application programs ran in batch mode. Typically, this meant that they would read an input file

of transactions, update a master file and produce printed reports. Users might have to wait several hours or

longer for these reports. By the time they received their reports, intervening activity in the business would

usually mean they were out of date.

The lengthy turnaround times associated with traditional batch systems were no longer adequate, users typically

required accurate, up-to-date information within seconds. This can only be achieved with an on-line

information processing system that gives users instant access to data held in files or databases. A system of this

type is known as an Online Transaction Processing (OLTP) system or Transaction Server System

Page 6: 145228554-CICS.pdf

CICS Concept

The primary objective of CICS is to provide control & service functions

of the DB / DC system as a package.

CICS is not a DB / DC unless the applications accompany it, because CICS provides only the

control environment for the DB / DC system.

CICS is an interface between the application program and the Operating System.

Notes:

CICS is general purpose transaction server.

Transaction: Receive a message from a terminal, Access data from a file or a database and then send

a reply back to the terminal.

CICS provides many operating system-like functions.

Page 7: 145228554-CICS.pdf

CICS System Concept

Operating System (MVS/ESA)

Database

Access

Method(DL/I,D

B2)

Data Access

Method(VSAM,B

DAM)

Telecommunication Access Method

(VTAM,TCAM,BTAM)

Other

Systems Data

Storage Terminals

CICS/MVS

System Services Data

Data Communication

Handling Monitoring Functions Functions

Functions

Application Program Services

CICS Application Programs

[COBOL,PL/1,Assembler…..]

Page 8: 145228554-CICS.pdf

Components of CICS

The 5 Major System components of CICS, which performs specialized services, are:

Data Communication Functions.

Data Handling Functions

Application program services

System Services

Monitoring Functions

Page 9: 145228554-CICS.pdf

Data-Communication Functions

This component provides an interface between CICS and terminals or other systems.

It acts as an interface to telecommunication access methods like VTAM, TCAM, BTAM, etc.

It frees the application programs from terminal hardware through Basic mapping Support (BMS) thus

providing device and format independence.

It provides Multi Region Operation (MRO), through which more than one CICS region in a system can

communicate.

Provides Inter System Communication (ISC), through which a CICS region in a system can communicate

with other CICS regions systems or other non-CICS regions in other systems or the other non-CICS

systems.

Notes:

VTAM (Virtual Telecommunication Access Method) is responsible for the flow of message between the Operating

System (MVS or VSE) and the network of terminals.

VTAM and CICS run in separate address spaces under the control of Operating System.

VTAM doesn‟t perform any Application Program activity. CICS doesn‟t perform any terminal input and output

activity, it “commands” VTAM to do it.

The advantage of this separation is that, CICS and Application programs are isolated from changes in the Network.

Page 10: 145228554-CICS.pdf

Data-Handling Functions

Provides an interface between CICS and data.

Interface with data access methods such as VSAM and BDAM.

Interfaces with database access methods like DB/2,SQL/DS and DL/I.

Maintain data integrity by controlling simultaneous updates,

providing data recovery facilities, etc.

Page 11: 145228554-CICS.pdf

Application Program Services

Provides the interface between CICS and Application Programs.

Interface with COBOL, PL/1 and Assembler Programs.

Provides command level translation.

Provides Execution Diagnostic Facility (EDF), Command Interpreter, (CECI),

Screen Definition Facility (SDF), Trace and Dump facilities, etc.

Notes :

CICS System supports many different user application programs. Loading and accessing these programs is

controlled by this management function.

Page 12: 145228554-CICS.pdf

System Services

Provides an interface between CICS and operating system and carries out

functions like loading and releasing of application programs, acquiring and

freeing of storage, task scheduling, etc.

Notes :

System services provides the functions such as Storage Management to control the storage acquired by the

Application programs, Time Management to perform the Transactions in certain amount of time or after an elapsed

period of time and Trace Management is useful for Problem Analysis.

Page 13: 145228554-CICS.pdf

Monitoring Functions

Provides the function for monitoring the various events within CICS and

the necessary statistics for system fine tuning.

Page 14: 145228554-CICS.pdf

CICS Management Functions

Terminal Management

Security Management

Task Management

Program Management

File Management

Queue Management

Recovery Management

System Services

Storage Management

Time Management

Trace Management

Application Program Interface (API)

Page 15: 145228554-CICS.pdf

CICS Management Functions (Contd.1)

Terminal Management

Most CICS applications start when an end user enters data from a terminal.

Terminal Management allows your applications to send or receive messages.

Security Management

You can restrict access to transactions and resources.

Task Management

CICS provides its own multi-user or multi-thread environment.

Program Management

A typical CICS system supports many different user application

Programs. Loading and accessing these programs is controlled by this

Management function.

File Management

Some applications use non-database files. File Management provides

access to VSAM and direct access (BDAM) data sets.

Queue Management

Some applications have the requirement to store data into a queue for later

retrieval. CICS supports two methods of queuing.

Recovery Management

You may ask CICS to protect selected resources, in the event of unexpected

termination of the transaction or the system.

Page 16: 145228554-CICS.pdf

CICS Management Functions (Contd. 2)

System Services

Provides such generalized services as:

- Storage Management

Acquiring storage when CICS transactions needs it.

- Time Management

A service that allows CICS transactions to request that certain actions be performed at

a certain time of day, or after an elapsed period of time.

- Trace Management

A service that can be very helpful in problem determination.

- Application Program Interface (API)

A ‘layer’ between application programs and CICS management functions.

Page 17: 145228554-CICS.pdf

CICS Control Programs and Tables

CICS Control Programs CICS Control Tables

File Control Program(FCP)

Journal Control Program(JCP))

Task Control Program(TCP)

Storage Control Program(SCP)

Terminal Control Program(TCP))

Transient Data Program(TDP))

Temporary Storage Program(TSP)

File Control Table(FCT)

Journal Control Table(JCT

Program Control Table(PCT)

Terminal Control Table(TCT

Destination Control Table(DCT

Temporary Storage Table(TST)

Page 18: 145228554-CICS.pdf

CICS Transaction Flow

This section covers :

Management Functions and their Tables

Transaction Identifier

Flow between application program and CICS

Difference between Task and Transaction

Notes :

The following pages describe the CICS components and Transaction Flow.

Page 19: 145228554-CICS.pdf

Terminal Control

Terminal Terminal

Control

Notes :

When a end user enters a transaction code and an account number at the terminal and pressed enter

key, then VTAM receives the message and passes it to CICS.

Terminal control accepts this input message from VTAM into a terminal input/output area (TIOA).

The Terminal Control Table (TCT) will have an entry for each terminal (TCTTE), which contains

definition of the terminal. It also stores operational data such as an indication that terminal is out of

service.

Page 20: 145228554-CICS.pdf

Task Control

Terminal Terminal

Control

Task

Control

Notes:

All transactions are defined in the Program Control Table (PCT). Task Control validates transactions by

checking the program control table, which lists all valid transaction ids and the associated programs, so

that control may be transferred to the correct program. If an operator enters a valid transaction code, task

control would not find it in the Program Control Table and an error message would be sent to the

terminal.

Many tasks can be processed concurrently (multi-tasking). Tasks are not usually processed through to

completion in a single, uninterrupted operation. When the currently executing task has to wait e.g. for

file i/o, a ready to run waiting task will receive control.

To control each task, task control acquires a task control area (TCA), which is released when the task

terminates. This is a CICS control block and is transparent to the application program.

Page 21: 145228554-CICS.pdf

Program Control

Terminal Terminal

Control

Task

Control

Program

Control

Notes:

Task control passes control to program control, which keeps track of the location of all of the application

programs.

The Processing Program Table (PPT) contains the program size, program source language and other

program information.

When an application program is first loaded its address in the program library is stored in the PPT.This is

done so that subsequent loading of the program is faster.

The Processing Program Table also records a programs location in storage when loaded. Generally there is

only one copy of a program in storage and many end users can be executing it simultaneously.

Page 22: 145228554-CICS.pdf

User Application Programs

Terminal Terminal

Control

Task

Control

Program

Control

Inquiry

Application

Program

Notes :

Program control passes control to the application program, in this example to the program that

handles the transaction code INQY.

In summary, before control to the application program, CICS has read the input (INQY and account

number) into a terminal I/O area, validated the transaction identifier and initiated a task.

The application program may now process the input and issue commands to request services needed

in performing the function of the application.

CICS contains some sample programs, transactions and file so that you can run an application

immediately after CICS installation. These programs could also be used for demonstrations.

Page 23: 145228554-CICS.pdf

Basic Mapping Support - Input

Terminal Terminal

Control

Task

Control

Program

Control

Inquiry

Application

Program

Basic

Mapping

Support

Notes:

Basic Mapping Support (BMS) simplifies programming for 3270 devices. It consists of supplied

BMS modules and user defined screen maps. In the context of this transaction the next step is for

the program to issue a BMS command to format and move the account number from the terminal i/o

area to a map area in the working storage section of the application program.

BMS provides device independence, which allows an application programmer to communicate with

a terminal without having to understand its hardware control characteristics.BMS also provides

format independence, which simplifies the positioning of data on the terminal.

Page 24: 145228554-CICS.pdf

File Control and Data Base Access

Terminal Terminal

Control

Task

Control

Program

Control

Inquiry

Application

Program

Basic

Mapping

Support

File

Control VSAM

dataset

Notes:

The application program issues a command to retrieve a record from a VSAM file.

All VSAM and BDAM files are defined in the File Control Table (FCT).

DB2:

CICS supports access to IBM‟s relational database product via Structured Query Language

(SQL) commands. It is available on numerous platforms.

Page 25: 145228554-CICS.pdf

Journal Control

Terminal Terminal

Control

Task

Control

Program

Control

Inquiry

Application

Program

Basic

Mapping

Support

File

Control VSAM

dataset

Journal

Control Log

File

Notes :

If a record in a database or a file is changed then information about this change is automatically

logged on the system log through the journal control facility.

This logging will permit recovery in case of failure.

When appropriately defined, journal processing is performed automatically.

The system log is defined in the Journal Control Table (JCT).

In CICS Transaction Server for OS/390 the journal control is performed by the system logger.

Page 26: 145228554-CICS.pdf

Trace Control

Terminal Terminal

Control

Task

Control

Program

Control

Inquiry

Application

Program

Basic

Mapping

Support

File

Control VSAM

dataset

Journal

Control Log

File

Trace

Control

Notes:

Tracing is a CICS debugging aid, which can be used to trace the processing path of an application

program. It is invoked for each CICS command executed by the application program.

Trace entries are written to the Trace Table (TRT). Programmers can place trace commands in

application programs to help find a well-hidden bug. The trace table resides in storage and appears

in CICS dumps. There is an option, auxiliary trace, to have the trace table written out to disk and

there is a utility program to selectively print it.

A further facility of CICS, known as the Executive Diagnostic Facility (EDF) enables a programmer

to debug a program interactively at a terminal. In this case, the flow of the program can be stopped

at a specified points, data areas examined and if necessary altered. Thus the program can be closely

monitored and errors eliminated at the terminal.

Page 27: 145228554-CICS.pdf

Dump Control

Terminal Terminal

Control

Task

Control

Program

Control

Inquiry

Application

Program

Basic

Mapping

Support

File

Control VSAM

dataset

Journal

Control Log

File

Trace

Control

Dump

Control Dump

File

Notes:

If a serious error condition occurs, such as a program check, CICS will abend the task with a task

dump.

This facility can also be invoked by a command in the application program. This causes all task-

related storage areas to the dump file.

The dump utility program (DFHDUP) is a batch program that formats and prints the dump file.

Page 28: 145228554-CICS.pdf

Temporary Storage Control

Terminal Terminal

Control

Task

Control

Program

Control

Inquiry

Application

Program

Basic

Mapping

Support

File

Control VSAM

dataset

Journal

Control Log

File

Trace

Control

Dump

Control Dump

File

Dump

Control

Temporary

Storage file Notes:

The application program can use CICS commands to write records to a temporary storage queue

which can be retrieved later in the same sequence in which they were stored, or directly by entry

number.

In a CICS run, all temporary storage records written to main storage are retained in CICS until

purged by an application program or CICS is closed down.

If records are written to disk temporary storage then they can be passed from one run of CICS to

the next by an appropriate shutdown and start-up of the system.

A temporary Storage Table(TST) is required for recovery purposes.

Page 29: 145228554-CICS.pdf

Transient Data Control

Terminal Terminal

Control

Task

Control

Program

Control

Inquiry

Application

Program

Basic

Mapping

Support

File

Control VSAM

dataset

Journal

Control Log

File

Trace

Control

Dump

Control Dump

File

Dump

Control

Temporary

Storage file

Transient

Data

Control

Transient

Data file

Notes:

Transient Data is another CICS queuing facility.

Records are stored in the order that they are written, in a sequential queue for each defined

queue, called a Transient Data destination.

The Destination Control Table (DCT) contains the queue definitions.

Page 30: 145228554-CICS.pdf

Basic Mapping Support - Output

Terminal Terminal

Control

Task

Control

Program

Control

Inquiry

Application

Program

Basic

Mapping

Support

File

Control VSAM

dataset

Journal

Control Log

File

Trace

Control

Dump

Control Dump

File

Dump

Control

Temporary

Storage file

Transient

Data

Control

Transient

Data file

Notes:

A BMS command formats the field for transmission to the terminal.

BMS moves the data from the map area to a terminal I/O area and terminal control will pass it to

VTAM for transmission to the terminal.

Page 31: 145228554-CICS.pdf

Ending the Transaction

Terminal Terminal

Control

Task

Control

Program

Control

Inquiry

Application

Program

Basic

Mapping

Support

File

Control VSAM

dataset

Journal

Control Log

File

Trace

Control

Dump

Control Dump

File

Dump

Control

Temporary

Storage file

Transient

Data

Control

Transient

Data file

Notes:

The transaction is terminated by issuing the RETURN command.

All storage allocated to this task is released and made available for use by other tasks.

Page 32: 145228554-CICS.pdf

INITIALISATION

Terminal Terminal

Control

Task

Control

Program

Control

Basic

Mapping

Support

File

Control VSAM

dataset

Journal

Control Log

File

Trace

Control

Dump

Control Dump

File

Dump

Control

Temporary

Storage file

Transient

Data

Control

Transient

Data file

Terminal

Terminal

TCA

for

TC

Notes:

Most MVS sites run many CICS regions, some for production work and some for testing. The

contents of each CICS system is controlled by the System Initialization Table.

During Initialization – the CICS code is loaded and the CICS tables are loaded.

On completing Initialization Terminal Control starts to execute as a CICS task.

Page 33: 145228554-CICS.pdf

Initiating CICS Transactions

The different ways of initiating a CICS transaction is :

By a transaction identifier entered at the terminal with ENTER key.

By a transaction identifier associated with a terminal for pseudo-conversation.

By a START command which initiates the transaction specified in the parameter.

By Automatic Task Initiation (ATI).

By a 3270-attention identifier, any PF or PA keys could be defined in PCT to

initiate a transaction.

Page 34: 145228554-CICS.pdf

Unit 2. CICS Concepts

Page 35: 145228554-CICS.pdf

Objectives

Application Programming Techniques

Multitasking

Multithreading

Reentrant and Quasi-Reentrant Programs

Conversational and Pseudo –Conversational Transactions

Application Programming Logical levels

Execution of CICS Application Program

Page 36: 145228554-CICS.pdf

Application Program Techniques

General Format:

The general format to code a CICS command in a application Program is as follows:

EXEC CICS Function

[option(argument value)]

[option(argument value)]

…….

…….

…….

END-EXEC.

Notes:

Function : CICS Service Request.

Option : One of the options available to the command.

Argument Value : Determines the characteristics of the value to be placed for the option as detailed

Information.

Each CICS command should end with a delimiter (END-EXEC)

Page 37: 145228554-CICS.pdf

Languages supporting CICS

The different programming languages that support CICS applications are:

COBOL

ASSEMBLER

PL/1

C

C++

Notes:

CICS translator converts the EXEC CICS commands into CALL statements for a specific programming

language. There are CICS translators for Assembler, PL/I, C, C++ and COBOL.

Page 38: 145228554-CICS.pdf

Syntax

For COBOL For PL/1 For ASSEMBLER

EXEC CICS EXEC CICS EXEC CICS

…… …… ……

…… …… ……

…… …… ……

END-EXEC. ……; ……

For C For C++

EXEC CICS EXEC CICS

…… ……

…… ……

…… ……

……; ……

Page 39: 145228554-CICS.pdf

Multitasking

Execution of more than one task concurrently whether the task

uses the same program or different programs.

CICS manages the multitasking of the CICS tasks within its own region.

CICS provides a multitasking environment where more than one CICS task or

transaction can run at the same time.

Multitasking is taken care by Scheduler of the operating system.

Notes:

The work associated with the single terminal, that is a task, will not keep CICS very busy. Therefore

CICS can accept input from many terminals, and when the currently executing task completes, or has

to wait for file I/O, there is another task ready to execute.

Therefore, within CICS there can be many tasks, hence the term “Multi-tasking”. Besides the task that

is executing there may be other tasks that are ready to execute. Other tasks my be waiting for an I/O

operation to complete.

CICS decides which ready-to-run task is to be given control in a process known as task dispatching. The

highest priority ready task is dispatched.

Page 40: 145228554-CICS.pdf

Multithreading

It is a system environment where the tasks are sharing the same program

under the multitasking environment.

It is a subset of multitasking, since it concerns tasks which use the same program.

CICS manages multithreading of CICS tasks within its own region.

CICS provides the multithreading environment where more than one CICS Task, which

uses the same Program, runs concurrently.

Notes:

Many tasks can be present within CICS (multi-tasking), thus it is possible that more than one task

may require the same application program e.g. there may be 4 terminals all making stock enquiries,

CICS will create one task for each terminal and load one copy of the program. The 4 tasks will share the use of

the program i.e. they will multi-thread through the code.

Page 41: 145228554-CICS.pdf

Reentrant Program

A program which does not modify itself so that it can reenter to itself and

continue processing after an interruption by the operating system which,

during the interruption, executes other OS tasks including OS tasks of the

same program. It is also called as a “reenterable” program or “serially

reusable” program.

Reentrant programs are used by online system, and they make it possible for

OS to establish the multitasking environment which most online systems

require.

A non-reentrant program is a program, which modifies itself so that it cannot

Reenter to itself. Therefore it cannot be used in the multithreading

environment. Batch programs are the typical examples of non-reentrant

program.

Page 42: 145228554-CICS.pdf

Quasi-Reentrant Program

A Reentrant program under CICS environment is called as a Quasi-reentrant

Program. It is a CICS program, which does not modify itself during

execution. So it can reenter to itself and continue processing after an

interruption by CICS.

The Quasi-reentrant program is a feature under the CICS/Multithreading

environment. The difference between the Reentrant and Quasi-reentrant

program is that whatever operations and functions that the operating system

performs during a SVC in the case of Reentrant program is performed by

CICS during a CICS command in the case of Quasi-reentrant program.

Page 43: 145228554-CICS.pdf

Conversational Transaction

A conversation is nothing but the interaction of the program with the terminal user.

During the conversation program waits until the user responds, holding Resources

unnecessarily.

Only after the completion of the users response (i.e. pressing the ENTER Key) does the

program proceed to the next processing.

It is a very inefficient way of conversing with the user.

Notes:

Transactions can be designed in one of two ways and, although the differences between them are not apparent to

the end user, they will affect the way the program is coded and will have implications in other areas such as

performance.

If the application designer chooses the conversational approach then the whole dialogue takes place within one

CICS transaction.

This means that all processing takes place in one CICS task.

Page 44: 145228554-CICS.pdf

Pseudo-Conversational Transaction

In pseudo conversational transaction, when a program or transaction

attempts a conversation with a terminal user (i.e. sending a message,

expecting a response from the user), it terminates the task after sending a

message with a linkage for the next task or program.

When the user completes the response (i.e. pressing the ENTER key), the next task (or

program) is automatically initiated by CICS. This task receives the message from the

terminal and process it.

From the system point of view, this is a multitask operation, whereas from the user‟s point

of view, this is a normal conversation. This is why it is called “pseudo-conversational”.

Notes:

With pseudo-conversational design, the dialogue will be the same externally but will be implemented

in a different way.

Sequence of CICS tasks, where each task process one input and one output message, that is known as a message

pair.

The main benefit is that a task only exists at the time taken to process a message pair. This is short, a fraction of a

second normally, compare to the seconds or even minutes taken by the user to think and enter data.

It also means that records are not locked across the conversation.

Page 45: 145228554-CICS.pdf

Pseudo-Conversational Techniques

Multiple transaction identifiers and multiple programs.

Multiple transaction identifiers but one program.

One transaction identifier and one program.

Notes:

The programming methodology in which the task will not wait for the terminal users response, but frees the

resources after sending the message is called a pseudo conversational technique. Terminating the task every time

the application needs a response from the user and then starting the next transaction when the user presses any

attention key is pseudo conversational processing.

Page 46: 145228554-CICS.pdf

Application Program Logical Levels

CICS

Prog A

XCTL B

RETURN

Prog B

LINK C

RETURN

Prog C

XCTL D

RETURN

Prog D

LINK XX

RETURN

Notes:

Link command is used to pass control from an application program at one logical level to another application

at next lower logical level. The calling (LINKing ) program expects control to be returned to it. Data can be

passed to the called program through a special communication area called COMMAREA.

XCTL command is used to pass control from one application program to another application program at the

same logical level. The calling (XCTLing) program does not expect control to be returned. data can be

passed to the called program through a special communication area called COMMAREA.

Page 47: 145228554-CICS.pdf

Execution of CICS Application Program

BMS Mapset

Source

Assembler

Application

Listing

Physical

Map

Symbolic

Map

Link-editor

Load

Module

Load

Module

Link-editor

Compiler

Translated

Source Program

Translator

COBOL Source

Program

Object

Module

Compiler

Listing

Translator

Listing

Notes:

If an Application program has embedded SQL statements we have to precompile before going to

translation.

Page 48: 145228554-CICS.pdf

Unit 3. MAPS

Page 49: 145228554-CICS.pdf

Objectives

Objectives of BMS

BMS Maps

Map Fields

Modified Data Tag

Page 50: 145228554-CICS.pdf

Objectives Of BMS (Basic Mapping Support)

To remove the device independent codes from an application

program and places them in maps.

To remove constant information like title headers etc from an

application program and placing them in maps.

Constructing NMDS required for producing the desired screen.

To provide access to data fields of NMDS using symbolic names,

Which allows the repositioning of fields without modifying the

Applications programs.

Provide text-handling capability.

To provide the terminal paging facility, which allows combination of

several small mapped areas into one or more pages of output.

To provide the message routing facility, which allows sending of

messages to one or more terminals.

Notes:

BMS is a standard facility of CICS, which deals with formatted screen operations.

CICS programmers have a good deal of control over the way information is presented on 3270

Type devices. For example, you can determine:

How data is arranged on the screen.

How features, such as colour, are used to highlight and differentiate screen fields and improve Readability.

With Basic Mapping Support, these 3270 data streams are easy to deal with.

Page 51: 145228554-CICS.pdf

BMS maps

Map is a screen defined through BMS.

BMS map is nothing but a program written in Assembly language.

A set of Assembler macros(BMS macros) are provided by CICS for the BMS map

coding.

A map represents a BMS coding for a screen panel.

A map set contain different maps.

Notes:

Normally a screen is divided into several fields by the program sending a screen map.

It is possible to have a screen with no fields i.e. with no attribute characters. The operator then types a character

string, typically a transaction code and account number, into the blank screen and presses enter. BMS is not used

to interpret this type of input.

A map set is collection of BMS maps link edited together.

Page 52: 145228554-CICS.pdf

MAP DEFINITION

MACROS

ASSEMBLER

LINK EDIT

ASSEMBLER

Physical

map

Symbolic

map

LOAD

LIBRARY COPY

LIBRARY

PHYSICAL MAP

Types of Maps

SYMBOLIC MAP

Notes: Physical Map and Symbolic Map

Map Contents

The physical map is a table of screen display field information.The symbolic map is a structure of field

definitions in the specified programming language.Where Stored The physical map resides in the

program load library.The symbolic description map resides in the COPY library.Where used

The physical map set is loaded when an executing program specifies the name of the map set in a

SEND or RECEIVE command. The symbolic map is placed in the source program by the compiler.

Page 53: 145228554-CICS.pdf

Physical Map

Physical Map defines

Starting Position

Length

Field Characteristics (Attribute byte)

Default data for each field

It Allows BMS to add BCC‟s and commands for output in order to construct

an o/p NMDS. A Physical map will be in the form of a load module.

Notes:

The physical map describes the format of the screen that the enduser uses to input data.

The physical map represents Load module.

The physical map contains the screen position, length, attribute and color for each field that is

Displayed at the terminal, along with the terminal type.

Page 54: 145228554-CICS.pdf

Symbolic Map

A symbolic map is a copy library member which can be included in the application

program for defining screen fields.

It defines the map fields used to store variable data referenced in COBOL program.

For each field name in DFHMDF macro BMS creates 3 fields for i/p and 3 fields for o/p by

placing a character suffix to the original field name.

Notes:

The symbolic map starts with the 01 level definition of map name defined in the DFHMDF

macro with suffix „I‟ for input map an „O‟ for o/p map.

Next a filler of pic x(12) which is the TIOAPrefix and is created if the option

TIOAPFX=YES is specified in DFHMSD macro.

The symbolic map represents copy book for map fields.

A program using a map to send and receive data from a terminal, will copy a symbolic map into

its working storage.

Page 55: 145228554-CICS.pdf

Symbolic Map Fields

Name + L Half word binary field pic s9(4) comp.

Name + F Flag byte, for i/p field X’80’ if modified X’00’.

Name + A Attribute byte for both i/p and o/p fields.

Name + I I/p data field X’00’ will be placed if no data is entered.

Name + O The o/p data field.

Notes:

For each field, there are 3 definitions for input maps:

NameL This is used to store the number of characters the user typed into the field

NameF This is a flag byte and is normally set to X‟00‟.

NameI This contains the input data as read from the display.

And 2 definitions for output maps:

NameA This gives programmers access to the attribute byte so they can change the display characteristics of a field.

NameO This stores the output data to be sent to the display.

Page 56: 145228554-CICS.pdf

Map Definition Macros

There are 3 CICS supplied macros for coding BMS maps.

DFHMSD Mapset definition macro.

DFHMDI Map definition macro.

DFHMDF Field definition macro.

Notes:

You can define a CICS map using BMS Assembler macros, the three macros shown above.

Together, they are used to define the overall characteristics of the map and the way in which

data is presented. This includes:

The name of the map, its size and the name of the mapset to which it belongs.

The language of the program it will be used in Screen and keyboard control information.

Page 57: 145228554-CICS.pdf

DFHMSD Macro

Syntax:

Mapsetname DFHMDF TYPE=&SYSPARM, x

MODE=INOUT, x

LANG=COBOL, x

STORAGE=AUTO, x

TIOAPFX=YES, x

CNTL=(FREEKB,FRSET,PRINT)

Notes:

Mapsetname is of 1 to 7 characters in length.

DFHMSD macro is used to define a mapset and its characteristics or to end a mapset definition.

Page 58: 145228554-CICS.pdf

DFHMDI Macro

Syntax :

Mapname DFHMDI SIZE=(line,column), x

LINE=number, x

COLUMN=number, x

JUSTIFY=LEFT

Notes:

Mapname is of 1 to 7 characters in length.

DFHMDI macro is used to define a map and its characteristics in a mapset.It can be used often as

you wish within one DFHMSD macro.

Page 59: 145228554-CICS.pdf

DFHMDF Macro

Syntax:

Fieldname DFHMDF POS=(line,column), x

LENGTH=number, x

JUSTIFY=RIGHT, x

INITIAL=Char data, x

ATTRB=(UNPROT|PROT,NUM,FSET,IC)

Notes:

DFHMDF is used to define the fields with attributes.

Page 60: 145228554-CICS.pdf

Modified Data Tag

It is a 1-bit attribute character.

If

MDT is off(0) indicates that the field has not been modified at the

terminal.

MDT is on(1) Indicates that the field has been modified at the terminal

only it is on, the data of the field will be sent by the terminal

to the host program.

Notes:

MDT is a 1 bit attribute character of a BMS field. When it is set on, CICS will transmit the data contained in

the associated map field.

Page 61: 145228554-CICS.pdf

Setting and Resetting MDT

When a user modifies a field MDT will automatically be set to ON(1)

If CNTL=FRSET is specified in the DFHMSD macro or DFHMDI

macro, when the map or mapset is sent to the terminal MDT will

be reset to 0 or OFF for all fields of the map or mapset.

If FSET is specified in the ATTRB option of the DFHMDF

macro, when the map is sent to the terminal, MDT will be set to 1 or

ON for the fields regardless of whether the field has been modified

by the user.

Notes:

When the application program moves the DFHBMFSE to the attribute character of the field

then also MDT in ON state.

Page 62: 145228554-CICS.pdf

Unit 4. Basic CICS Commands

Page 63: 145228554-CICS.pdf

Objectives

RECEIVE MAP

SEND MAP

SEND CONTROL

SEND TEXT

ATTENTION IDENTIFIERS

Page 64: 145228554-CICS.pdf

RECEIVE Command

Syntax :

EXEC CICS RECEIVE

[INTO(data_area) | SET(ptr_ref)]

[LENGTH(data_area) | FLENGTH(data_area)]

[MAXLENGTH(data_value) | MAXFLENGTH(data_value)]

[NOTRUNCATE]

END-EXEC

Notes:

This command will receive data from either a standard CICS terminal (BTAM or TCAM) or from a task that is

not attached to a terminal.

This command is used for all other CICS supported terminals for which there is no other appropriate

RECEIVE descriptions.

For receiving data, you must specify either the INTO or SET option.

Page 65: 145228554-CICS.pdf

SEND Command

Syntax :

EXEC CICS SEND

FROM(data_area)

[LENGTH(data_value) | FLENGTH(data_value)]

[DEST(name)]

[WAIT]

END-EXEC

Notes:

This command will write data to a standard CICS terminal support (BTAM or TCAM).

This command structure may be used by any CICS supported terminals where there does not exist

another specific command for the device type.

Page 66: 145228554-CICS.pdf

SEND MAP Command

Syntax:

EXEC CICS SEND MAP(name)

[MAPSET(name)]

[[FROM(data_area)] [DATAONLY] | MAPONLY]

[LENGTH(data_value)] [CURSOR[(data_value)]]

[FORMATTED]

[ERASE | ERASEUP]

[PRINT]

[FREEKB]

[ALARM]

[FRSET]

END-EXEC

Notes:

This command will transfer the mapped data output to a terminal

DATA ONLY - Data only be send to the terminal

MAP ONLY - Map only be send to the terminal without data.

ERASE - This option will position the cursor in the upper left corner of the screen after erasing

the screen printer buffer or partition.

Page 67: 145228554-CICS.pdf

RECIEVE MAP Command

Syntax:

EXEC CICS RECIEVE MAP(name)

[MAPSET(name)]

[INTO(data_area) SET(ptr_ref)]

[FROM(data_area) [LENGTH(data_value)]

TERMINAL[ASIS]

END-EXEC

Notes:

This command will receive data from the terminal and place the data into an application area in the Program.

MAP defines the name of the map which was defined in the corresponding DFHMDI macro.

MAPSET defines the name of the mapset which was defined in the corresponding DFHMSD macro.

For receiving data, you must specify either the INTO or SET option.

Page 68: 145228554-CICS.pdf

SEND CONTROL Command

Syntax :

EXEC CICS SEND CONTROL

CURSOR(data_value)

[FORMATTED]

[ERASE | ERASEAUP]

[PRINT]

[FREEKB]

[ALARM]

[FRSET]

[MSR(data_value)]

[LDC(name) [OUTPARTN(name)][ACTPARTN(name)]]

END-EXEC

Notes:

This command will send device controls to a terminal without map or text data.

CURSOR defines the relative cursor position in the screen, starting from zero.

Page 69: 145228554-CICS.pdf

SEND TEXT Command

Syntax:

EXEC CICS SEND TEXT

FROM(data_area)

LENGTH(data_value)]

CURSOR(data_value)

[FORMATTED]

[ERASE]

[PRINT]

[FREEKB]

[ALARM]

[NLEOM]

[MSR(data_value)]

[LDC(name) [OUTPARTN(name)][ACTPARTN(name)]]

END-EXEC

Notes:

This command will send text data without any mapping.

For this command, BMS maps are not required.

FROM defines the text body field in the Working Storage Section.

LENGTH indicates the length of the text to be sent.

Page 70: 145228554-CICS.pdf

Attention Identifier

It indicates which method the terminal user has used to initiate the transfer

of information from the terminal to CICS.

PA keys,PF keys, ENTER keys CLEAR key etc. are the AID keys.

DFHAID copy member contains AID codes such as DFHENTER for

ENTER key, DFHCLEAR for CLEAR key,DFHPA1-3 for PA keys and

DFHPF1-24 for PF keys.

Notes:

Attention Identifier (AID) is used by the terminal operator to initiate the transfer of information from

the terminal device to CICS.

The EIBAID field in the EIB contains the AID code of the most recently used AID.

CICS provides the standard AID list in a form of copy library member(DFHAID).

So that a program can use AID keys by specifying in the program:

COPY DFHAID.

Page 71: 145228554-CICS.pdf

Unit 5. CICS Transactions

Page 72: 145228554-CICS.pdf

Objectives

CEDA Transaction.

CECI Transaction.

CEDF Transaction.

CMAC Transaction.

CEMT Transaction

CEOT Transaction.

CESN Transaction.

Page 73: 145228554-CICS.pdf

CICS CICS System

Definition File

(CSD)

Install

DEFINE DEFINE

CEDA

TCT FCT

PPT PCT

DFHCSDUP

Resource Definition Online

Notes:

CICS provides facilities for defining CICS resources and adding them dynamically to a running CICS

System. The benefits of this are:

Increased system programming productivity.

Continuous system operation.

RDO consists of CSD and CEDA.

Page 74: 145228554-CICS.pdf

CEDA Transaction

CEDA Transaction is generally used for defining resources to CICS.

Resources are nothing but the entities that are managed by the CICS system such as:

Terminals

Files (Database)

Programs

BMS maps

Transactions

Queues

Connections to the other systems.

Notes:

Dynamic Addition transaction (CEDA) can perform all the functions of RDO.

Two more Transactions, CEDB and CEDC perform a sub set of the functions of CEDA.

CICS System Definition Utility Program (DFHCSDUP).

Page 75: 145228554-CICS.pdf

Online Resources

RESOURCES

Terminals Files

Terminals

Files(database)

Programs

BMS maps

Transactions

Queues

Connections to other systems.

GROUP Resources for one application.

GROUP RESOURCES

FOR ONE APPLICATION

LIST

Resources for one CILIST

RESOURCES FOR ONE

CICS SESSION

Notes:

GROUP contains resource names. Resources always belong to user defined GROUP, and that

GROUP normally represents all the resources associated with an application.

LIST contains group names. It represents all the applications for a CICS session.

Page 76: 145228554-CICS.pdf

ENTER ONE OF THE FOLL ENTER ONE OF THE FOLLOWING ADd ALter APpend CHeck COpy DEFine DELete DIsplay Expand Install Lock Move REMove REName UNlock USerdefine View SYSID=CE16 APPLID=PYNZ7C1 PF 1 HELP 3 END 6 CRSR 9 MSG 12 CNCL

CEDA Menu

Notes:

This the menu that you get after you key CEDA and press ENTER.

CEDA is a user friendly CICS supplied transaction.

Page 77: 145228554-CICS.pdf

DEF ENTER ONE OF THE FOLLOWING Connection File Lsrpool Mapset PARTItionset PARTNer PROFile PROGram

Sessions

TErminal TRANClass TRANSaction Typeterm SYSID=CE16 APPLID=PYNZ7C1 PF 1 HELP 3 END 6 CRSR 9 MSG 12 CNCL

CEDA DEFINE Menu

Notes:

These are the resources that can be defined using CEDA in CICS/ESA version 4.

Page 78: 145228554-CICS.pdf

DEF PROG OVERTYPE TO MO DEF TRAN OVERTYPE TO MODIFY CICS RELEASE = 0410 CEDA DEFine PROGram( ) PROGram = = > cust01 Group = = > customer DEscription = = > customer address update program Language = = > CObol | Assembler | Le370 | PL1 Rpg RELoad = = > No No | Yes RESident = = > No No | Yes USAge = = > Normal No | Transient USELpacopy = = > No No | Yes Status = = > Enabled Enabled | Disabled RSl : 00 0-24 | Public Cedf = = > Yes Yes | No DAtalacation = = > Below Below | Any EXECKey = = > User User | Cics REMOTE ATTRIBUTES REMOTESystem = = > + REMOTEName = = > SYSID=CE16 APPLID=PYNZ7C1 PF 1 HELP 3 END 6 CRSR 9 MSG 12 CNCL

CEDA DEFINE PROGRAM Menu

Notes :

+ Indicates the there are some more properties associated with the program.

Page 79: 145228554-CICS.pdf

DEF TRAN OVERTYPE TO MO DEF TRAN OVERTYPE TO MODIFY CICS RELEASE = 0410 CEDA DEFine TRANSaction( ) TRANSaction = = > xyz Group = = > customer DEscription = = > customer address update transaction PROGram = = > cust01 TWasize = = > 0000 0-32767 PROFile = = > DFHCICST PArtitionset = = >

STAtus = = > Enabled Enabled | Disabled PRIMedsize = = > 0000 0-65520 TASKDATALoc = = > Below Below | Any TASKDATAKey = = > User User | Cics STOrageclear = = > No No | Yes RUnaway = = > System System | 0-2700000 SHutdown = = > Disabled Disabled | Enabled ISolate = = > Yes Yes | No REMOTE ATTRIBUTES + DYnamic = = > No No | Yes

SYSID=CE16 APPLID=PYNZ7C1

PF 1 HELP 3 END 6 CRSR 9 MSG

12 CNCL

Notes:

Using CEDA we can define the transaction with program.

CEDA DEFINE TRANSACTION Menu

Page 80: 145228554-CICS.pdf

INSTALL OVERTYPE TO MOD INSTALL

OVERTYPE TO MODIFY

CEDA Install

All Connection = = > File = = > Lsrpool = = > Mapset = = > PARTItionset = = > PARTNer = = > PROFile = = > PROGram = = > TClass = = > TErminal = = > TRANSaction = = > TYpeterm = = > Group = = > MTPTRG

SYSID=CE16 APPLID=PYNZ7C1

PF 1 HELP 3 END 6 CRSR 9

MSG 12 CNCL

Notes:

When you have created a group of resource definitions, you need to INSTALL it using CEDA INSTALL

GROUP command. This tells CICS t convert your group on the CSD file into a series of entries to be

dynamically installed in the PCT, PPT, TCT or FCT of the running CICS system.

Groups are supplied containing definitions of resources which CICS itself needs.

CEDA INSTALL Menu

Page 81: 145228554-CICS.pdf

OVERTYPE TO MODIFY OVERTYPE TO MODIFY CICS RELEASE = 0410 CEDA ALter File( SAMPS ) File : SAMPS Group = = > xyz DEscription = = > VSAM PARAMETERS DSNAME = = > ABC.DEF.GHI Password = = > PASSWORD NOT SPECIFIED Lsrpoolid = = > None 1-8 | None DSNSharing = = > Allreqs Allreqs | Modifyreqs STRings = = > 006 1-255 Nsrgroup = = > REMOTE ATTRIBUTES REMOTESystem = = > REMOTEName = = > 1-32767 RECORDSIZE = = > 1-255 Keylength = = > INITIAL STATUS + STAtus = = > Enabled Enabled | Disabled | Unenabled

SYSID=CE16 APPLID=PYNZ7C1

PF 1 HELP 3 END 6 CRSR 9 MSG

12 CNCL

Notes:

Any change you make will not be effective in the CICS system until you have installed the resource.

CEDA ALTER Command Menu

Page 82: 145228554-CICS.pdf

CECI Transaction

The Command Level Interpreter allows you to

Execute CICS commands interactively at a terminal.

Test Commands before writing them in a program.

Generate test data.

Repair files.

Notes:

The Command Level Interpreter or CECI as it is called after its transaction code, is a very useful tool

for programmers.

The Command Interpreter can be useful to the programmer in two ways:

1. It provides an on-line reference to the syntax of the whole of the CICS API.

2. It provides a useful means of interaction with the system.

For example, security permitting, a record corrupted during program testing could be “repaired”

interactively or temporary storage queues could be created or deleted.

Page 83: 145228554-CICS.pdf

STATUS: ENTER ONE OF THE FOLLOWING Abend DEQ Inquire RECeive STARTBr ACquire DISAble ISsue RELease SUspend ADdress DISCard Journal RESEtbr SYncpoint ALlocate DUmp LInk RESYnc Trace ASKtime ENAble LOad RETRieve Unlock ASSign ENDbr Monitor RETUrn Verify BIf ENQ Perform REWrite WAIT BUild ENTer POInt ROute WAITCics CAncel EXtract POP SENd WRITE CHange FEpi POSt SET WRITEQ COLlect FOrmattimePURge SIGNOFf Xctl CONNect FREE PUSh SIGNON CONVerse FREEMain Query SPOOLClose CReate GDs READ SPOOLOpen DELAy GEtmain READNext SPOOLRead DELETE Handle READPrev SPOOLWrite DELETEQ IGnore READQ START

PF 1 HELP 3 END 6 CRSR 9

MSG 12 CNCL

Notes:

CECI is invoked by simply entering the transaction code, CECI, and then a list of all CICS commands will be

displayed on the screen.

The programmer can select from these and can then continue to be prompted to build up a request which may

be syntax checked and executed.

The results of command execution, or any error messages, will be displayed interactively.

CECI Menu

Page 84: 145228554-CICS.pdf

READ FILE ( MAINTEC ) INTO ( &A) RID ( 000030 ) STATUS : COMMAND EXECUTION COMPLETE NAME = EXEC CICS READ File ( ‘MAINTEC’ ) < SYsid ( ) > ( SEt( ) | Into ( ) ) < Length ( +00200 ) > RIdfld ( ‘000030’ ) < Keylength ( ) < GEneric > > < RBa | RRn | DEBRec | DEBKey > < GTeq | Equal > < Update < Token ( ) > > RESPONSE :NORMAL EIBRESP=+0000000000 EIBRESP2=+0000000000 PF 1 HELP 2 HEX 3 END 11 SF

Notes:

Here the task is about to read record with the 000030 from the file MAINTEC.

You will notice from these displays that you can abbreviated the command and the operands, e.g. RID for

RIDFLD, you cannot do this in an application program.

The CECS transaction provides the syntax display only.

CECI READ FILE before execution

Page 85: 145228554-CICS.pdf

READ FILE ( MAINTEC ) INTO ( &A) RID ( 000030 )

STATUS : COMMAND EXECUTION COMPLETE NAME =

EXEC CICS READ

File ( ‘MAINTEC’ )

< SYsid ( ) >

( SEt( )

| Into ( ‘000030..VINAY .. PAI …. C01345604/05/1’….) )

< Length ( +00200 ) >

RIdfld ( ‘000030’ )

< Keylength ( ) < GEneric > >

< RBa | RRn | DEBRec | DEBKey >

< GTeq | Equal >

< Update < Token ( ) > >

RESPONSE :NORMAL EIBRESP=+0000000000 EIBRESP2=+0000000000

PF 1 HELP 2 HEX 3 END 11 SF

Notes:

Here you can see that the command has executed without any error condition occurring, i.e.

Response = Normal.

CECI READ FILE after execution

Page 86: 145228554-CICS.pdf

READ FILE ( MAINTXX ) INTO ( &A) RID ( 000030 )

STATUS : COMMAND EXECUTION COMPLETE NAME =

EXEC CICS READ

File ( ‘MAINTXX’ )

< SYsid ( ) >

( SEt( ) | Into ( ‘ ’ ) )

< Length ( +00000 ) >

RIdfld ( ‘000030’ )

< Keylength ( ) < GEneric > >

< RBa | RRn | DEBRec | DEBKey >

< GTeq | Equal >

< Update < Token ( ) > >

RESPONSE : FILENOTFOUND EIBRESP=+0000000012

EIBRESP2=+0000000001

PF 1 HELP 2 HEX 3 END 11 SF

Notes :

The problem here is that the file MAINTXX has not been defined to CICS and hence it cannot be

accessed.

CECI READ FILE error

Page 87: 145228554-CICS.pdf

CEDF Transaction

CEDF is a very powerful debugging tool to test CICS programs

interactively at a screen.

It can run on 1 or 2 terminal mode.

Displays working-storage section, allows modification of working-

storage.

Displays return codes after each execution.

Notes:

The best way to learn about EDF is to sit down at a terminal and use it to debug a program.

Page 88: 145228554-CICS.pdf

Invoking a CEDF Transaction

At transaction initialization.

At the start of execution of every EXEC CICS command.

At the end of execution of every command.

At program termination.

At normal task termination.

When an ABEND occurs.

Page 89: 145228554-CICS.pdf

TRANSACTION: AA11 PROGRAM: PROGAA11 TASK: 0000044 APPLID: PYNZ7C1 DISPLAY: 00

STATUS: ABOUT TO EXECUTE COMMAND EXEC CICS READ

FILE ( ‘ABC’ ) INTO ( ‘ ‘..) LENGTH (200) RIDFLD (‘000010’) EQUAL NOHANDLE OFFSET:X’000772’ LINE:00206 EIBFN=X’0602’ ENTER : CONTINUE PF1 : UNDEFINED PF2 : SWITCH HEX/CHAR PF3 : UNDEFINED PF4 : SUPPRESS DISPLAYS PF5 : WORKING STORAGE PF6 : USER DISPLAY PF7 : SCROLL BACK PF8 : SCROLL FORWARD PF9 : STOP

CONDITIONS PF10 : PREVIOUS DISPLAY PF11: UNDEFINED PF12 : ABEND USER

TASK Notes:

In these notes are some screens that will give you an idea of the sort of displays you might receive from EDF

in the course of a session.

The exact information displayed will depend upon the point at which execution has been intercepted.

EDF Screen – About to Execute a Command

Page 90: 145228554-CICS.pdf

TRANSACTION: AA11 PROGRAM: PROGAA11 TASK: 0000044 APPLID: PYNZ7C1 DISPLAY: 00

STATUS: PROGRAM INITIATION

EIBTIME = 134728

EIBDATE = 97114

EIBTRNID= ‘AH15’

EIBTASKN= 44

EIBTRMID= ‘2BGZ’

EIBCPOSN = 4

EIBCALEN = 0

EIBAID = X’7D’

EIBFN = X’0000’

EIBRCODE = X’000000000000’

EIBDS = ‘………..’

+ EIBREQID = ‘……….’

ENTER : CURRENT DISPLAY

PF1 : UNDEFINED PF2 : SWITCH HEX/CHAR PF3 : UNDEFINED

PF4 : SUPPRESS DISPLAYS PF5 : WORKING STORAGE PF6 : USER DISPLAY

PF7 : SCROLL BACK PF8 : SCROLL FORWARD PF9 : STOP CONDITIONS

PF10 : PREVIOUS DISPLAY PF11: NEXT DISPLAY PF12 : UNDEFINED

Notes:

EIB will provide information about EIBDATE, EIBCALEN, EIBTIME, and EIBRCODE etc.

EDF Screen – EIB Display

Page 91: 145228554-CICS.pdf

TRANSACTION: AA11 PROGRAM: PROGAA11 TASK: 0000044 APPLID: PYNZ7C1 DISPLAY: 00

STATUS: COMMAND EXECUTION COMPLETE EXEC CICS READ

FILE ( X’D3C1D7C8D6D5C540’ ) INTO ( X‘F0F0F0F0F1F00009C3C8D9C9E2E3C9D5C5000000C90004C8’…..) LENGTH ( X’00C8’ ) RIDFLD ( X‘F0F0F0F0F0F1F0’ ) EQUAL NOHANDLE OFFSET:X’000772’ LINE:00206 EIBFN=X’0602’ RESPONSE: NORMAL EIBRESP=X’00000000’ ENTER : CONTINUE PF1 : UNDEFINED PF2 : SWITCH HEX/CHAR PF3 : UNDEFINED PF4 : SUPPRESS DISPLAYS PF5 : WORKING STORAGE PF6 : USER DISPLAY PF7 : SCROLL BACK PF8 : SCROLL FORWARD PF9 : STOP

CONDITIONS PF10 : PREVIOUS DISPLAY PF11: UNDEFINED PF12 : ABEND USER

TASK

Notes:

By pressing PF2 you will get the output in hex format.

In addition you also get the address in storage of the various fields.

EDF Screen – HEX and Field Address Display

Page 92: 145228554-CICS.pdf

TRANSACTION: AA11 PROGRAM: PROGAA11 TASK: 0000044 APPLID: PYNZ7C1 DISPLAY: 00

STATUS: COMMAND EXECUTION COMPLETE EXEC CICS READ

FILE ( ‘ABC’ ) INTO ( ‘000010…CHRISTY..S..DANIEL…….A00949801/01/1965PRES .’…..) LENGTH ( 200 ) RIDFLD ( ‘000010’ ) EQUAL NOHANDLE OFFSET:X’000772’ LINE:00206 EIBFN=X’0602’ RESPONSE: NORMAL EIBRESP=0 ENTER : CONTINUE PF1 : UNDEFINED PF2 : SWITCH HEX/CHAR PF3 : UNDEFINED PF4 : SUPPRESS DISPLAYS PF5 : WORKING STORAGE PF6 : USER DISPLAY PF7 : SCROLL BACK PF8 : SCROLL FORWARD PF9 : STOP

CONDITIONS PF10 : PREVIOUS DISPLAY PF11: UNDEFINED PF12 : ABEND

USER TASK

EDF Screen – Command Execution Complete

Page 93: 145228554-CICS.pdf

TRANSACTION: AA11 PROGRAM: PROGAA11 TASK: 0000044 APPLID: PYNZ7C1 DISPLAY: 00

STATUS: ABOUT TO EXECUTE COMMAND EXEC CICS SEND MAP

MAP ( ‘MAP1’ ) FROM ( ‘………….%………………………….%…………………..’…..) LENGTH ( 300 ) MAPSET ( ‘MAPSET1’ ) TERMINAL FREEKB ERASE OFFSET:X’000B52’ LINE:00321 EIBFN=X’1804’ ENTER : CONTINUE PF1 : UNDEFINED PF2 : SWITCH HEX/CHAR PF3 : UNDEFINED PF4 : SUPPRESS DISPLAYS PF5 : WORKING STORAGE PF6 : USER DISPLAY PF7 : SCROLL BACK PF8 : SCROLL FORWARD PF9 : STOP

CONDITIONS PF10 : PREVIOUS DISPLAY PF11: UNDEFINED PF12 : ABEND USER

TASK

EDF Screen – About to Execute SEND MAP

Page 94: 145228554-CICS.pdf

TRANSACTION: AA11 PROGRAM: PROGAA11 TASK: 0000044 APPLID: PYNZ7C1 DISPLAY:

00

STATUS: ABOUT TO EXECUTE COMMAND

EXEC CICS SEND MAP

MAP ( ‘MAP1’ )

FROM ( ‘………….%………………………….%…………………..’…..)

LENGTH ( 300 )

MAPSET ( ‘MAPSET1’ )

TERMINAL

FREEKB

ERASE

OFFSET:X’000B52’ LINE:00321 EIBFN=X’1804’

ENTER : CONTINUE

PF1 : UNDEFINED PF2 : SWITCH HEX/CHAR PF3 : UNDEFINED

PF4 : SUPPRESS DISPLAYS PF5 : WORKING STORAGE PF6 : USER DISPLAY

PF7 : SCROLL BACK PF8 : SCROLL FORWARD PF9 : STOP CONDITIONS

PF10 : PREVIOUS DISPLAY PF11: UNDEFINED PF12 : ABEND USER TASK

Notes:

After this command gets executed the next screen displays the working storage contents (Record in storage).

EDF Session – About to Execute SEND MAP

Page 95: 145228554-CICS.pdf

TRANSACTION: AA11 PROGRAM: PROGAA11 TASK: 0000044 APPLID: PYNZ7C1 DISPLAY: 00

STATUS: COMMAND EXECUTION COMPLETE EXEC CICS SEND MAP

MAP ( ‘MAP1’ ) FROM ( ‘………….%………………………….%…………………..’…..) LENGTH ( 300 ) MAPSET ( ‘MAPSET1’ ) TERMINAL FREEKB ERASE OFFSET:X’000B52’ LINE:00321 EIBFN=X’1804’ RESPONSE: NORMAL EIBRESP=0 ENTER : CONTINUE PF1 : UNDEFINED PF2 : SWITCH HEX/CHAR PF3 : UNDEFINED PF4 : SUPPRESS DISPLAYS PF5 : WORKING STORAGE PF6 : USER DISPLAY PF7 : SCROLL BACK PF8 : SCROLL FORWARD PF9 : STOP

CONDITIONS PF10 : PREVIOUS DISPLAY PF11: UNDEFINED F12 : ABEND USER

TASK

EDF Session – Completion of SEND MAP

Page 96: 145228554-CICS.pdf

APPLICATION FORM EMPLOYEE NO.000010 FIRST NAME CHRISTY MIDDLE INIT.S LAST NAME DANIEL WORK DEPT.A00 PHONE NO. 9498 HIRE DATE06/04/1990 JOB CODEPRES AGE23 SEXMALE BIRTH DATE 16/04/1978 SALARY50000.00 BONUS 1000.00 COMMISSION 4000.00 COMMAND => U MESSAGES:

EDF Session – Output of SEND MAP

Page 97: 145228554-CICS.pdf

APPLICATION FORM VALID COMMANDS ARE : U = UPDATE , R = RETRIEVE , C=CANCEL EMPLOYEE NO. FIRST NAME MIDDLE INIT. LAST NAME WORK DEPT. PHONE NO. HIRE DATE JOB CODE AGE SEX BIRTH DATE SALARY BONUS COMMISSION COMMAND => R EMPLOYEE NO =>3352 DFHAC2206 14:12:45 PYNZ7CI Transaction NOTF has failed with abend AEIM. Resource back out was successful.

EDF Session – Output of SEND MAP

Page 98: 145228554-CICS.pdf

TRANSACTION: AA11 PROGRAM: PROGAA11 TASK: 0000044 APPLID: PYNZ7C1 DISPLAY: 00

STATUS: AOUT TO EXECUTE COMMAND EXEC CICS RETURN

MAP ( ‘MAP1’ ) TRANSID (‘XYZ’) COMMAREA ( ‘000010’ ) LENGTH (6) OFFSET:X’00070C’ LINE:00196 EIBFN=X’0E08’ ENTER : CONTINUE PF1 : UNDEFINED PF2 : SWITCH HEX/CHAR PF3 : UNDEFINED PF4 : SUPPRESS DISPLAYS PF5 : WORKING STORAGE PF6 : USER DISPLAY PF7 : SCROLL BACK PF8 : SCROLL FORWARD PF9 : STOP

CONDITIONS PF10 : PREVIOUS DISPLAY PF11: UNDEFINED F12 : ABEND USER

TASK

EDF Session – End of Task

Page 99: 145228554-CICS.pdf

DFHCM01 Display On-line Messages and Codes

Type the required message identifier, then press Enter.

Component ID …… (for example, TC for Terminal Control

FC for File Control, etc.)

This field is required for messages in the form

DFHxxyyyy, Where xx is the component ID.

Message Number ….. AEIM (for example, 1060,5718,or Abend Code

such as ASRA, etc.)

F3=EXIT to CICS

CMAC Transaction

Page 100: 145228554-CICS.pdf

AEIM

EXPLANATION: NOTFND condition not handled.

This is one of a number of abends issued by the EXEC

interface program. Because of their similar characteristics

these abends are described as a group.

See the description of abend AEIA for further details.

F3=Cancel

CMAC ABEND Code Explanation

Page 101: 145228554-CICS.pdf

CEMT Transaction

Functions:

Inquire

Used to inquire on the status of a resource with the option of changing

some of its properties.

Set

This duplicates the facilities of the inquire function but can be used on

non-3270 devices such as the console.

Perform

This is for activities not concerned with the status of a resource e.g.

taking a dump or closing down CICS.

Discard

Used to delete a resource from CICS.

Notes:

CEMT Inquire can be used to find what tasks are currently running in CICS and if necessary selectively purge

them.

Page 102: 145228554-CICS.pdf

STATUS : ENTER ONE OF THE FOLLOWING

Discard

Inquire

Perform

Set

SYSID=CE16 APPLID=PYNZ7C1

PF 1 HELP 3 END 9 MSG

Notes:

To obtain the initial menu just key “CEMT” and press enter.

To obtain a list of the resources that can be inquired upon enter “INQUIRE” or simply “I”.

CEMT Menu

Page 103: 145228554-CICS.pdf

INQUIRE STATUS : ENTER ONE OF THE FOLLOWING OR HIT ENTER FOR DEFAULT AUTInstmodel IRBatch TErminal AUTOinstall IRC TRAnsaction AUXtrace Journalnum TRDumpcode Connection Line TSqueue DEletshipped MODename Volume DLidatabase MONitor VTam DSAs Netname DSName Artner DUmpds PItrace FEConnection PROFile FENode PROGram FEPOol STatistics FEPRopset SYDumpcode FETarget SYStem FIle TAsk Gtftrace TClass INttrace TDqueue

SYSID=CE16 APPLID=PYNZ7C1

PF 1 HELP 3 END

9 MSG

Notes:

In the menu the abbreviation for a resource is shown in uppercase although any number of the leading

Characters is acceptable.

CEMT Inquire Menu

Page 104: 145228554-CICS.pdf

INQUIRE FILE STATUS : RESULTS – OVERTYPE TO MODIFY FIL(DFHCMACD) Vsa Clo Ena Rea Sha Max( 00000000 ) FIL(DFHCSD ) Vsa Clo Une Rea Upd Add Bro Del Sha Dsn(MTPL.CICS. DFHCSD ) Max( 00000000 ) FIL(FILEA ) Vsa Clo Une Rea Upd Add Bro Del Sha Dsn(MTPL.CICS.FILEA ) Max( 00000000 ) FIL(FILEB ) Vsa Clo Une Rea Upd Add Bro Del Sha Dsn(MTPL.CICS.FILEB ) Max( 00000000 ) FIL(FILEC ) Vsa Clo Une Rea Upd Add Bro Del Sha Dsn(MTPL.CICS.FILEC ) Max( 00000000 ) FIL(FILED ) Vsa Clo Une Rea Upd Add Bro Del Sha Dsn(MTPL.CICS.FILED ) Max( 00000000 ) FIL(FILEE ) Vsa Clo Une Rea Upd Add Bro Del Sha Dsn(MTPL.CICS.FILEE ) Max( 00000000 ) FIL(FILEF ) Vsa Clo Une Rea Upd Add Bro Del Sha Dsn(MTPL.CICS.FILEF ) Max( 00000000 )

SYSID=CE16 APPLID=PYNZ7C1

RESPONSE : NORMAL TIME :

12.05.19 DATE : 31.07.97

PF 1 HELP 3 END

9 MSG

Notes:

You can get to this screen more quickly by keying on a blank screen:

CEMT I FILE

Once you are in CEMT you stay in it until you press PF3.

CEMT is a conversational transaction.

CEMT Inquire File

Page 105: 145228554-CICS.pdf

INQUIRE TRAN(M*) STATUS : RESULTS – OVERTYPE TO MODIFY Tra ( MTP1 ) Pri( 255 ) Pro ( PROG1 ) Tcl ( DFHTCL00 ) Ena Pur Tra ( MTP2 ) Pri( 255 ) Pro ( PROG2 ) Tcl ( DFHTCL00 ) Ena Pur Tra ( MTP3 ) Pri( 255 ) Pro ( PROG3 ) Tcl ( DFHTCL00 ) Ena Tra ( MTP4 ) Pri( 255 ) Pro ( PROG4 ) Tcl ( DFHTCL00 ) Ena Tra ( MTP5 ) Pri( 255 ) Pro ( PROG5 ) Tcl ( DFHTCL00 ) Ena Tra ( MTP6 ) Pri( 255 ) Pro ( PROG6 ) Tcl ( DFHTCL00 ) Ena Tra ( MTP7 ) Pri( 255 ) Pro ( PROG7 ) Tcl ( DFHTCL00 ) Ena Pur Tra ( MTP8 ) Pri( 255 ) Pro ( PROG8 ) Tcl ( DFHTCL00 ) Ena Tra ( MTP9 ) Pri( 255 ) Pro ( PROG9 ) Tcl ( DFHTCL00 ) Ena Tra ( MTPA ) Pri( 255 ) Pro ( PROGA ) Tcl ( DFHTCL00 ) Ena Tra ( MTPB ) Pri( 255 ) Pro ( PROGB ) Tcl ( DFHTCL00 ) Ena Tra ( MTPC ) Pri( 255 ) Pro ( PROGC ) Tcl ( DFHTCL00 ) Ena Pur Tra ( MTPD ) Pri( 255 ) Pro ( PROGD ) Tcl ( DFHTCL00 ) Ena Tra ( MTPE ) Pri( 255 ) Pro ( PROGE ) Tcl ( DFHTCL00 ) Ena Pur Tra ( MTPF ) Pri( 255 ) Pro ( PROGF ) Tcl ( DFHTCL00 ) Ena Pur Tra ( MTPG ) Pri( 255 ) Pro ( PROGG ) Tcl ( DFHTCL00 ) Ena Pur Tra ( MTPH ) Pri( 255 ) Pro ( PROGH ) Tcl ( DFHTCL00 ) Ena Pur

SYSID=CE16 APPLID=PYNZ7C1

RESPONSE : NORMAL

TIME : 12.05.19 DATE : 31.07.97

PF 1 HELP 3 END

9 MSG

CEMT Inquire Transaction

Page 106: 145228554-CICS.pdf

INQUIRE PROG (MTP*) STATUS : RESULTS - OVERTYPE TO MODIFY Prog (MTPLPRG) Len (0000000) Ass Pro Ena Pri Res (000) Use (0000000) Any Cex Ful SYSID=CE16

APPLID=PYNZ7C1 RESPONSE : NORMAL TIME : 12.05.19 DATE

: 31.07.97 PF 1 HELP 3 END 9 MSG

CEMT Inquire Program

Page 107: 145228554-CICS.pdf

INQUIRE TRAN(M*) STATUS : RESULTS – OVERTYPE TO MODIFY Tra ( MTP1 ) Pri( 255 ) Pro ( PROG1 ) Tcl ( DFHTCL00 ) Ena Tra ( MTP2 ) Pri( 255 ) Pro ( PROG2 ) Tcl ( DFHTCL00 ) Ena Tra ( MTP3 ) Pri( 255 ) Pro ( PROG3 ) Tcl ( DFHTCL00 ) Ena Tra ( MTP4 ) Pri( 255 ) Pro ( PROG4 ) Tcl ( DFHTCL00 ) Dis Tra ( MTP5 ) Pri( 255 ) Pro ( PROG5 ) Tcl ( DFHTCL00 ) Ena Tra ( MTP6 ) Pri( 255 ) Pro ( PROG6 ) Tcl ( DFHTCL00 ) Ena Tra ( MTP7 ) Pri( 255 ) Pro ( PROG7 ) Tcl ( DFHTCL00 ) Ena Tra ( MTP8 ) Pri( 255 ) Pro ( PROG8 ) Tcl ( DFHTCL00 ) Ena Tra ( MTP9 ) Pri( 255 ) Pro ( PROG9 ) Tcl ( DFHTCL00 ) Ena Tra ( MTPA ) Pri( 255 ) Pro ( PROGA ) Tcl ( DFHTCL00 ) Ena Tra ( MTPB ) Pri( 255 ) Pro ( PROGB ) Tcl ( DFHTCL00 ) Ena Tra ( MTPC ) Pri( 255 ) Pro ( PROGC ) Tcl ( DFHTCL00 ) Ena Tra ( MTPD ) Pri( 255 ) Pro ( PROGD ) Tcl ( DFHTCL00 ) Ena Tra ( MTPE ) Pri( 255 ) Pro ( PROGE ) Tcl ( DFHTCL00 ) Ena Tra ( MTPF ) Pri( 255 ) Pro ( PROGF ) Tcl ( DFHTCL00 ) Ena Tra ( MTPG) Pri( 255 ) Pro ( PROGG ) Tcl ( DFHTCL00 ) Ena Tra ( MTPH) Pri( 255 ) Pro ( PROGH ) Tcl ( DFHTCL00 ) Ena

SYSID=CE16 APPLID=PYNZ7C1

RESPONSE : NORMAL TIME :

12.05.19 DATE : 31.07.97

PF 1 HELP 3 END

9 MSG

Notes:

Suppose you are been asked to disable a transaction MTP4, this can be done by the SET or INQUIRE

facility. Using INQUIRE facility:

First display the transactions using CEMT INQUIRE , then using the skip(or tab) Find the „ena‟ field and

over key it with „dis‟ and press ENTER.

Using SET facility CEMT SET TRANSACTION(MTP4) DISABLED Or CEMT S TRAN(MTP4) D

Changing the Status of a Resource - Before

Page 108: 145228554-CICS.pdf

INQUIRE TRAN(M*) STATUS : RESULTS – OVERTYPE TO MODIFY Tra ( MTP1 ) Pri( 255 ) Pro ( PROG1 ) Tcl ( DFHTCL00 ) Ena Tra ( MTP2 ) Pri( 255 ) Pro ( PROG2 ) Tcl ( DFHTCL00 ) Ena Tra ( MTP3 ) Pri( 255 ) Pro ( PROG3 ) Tcl ( DFHTCL00 ) Ena Tra ( MTP4 ) Pri( 255 ) Pro ( PROG4 ) Tcl ( DFHTCL00 ) Dis NORMAL Tra ( MTP5 ) Pri( 255 ) Pro ( PROG5 ) Tcl ( DFHTCL00 ) Ena Tra ( MTP6 ) Pri( 255 ) Pro ( PROG6 ) Tcl ( DFHTCL00 ) Ena Tra ( MTP7 ) Pri( 255 ) Pro ( PROG7 ) Tcl ( DFHTCL00 ) Ena Tra ( MTP8 ) Pri( 255 ) Pro ( PROG8 ) Tcl ( DFHTCL00 ) Ena Tra ( MTP9 ) Pri( 255 ) Pro ( PROG9 ) Tcl ( DFHTCL00 ) Ena Tra ( MTPA ) Pri( 255 ) Pro ( PROGA ) Tcl ( DFHTCL00 ) Ena Tra ( MTPB ) Pri( 255 ) Pro ( PROGB ) Tcl ( DFHTCL00 ) Ena Tra ( MTPC ) Pri( 255 ) Pro ( PROGC ) Tcl ( DFHTCL00 ) Ena Tra ( MTPD ) Pri( 255 ) Pro ( PROGD ) Tcl ( DFHTCL00 ) Ena Tra ( MTPE ) Pri( 255 ) Pro ( PROGE ) Tcl ( DFHTCL00 ) Ena Tra ( MTPF ) Pri( 255 ) Pro ( PROGF ) Tcl ( DFHTCL00 ) Ena Tra ( MTPG ) Pri( 255 ) Pro ( PROGG ) Tcl ( DFHTCL00 ) Ena + Tra ( MTPH ) Pri( 255 ) Pro ( PROGH ) Tcl ( DFHTCL00 ) Ena

SYSID=CE16 APPLID=PYNZ7C1

RESPONSE : NORMAL TIME :

12.05.19 DATE : 31.07.97

PF 1 HELP 3 END

9 MSG

Notes :

The transaction MTP4 has been disabled.

Changing the Status of a Resource - After

Page 109: 145228554-CICS.pdf

INQUIRE PROG(MTPLA*1)

STATUS : RESULTS – OVERTYPE TO MODIFY Prog ( MTPLAA1 ) Len ( 0000000 ) Cob Pro Ena Pri Ced Res ( 000 ) Use ( 0000000 ) Bel Uex Ful Prog ( MTPLAB1 ) Len ( 0000000 ) Cob Pro Ena Pri Ced Res ( 000 ) Use ( 0000000 ) Bel Uex Ful Prog ( MTPLAC1 ) Len ( 0000000 ) Cob Pro Ena Pri Ced Res ( 000 ) Use ( 0000000 ) Bel Uex Ful Prog ( MTPLAD1 ) Len ( 0000000 ) Cob Pro Ena Pri Ced

Res ( 000 ) Use ( 0000000 ) Bel Uex Ful Prog ( MTPLAE1 ) Len ( 0000000 ) Cob Pro Ena Pri Ced Res ( 000 ) Use ( 0000000 ) Bel Uex Ful Prog ( MTPLAF1 ) Len ( 0000000 ) Cob Pro Ena Pri Ced

Res ( 000 ) Use ( 0000000 ) Bel Uex Ful Prog ( MTPLAG1 ) Len ( 0000000 ) Cob Pro Ena Pri Ced Res ( 000 ) Use ( 0000000 ) Bel Uex Ful Prog ( MTPLAH1 ) Len ( 0000000 ) Cob Pro Ena Pri Ced + Res ( 000 ) Use ( 0000000 ) Bel Uex Ful

SYSID=CE16 APPLID=PYNZ7C1

RESPONSE : NORMAL TIME :

12.05.19 DATE : 31.07.97

PF 1 HELP 3 END MSG

9

Notes : The Processing Program Table (PPT) contains the disk address of each program that has been loaded

since CICS start-up. In a test environment a program will be translated, compiled and link-edited after changes

have been made to the source code, in a production CICS system a bug in an application program may have to

be corrected while CICS is running. If a new version of a program is link-edited whilst CICS is running the

PPT entry for the program must be updated with the new disk address. If it is not done CICS will continue to

use the old version of the program. Using INQUIRE first display the program by CEMT | PROG and then key

the word NEW alongside the entry for the program.

Using SET option you can key the following on a blank screen.

CEMT SET PROG(program-id) NEW

NEW COPYing a Program - Before

Page 110: 145228554-CICS.pdf

INQUIRE PROG(MTPLA*1) STATUS : RESULTS – OVERTYPE TO MODIFY Prog ( MTPLAA1 ) Len ( 0000000 ) Cob Pro Ena Pri Ced Res ( 000 ) Use ( 0000000 ) Bel Uex Ful Prog ( MTPLAB1 ) Len ( 0000000 ) Cob Pro Ena Pri Ced NORMAL Res ( 000 ) Use ( 0000000 ) Bel Uex Ful Prog ( MTPLAC1 ) Len ( 0000000 ) Cob Pro Ena Pri Ced Res ( 000 ) Use ( 0000000 ) Bel Uex Ful Prog ( MTPLAD1 ) Len ( 0000000 ) Cob Pro Ena Pri Ced

Res ( 000 ) Use ( 0000000 ) Bel Uex Ful Prog ( MTPLAE1 ) Len ( 0000000 ) Cob Pro Ena Pri Ced Res ( 000 ) Use ( 0000000 ) Bel Uex Ful Prog ( MTPLAF1 ) Len ( 0000000 ) Cob Pro Ena Pri Ced

Res ( 000 ) Use ( 0000000 ) Bel Uex Ful Prog ( MTPLAG1 ) Len ( 0000000 ) Cob Pro Ena Pri Ced Res ( 000 ) Use ( 0000000 ) Bel Uex Ful Prog ( MTPLAH1 ) Len ( 0000000 ) Cob Pro Ena Pri Ced + Res ( 000 ) Use ( 0000000 ) Bel Uex Ful

SYSID=CE16 APPLID=PYNZ7C1

RESPONSE : NORMAL TIME :

12.05.19 DATE : 31.07.97

PF 1 HELP 3 END

9 MSG

NOTES :

The PPT entry for the MTPLAB1 program has been updated.

NEWCOPY has a disadvantage in that, if the target program is in use, that program is set to status of

DISABLED. An alternative that allows multiple copies of a program to be used at any one time is

PHASEIN.In full screen mode, just substitute PHA for NEW.

NEW COPYing a Program - After

Page 111: 145228554-CICS.pdf

PERFORM STATUS : Enter one of the following DELetshipped DUmp REConnect RESet SEcurity SHUTdown SNap STatistics SYSID=CE16 APPLID=PYNZ7C1 PF 1 HELP 3 END 9 MSG

Notes:

The main function of PERFORM is to shut down CICS, the shutdown is normal unless immediate is specified.

CEMT PERFORM SHUTDOWN

CEMT P SHUT IMM

It is also used to take CICS dumps CEMT PERFORM SNAP

CEMT P SN

It is also used to remove a resource definition from CICS CEMT DISCARD TRAN(MTP1)

Important Notice: Please don‟t try with PERFORM SHUTDOWN option until and unless it is very much required.

CEMT PERFORM Menu

Page 112: 145228554-CICS.pdf

STATUS : RESULTS - OVERTYPE TO MODIFY

Ter ( 2BH1 ) Tra ( CEOT ) Pri ( 000 ) Pag Ins Ati Tti

Net ( PGFS2BH1 ) Acq

CEOT SYNTAX :

< PAgeable | AUtopageable >

< ATi | NOAti >

< TTi | NOTti >

SYSID=CE16 APPLID=PYNZ7C1

RESPONSE : NORMAL TIME : 12.05.19 DATE : 31.07.97

PF 1 HELP 3 END 9 MSG

Notes:

CEOT transaction gives useful information about a terminal and with this transaction an end user can

change the status of their own terminal.

CEOT Operator Transaction

Page 113: 145228554-CICS.pdf

Signon for CICS/ESA Release 4.1.0 APPLID PYNZ7C1

WELCOME TO THE MTPL EDUCATION AND TRAINING CICS SYSTEM

Type your userid and password, then press ENTER :

Userid……….MTPLABC Groupid………

Password……

Language……

New Password……….

DFHCE3520 Please type your userid.

F3 = Exit

Notes:

This is the screen you get to sign-on to CICS.

To sign-off from CICS you have to enter CESF LOGOFF

CESN Sign-on Transaction

Page 114: 145228554-CICS.pdf

Unit 6. Transient Data & Temporary Storage Control

Page 115: 145228554-CICS.pdf

Objectives

Transient Data Control

Types of TDQ’s

Commands related to TDQ’s

Temporary Storage Control

Commands related to TSQ’s

Differences between TDQ and TSQ

Page 116: 145228554-CICS.pdf

Transient Data Control

CICS Transient Data Control Program (TDP) allows a CICS

Transaction to deal with sequential data called Transient Data Files.

A Transient Data File can be used as either an input or an output file but

not both.

The Transient Data is called TDQ (Transient Data Queue) because the

records are put sequentially ( like a queue ).

Control Information of all TDQ’s is registered in DCT.

Notes:

The word “Destination” is used because this sequential data is directed to other transactions.

Each TDQ is identified by a 1 to 4 character identifier called “destination id”.

All destination ids must be registered in the Destination Control Table (DCT).

Page 117: 145228554-CICS.pdf

Types of TDQ’s

There are 2 types of TDQ’s

Intrapartition TDQ

Extrapartition TDQ

Page 118: 145228554-CICS.pdf

Intrapartition TDQ

Intrapartition TDQ is a group of sequential records which are

produced and processed within CICS region.

All Intrapartition TDQ’s are stored in only one physical file in a

CICS region.

An application program can access the record sequentially and the

record will be logically removed from the queue.

Read of an Intrapartition TDQ is destructive.

Notes :

The intrapartition TDQ is used for the various applications such as

Interface among CICS transactions

Automatic Task Initiation (ATI)

Message routing

Message broadcast

Page 119: 145228554-CICS.pdf

Extrapartition TDQ

Extrapartition TDQ is a group of records written sequentially which interfaces between

transactions of the CICS region and the systems outside the CICS region.

Each Extrapartition TDQ is a separate physical file, which means that each file must be

open within the CICS region when it is used by the CICS transaction.

Notes:

In the input Extrapartition TDQ, records are produced by the programs outside of the CICS region

(e.g batch jobs, TSO, PC) to be processed by the CICS transaction as input, where as in the output

Intrapartition TDQ, records are produced by the CICS transactions as output to be processed outside

of CICS.

Page 120: 145228554-CICS.pdf

WRITEQ TD Command

EXEC CICS WRITEQ TD

QUEUE ( name )

FROM ( data_area )

[LENGTH ( data_value )]

[SYSID ( systemname )]

END-EXEC.

Notes :

This command writes data to a transient data queue (TDQ) sequentially.

The transient data queue name is a predefined symbolic destination defined in the DCT (Destination Control

Table).

It should be noted that TD represents Transient Data, If this is omitted, Temporary Storage (TS) will be

assumed.

Page 121: 145228554-CICS.pdf

READQ TD Command

EXEC CICS READQ TD

QUEUE ( name )

INTO ( data_area ) SET ( ptr_ref )]

[LENGTH ( data_value )]

[SYSID ( systemname )]

[NOSUSPEND]

END-EXEC.

Notes :

This command reads from- a transient data queue (TDQ) after which the record is no longer available.

INTO defines the area in the working storage section where data is to be placed.

LENGTH indicates the length of the record.

Page 122: 145228554-CICS.pdf

DELETEQ TD Command

EXEC CICS DELETEQ TD

QUEUE ( name )

[SYSID ( name )]

[NOSUSPEND]

END-EXEC.

Notes:

This command deletes all data from an Intrapartition destination (queue), and releases(deallocates) all storage

associated with the destination.

Once a transient data is processed it should be deleted because the space used is still allocated and therefore

unavailable for use by other CICS users or transactions.

This command can be used on Extrapartition transient data queue.

Page 123: 145228554-CICS.pdf

Temporary Storage Control

CICS Temporary Storage Program (TSP) provides the application program

with an ability to store and retrieve data in a Temporary Storage Queue(TSQ)

TSQ is a queue of stored records which is created and deleted dynamically by

the application programs.

TSQ is identified by queue id and a record in it is identified by a relative position

number called item number.

Read on a TSQ is not destructive.

TSQ can be written in the main storage or auxiliary storage.

TSQ can be accessed by any transaction in the same CICS region.

Notes:

A TSQ is identified by the queue id 1 to 8 characters.

Page 124: 145228554-CICS.pdf

WRITEQ TS Command

EXEC CICS WRITEQ TS

QUEUE ( name )

FROM ( data_area )

[LENGTH ( data_area )]

[NUMITEMS ( data_area ) ITEM ( data_area ) [REWRITE]]

[SYSID ( systemname ) ]

[MAIN | AUXILLARY]

[NOSUSPEND]

END-EXEC.

Notes:

This command writes temporary data (records) in a temporary storage queue in either main or auxiliary storage.

If the write is to a recoverable queue, then after issuing a DELETEQ TS , no WRITEQ TS can be issued until a

sync point has occurred.

A halfword binary field (s9(4)) comp) should be provided to the ITEM parameter to which CICS places the

actual item number of the record written.

Page 125: 145228554-CICS.pdf

READQ TS Command

EXEC CICS READQ TS

QUEUE ( name )

[INTO ( data _area ) | SET ( ptr_ref )]

[LENGTH ( data_area )]

[NUMITEMS ( data_area )]

[ITEM ( data_area ) | NEXT]

[SYSID ( systemname )]

END-EXEC.

Notes:

This command reads data from specified temporary storage queue in main or auxiliary storage.

Item indicates the item number of the record to be read.

Page 126: 145228554-CICS.pdf

DELETEQ TS Command

EXEC CICS DELETEQ TS

QUEUE ( name )

[SYSID ( systemname )]

END-EXEC.

Notes:

This command will delete a temporary storage (TS) queue.

It will delete any data remaining in the TS queue and return all storage used by the TS queue to CICS, which

then can be used by another transaction.

Page 127: 145228554-CICS.pdf

Differences between TDQ and TSQ

TDQS may be used by batch applications i.e. outside the CICS region,

which is not possible with TSQs.

The read in a TDQ is destructive while in a TSQ it is not possible.

Notes:

TSQ names are dynamically defined in the application program while TDQ names must be defined first in the

DCT.

When a TDQ contains a certain number of records (trigger level), a CICS transaction can be automatically

started (ATI), which is not possible with TSQ.

The TDQ is actually a QSAM file. An existing item in a TSQ can be updated while that in a TDQ cannot be

updated.

Records in a TSQ can be read randomly using item number while in TDQ it is not possible, Only sequential

read is possible.

Page 128: 145228554-CICS.pdf

Appendix A:

ABEND Codes Related to Exceptional Conditions

Code Condition Code Condition

AEIA ERROR AE18 TSIOERR

AEID EOF AEI9 MAPFAIL

AEIE EODS AEXL DISABLED

AEIG INBFMH AEYA INVERRTERM

AEIH ENDINPT AEYB INVMPSZ

AEII NONVAL AEYC IGREQID

AEIJ NOSTART AEYE INVLDC

AEIK TERMIDERR AEYG JIDERR

AEIL DSIDERR AEYH QIDERR

AEIM NOTFND AEYJ DSSTAT

AEIN DUPREC AEYK SELNERR

AEIO DUPKEY AEYL FUNCERR

AEIP INVREQ AEYM UNEXPIN

AEIQ IOERR AEYN NOPASSBKRD

AEIR NOSPACE AEYO NOPASSBKWR

AEIS NOTOPEN AEYQ SYSIDERR

AEIT ENDFILE AEYR ISCINVREQ

Page 129: 145228554-CICS.pdf

AEIU ILLOGIC AEYT ENVDEFERR

AEIV LENGERR AEYU IGREQCD

AEIW QZERO AEYV SESSIONERR

AEIZ ITEMERR AEYY NOTALLOC

AEI0 PGMIDERR AEYZ CBIDERR

AEI1 TRANSIDERR AEY1 INVPARTNSET

AEI2 ENDDATA AEY2 INVPARTN

AEI3 INVTSREQ AEY3 PARTNFAIL

Page 130: 145228554-CICS.pdf

Appendix B: Common ABEND Codes

ABMG requested BMS service not included at system generation.

ABMP PA/PF key not defined for page retrieval.

AEY7 resource security check failed.

AEY9 unsupported command issued.

AICA transaction abended as a run away task.

AKCS deadlock timeout encountered.

AKCT read timeout encountered.

ASRA abend due to program interruption.

ASRB abend due to OS abend intercepted by CICS.

Page 131: 145228554-CICS.pdf

Appendix C: Commonly used EIB Information

EIBAID Attention-id (1 byte).

EIBCALEN length of DFHCOMMAREA (S9 (4) COMP).

EIBDATE date when this task started (S9 (4) COMP-3, 000yydd+).

EIBFN function code of the last command (2 bytes).

EIBRCODE response code of the last function (6 bytes).

EIBTASKN task number of this task (S9 (7) COMP-3).

EIBTIME time when this task started (S9 (7) COMP-3, 0hhmmss+).

EIBTRMID terminal-id (1-4 chars).

EIBTRNID transaction-id (1-4 chars).