0% found this document useful (0 votes)
9 views131 pages

145228554-CICS

The document provides an introduction to CICS (Customer Information Control System), a well-established online transaction processing system developed by IBM. It outlines the components, management functions, and transaction flow associated with CICS, emphasizing its role as an interface between application programs and the operating system. CICS facilitates real-time data access and management, making it a critical tool for various applications in data communication and handling.

Uploaded by

WILSON
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views131 pages

145228554-CICS

The document provides an introduction to CICS (Customer Information Control System), a well-established online transaction processing system developed by IBM. It outlines the components, management functions, and transaction flow associated with CICS, emphasizing its role as an interface between application programs and the operating system. CICS facilitates real-time data access and management, making it a critical tool for various applications in data communication and handling.

Uploaded by

WILSON
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 131

Unit 1.

Introduction
Overview

 What is CICS

 Why it was developed ?

 CICS Concepts

 Components Of CICS

 CICS Management Functions

 CICS Transaction Flow


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.


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


CICS System Concept
Operating System (MVS/ESA)

Database
Access Data Access Telecommunication Access Method
Method(DL/I,D Method(VSAM,B
B2) DAM)
(VTAM,TCAM,BTAM)

Other
Systems
Data Terminals
Storage

CICS/MVS
System Services Data
Data Communication
Handling Monitoring Functions Functions
Functions
Application Program Services

CICS Application Programs


[COBOL,PL/1,Assembler…..]
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


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.
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.
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.
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.
Monitoring Functions

Provides the function for monitoring the various events within CICS and
the necessary statistics for system fine tuning.
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)


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.
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.
CICS Control Programs and Tables

CICS Control Programs CICS Control Tables


File Control Program(FCP) File Control Table(FCT)
Journal Control Program(JCP)) Journal Control Table(JCT
Task Control Program(TCP) Program Control Table(PCT)
Storage Control Program(SCP)
Terminal Control Program(TCP)) Terminal Control Table(TCT
Transient Data Program(TDP)) Destination Control Table(DCT
Temporary Storage Program(TSP) Temporary Storage Table(TST)
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.
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.
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.
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.
User Application Programs

Terminal Terminal

Control
Task
Control
Inquiry
Application
Program
Program
Control

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.
Basic Mapping Support - Input

Terminal Terminal Basic


Mapping
Support
Control
Task
Control
Inquiry
Application
Program
Program
Control

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.
File Control and Data Base Access

Terminal Terminal Basic File


Mapping Control
Support VSAM
dataset
Control
Task
Control Inquiry
Application
Program
Program
Control

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.
Journal Control

Terminal Terminal Basic File


Mapping Control
Support VSAM
dataset
Control
Task
Control Inquiry Journal
Application Control Log
Program File
Program
Control

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.
Trace Control

Terminal Terminal Basic


Mapping
File
Control VSAM
Support
dataset
Control
Task
Control
Journal
Inquiry Log
Control
Program File
Application
Control Program 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
Dump Control

Terminal Terminal Basic File


Mapping Control
Support VSAM
dataset
Control
Task
Control
Journal
Inquiry Control Log
Program
Application File
Control Program
Trace
Control

Dump
Dump
Control
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.
Temporary Storage Control

Terminal Terminal Basic


Mapping
File
Control VSAM
Support
dataset
Control
Task
Control Journal
Inquiry Control Log
Program Application File
Control Program Trace
Control

Dump
Dump Control Dump
Control File

Temporary
Notes: Storage file
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.
Transient Data Control

Terminal Terminal Basic File


Mapping Control
Support VSAM
dataset
Control
Task
Control
Journal
Inquiry Control Log
Program
Application File
Control Program
Trace
Control

Dump
Transient Dump
Data Control Dump
Control File
Control

Transient Temporary
Data file Storage 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.
Basic Mapping Support - Output

Terminal Terminal Basic File


Mapping Control
Support VSAM
dataset
Control
Task
Control
Journal
Inquiry Control Log
Application File
Program
Control
Program
Trace
Control

Dump
Transient Dump Control Dump
Data Control File
Control

Transient Temporary
Data file Storage 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.
Ending the Transaction

Terminal Terminal Basic File


Mapping Control
Support VSAM
dataset
Control
Task
Control
Journal
Inquiry Control Log
Program
Application File
Control Program
Trace
Control

Dump
Transient Dump Control Dump
Data Control File
Control

Transient Temporary
Data file Storage 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.
INITIALISATION

Terminal Terminal Basic File


Mapping Control
VSAM
Support
dataset
Control
Task TCA
Control
Terminal for
Journal
Control Log
TC
File
Program
Control
Trace
Terminal Control

Dump
Transient Dump
Data Control Dump
Control
Control File

Transient Temporary
Data file Storage file

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.
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.
Unit 2. CICS Concepts
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


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)
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.
Syntax

For COBOL For PL/1 For ASSEMBLER


EXEC CICS EXEC CICS EXEC CICS
…… …… ……
…… …… ……
…… …… ……
END-EXEC. ……; ……

For C For C++


EXEC CICS EXEC CICS
…… ……
…… ……
…… ……
……; ……
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.
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.
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.
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.
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.
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.
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.
Application Program Logical Levels

CICS

Prog A Prog B
XCTL B LINK C
RETURN RETURN

Prog C Prog D
XCTL D LINK XX
RETURN 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.
Execution of CICS Application Program

BMS Mapset COBOL Source


Source Program
Translator
Listing
Application Assembler Translator
Listing

Translated
Source Program
Physical Symbolic Compiler
Map Map Listing
Compiler

Link-editor Object
Module

Load Link-editor
Module

Load
Module
Notes:
If an Application program has embedded SQL statements we have to precompile before going to
translation.
Unit 3. MAPS
Objectives

 Objectives of BMS

 BMS Maps

 Map Fields

 Modified Data Tag


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


Types of Maps

PHYSICAL MAP MAP DEFINITION


MACROS
SYMBOLIC MAP

ASSEMBLER ASSEMBLER

LINK EDIT

Physical Symbolic
map map

LOAD COPY
LIBRARY LIBRARY
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.
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.
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.
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.
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.
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 .
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.
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.
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.
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.
Unit 4. Basic CICS Commands
Objectives

 RECEIVE MAP

 SEND MAP

 SEND CONTROL

 SEND TEXT

 ATTENTION IDENTIFIERS


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.
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.
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.
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.
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.
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.
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.
Unit 5. CICS Transactions
Objectives

CEDA Transaction.

CECI Transaction.

CEDF Transaction.

CMAC Transaction.

CEMT Transaction

CEOT Transaction.

CESN Transaction.
Resource Definition Online
CICS CICS System
Definition File

(CSD)

TCT FCT
Install
PPT PCT
DEFINE DEFINE

DFHCSDUP
CEDA

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.
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).
Online Resources
RESOURCES

Terminals Files
Terminals
Files(database)
Programs
BMS maps GROUP
Resources for one application.
Transactions
GROUP RESOURCES
Queues FOR ONE APPLICATION
Connections to other systems.

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.
CEDA Menu

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

Notes:
This the menu that you get after you key CEDA and press ENTER.
CEDA is a user friendly CICS supplied transaction.
CEDA DEFINE Menu

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

Notes:
These are the resources that can be defined using CEDA in CICS/ESA version 4.
CEDA DEFINE PROGRAM Menu

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

Notes :
+ Indicates the there are some more properties associated with the program.
CEDA DEFINE TRANSACTION Menu

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 INSTALL Menu

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 ALTER Command Menu

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.
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.
CECI Menu

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 READ FILE before execution

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 after execution

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 error

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


EDF Screen – About to Execute a Command

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 – EIB Display

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 – HEX and Field Address Display

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 – Command Execution Complete

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 – About to Execute SEND MAP

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 Session – About to Execute SEND MAP

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 – Completion of SEND MAP

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 – Output of SEND MAP

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

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 – End of Task

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
CMAC Transaction

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 ABEND Code Explanation

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
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.
CEMT Menu

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 Inquire Menu

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 File

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 Transaction

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 Program

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
Changing the Status of a Resource - Before
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 - After

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.
NEW COPYing a Program - Before
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 - After

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.
CEMT PERFORM Menu

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.
CEOT Operator Transaction

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.
CESN Sign-on Transaction

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
Unit 6. Transient Data & Temporary Storage Control
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


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).
Types of TDQ’s

There are 2 types of TDQ’s

 Intrapartition TDQ

 Extrapartition TDQ


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


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.


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


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


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

You might also like