View
42
Download
10
Category
Tags:
Preview:
Citation preview
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
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…..]
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)
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)
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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
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
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
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.
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
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
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
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
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.
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
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
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
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
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
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
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
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 – Output of SEND MAP
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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).
Recommended