What is CICS?
CICS (Customer Information Control System) is a transaction server that runs primarily
on IBM mainframe systems under z/OS and z/VSE.
CICS is a transaction manager designed for rapid, high-volume online processing.
This processing is mostly interactive (screen-oriented), but background transactions
While CICS has its highest profile among financial institutions such as banks and
insurance companies, over 90 percent of Fortune 500 companies are reported to rely
on CICS (running on z/OS) for their core business functions, beside many governments.
CICS is used in bank-teller applications, ATM systems, industrial production control
systems, insurance applications and many other types of interactive application.
Recent CICS Transaction Server enhancements include support for Web services and
Enterprise Java Beans (EJBs). IBM began shipping the latest release, CICS Transaction
Server - Version 3.2, in June of 2007.
Kindly specify the PIC clause for the following:
Any BLL Cell, Data type of Length Option field, HHMMSS type of data fields?
Any BLL Cell -S9(8) COMP
Data type of length Option field - S9(4) COMP
HHMMSS type of data fields - S9(7) COMP 3
List the sequence of steps used to achieve Modiication in Skip Sequential Mode?
List the sequence of steps used to achieve "Modiication in Skip Sequential
I. READNEXT command
II. Issue the ENDBR command
II. Issue the READ command with UDATE option.
IV. Manipulate the record ( DELETE or REWRITE command)
V. Issue START command
VI. Isusue two READNEXT commands (One for dummy skip)
VII. Go to step two.
are the commands used to gain exclusive control over a resource?
What are the commands used to gain
exclusive control over a resource
(for Ex a Temporary storage queue.)?
EXEC CICS ENQ EXEC CICS DEQ
Mention the 5 fields available in the symbolic map for every NAMED field in the
DFHMDI macro? Give a brief description of these fields (Not exceeding a line).?
FIELD+L - Return the length of text entered (or for dymanic cursor positioning)
FIELD+F - Return X(80) if data entered but erased.
FIELD+A - Used for attributes reading and setting
FIELD+I - Used for reading the text entered while receiving the map.
FIELD+O - Used for sending information on to the MAP.
How do you intitiate another transaction?
The transaction initiated should be in a position to retrieve information pertaining
to which transaction has initiated it and from which terminal. (Code the required
EXEC CICS START
EXEC CICS RETRIEVE
What is the CICS command used to access current date and time?
How do you terminate an already issued DELAY command?
EXEC CICS CANCEL
Which option of the PCT entry is used to specify the PF key to be pressed for initiating
Mention the option used in the CICS READ command to gain accessibility directly
to the file I/O area. (Assume COBOL-II).?
SET(ADDRESS OF LINKAGE-AREA).
How do you establish a starting position in a browse operation?
EXEC CICS STARTBR ---- END-EXEC.
What is the CICS command that gives the length of TWA area?
EXEC CICS ASSIGN
do you set the MDT option to ON status, even if data is not entered?
Mention FSET option in DFHMDF or set it dynamically in the program using FIELD+A
How do you dynamically set the CURSOR position to a specific field?
MOVE-1 to FIELD + L field. Mention CURSOR option in the SEND command.
Specify the CICS command used to read a VSAM record starting with prefix F. Code
all the relevant options?
EXEC CICS READ
Which command is used to release a record on which exclusive control is gained?
EXEC CICS UNLOCK END-EXEC.
What is the option specified in the read operation to gain multiple concurrent operations
on the same dataset?
What are the attribute values of Skipper and Stopper fields?
Specify CICS transaction initiation process. ( From the perspective of CICS control
programs and control tables.)?
TCP places data in TIOA and corresponding entry into TCT.
KCP acquires the transaction identifier from TIOA and verifies if it is present
SCP acquires Storage in Task Control Area (TCA), in which KCP prepares control data
for the task.
KCP then loads the application programs mentioned in PCT by looking for it in PPT.
If resident - real storage memory location is not present in the PPT the control
is passed to PCP that loads the application program from the physical storage location
address given in PPT. The control is then passed to the application program (LOAD
Specify the requirements for Automatic Task Initiation. (Mention the control table,
it is entries and the corresponding Procedure division CICS command).?
DFHDCT TYPE = INTRA,
DESTIN = MSGS,
TRANSID = MSW1,
TRIGLEV = 1000
EXEC CICS WRITEQ TD
What is the EIB parameter and the CICS command used to implement Pseudo-Conversational
technique using single PCT - Single PPT entry?
EIBCALEN - To check if COMMAREA has been passed in terurn command.
EXEC CICS RETURN
What are the two ways of breaking a CPU bound process to allow other task to gain
access to CPU?
EXEC CICS DELAY EXEC CICS DELAY
Mention the option (along with argument type) used in a CICS command to retrieve
the response code after execution of the command?
RESP( S9(8) COM. )
Into what fields will the date and time values be moved after execution of the above
EIBDATE and EIBTIME.
What are the six different type of argument values in COBOL that can be placed in
various options of a CICS command?
. Data Value - EX (Literal 8 or 77 KEYLEN PIC S9(4) COMP VALUE8.)
. Data Area - EX (01 RECORD-AREA. 05 FIELD PIC X(5).)
. Pointer-REF -EX (05 POINTER-I PIC S9(8( COMP.) . Name -EX (05 FIELD-NAME PIC X(5)
. Label - Cobol paragraph name
. HHMMSS - EX (77 TIMEVAL PIC S9(7) COMP3. )
What is the purpose of the Program List Table?
The Program List Table records the set of application programs that will be executed
automatically at CICS start-up time
What is the function of the CICS translator?
The CICS translator convert the EXEC CICS commands into call statements for a specific
programming language. There are CICS translator for Assembler, COBOL, and PL/1.
What does Pseudo Conversational mean?
The programming technique in which the task will not wait for the end-user replies
on the terminal. Terminating the task every time the application needs a response
from the user and specifying the next transaction to be started when the end user
press any attention key ( (Enter, PF1 trough PF24, PF24, PA1, PA2 and clear) is
Code the related portions of CICS/COBOL-I
programs to gain addressability to TWA area assigned to a particular task. Assme
that the size of TWA area is 300 bytes. What are the advantages if COBOL-II is used
in the place of COBOL?
Code the above requirement in COBOL-II.
AN: LINKAGE SECTION.
02 FILLER PIC S9(8) COMP.
02 TWA-PTR S(98) COMP.
02 DATA-AREA PIC x(300)
EXEC CICS ADDRESS
SERVISE RELOAD TWA-DATA-LAYOUT.
05 DATA-AREA PIC X(300).
EXEC CICS ADDRESS
TWA(ADDRESS OF TWA-DATA-LAYOUT)
How and where is the TWA size set?
TWASIZE=300 in PCT table.
What is the most common way of building queue-id of a TSQ?
(Name the constituents of the Queue ID).
What option is specified in the SEND command to send only the unnamed fields on
to the screen?
What is the COMMAREA (communications area)?
This is the area of main storage designed to let programs or task communicate with
one another. used in programs via RETURN, XCTL and LINK commands.
How many conditions can you include in a single HANDLE CONDITION command?
No more than 16 in a single handle condition. If you need more, then you must code
another HANDLE CONDITION command.
Explain how to handle exceptional conditions in CICS?
An abnormal situation during execution of a CICS command is called an exceptional
1. Handle Condition Command: It is used to transfer control to the procedure label
specified if the exceptional condition specified occurs.
2. Ignore Condition Command: It causes no action to be taken if the condition specified
occurs in the program. That is control will be returned to the next instruction
following the command which encountered the exceptional condition.
3. No Handle Option: This option can be specified in any CICS command and it will
cause no action to be taken for any exceptional condition occurring during execution
of this command.
4. RESP Option: This option can be specified in any CICS command. If the RESP option
is specified in a command, CICS places a response code at a completion of the command.
The application program can check this code, then proceed to the next processing.
What information can be obtained from the EIBRCODE?
The EIBRCODE tells the application program if the last CICS command was executed
successfully and, if not, why not.
What is EIB, How is can be used?
CICS automatically provides some system-related information to each task in a form
of EXEC interface BLOCK (EIB), which is unique to the CICS command level. We can
use all the fields of EIB in our application programs right away.
What CICS command do you need to obtain the user logon-id?
You must code EXEC CICS ASSIGN with the OPENID option.
What are the differences between and EXEC CICS XCTL and an EXEC CICS LINK command?
The XCTL command transfer control to an application program at the same logical
level ( do not expect to control back), while the lINK command passes control to
an application program at the next logical level and expects controal back.
How is addressability achieved to the data outside programs working storage?
The Base Locator for Linkage (BLL) is an addressing convention used to address storage
outside the Working Storage Section of an application program. If BLL is used for
the input commands (e.g.: READ, RECEIVE), it will improve the performance, since
the program would be accessing directly the input buffer outside of the program.
In order to work as intended, the program must construct BLL based on the following
1. The parameter list must be defined by means of a 01 level data definition in
the Linkage Section as the first area definition to the Linkage Section, unless
a communication area is being passed to the program, in which case DFHCOMMAREA must
be defined first. The parameter list consists of a group of the address pointers,
each of which is defined as the full word binary field ( S9(8) COMP). This is called
the BLL cells.
2. The parameter list is following by a group of 01 level data definitions, which
would be the actual data areas. The first address pointer of the parameter list
is set up by CICS for addressing the parameter list itself. From the second address
pointer onward, there is a one-to-one correspondence between the address pointer
of the parameter list and 01 level data definitions.
3. VS COBOL II provides CICS application programs with a significant improvements
in the area of addressability through the specifial ADDRESS register. Therefore,
if an application program is written in VS COBOL II, the program is no longer requires
building the B
Explain re-entrancy as applies to CICS?
Reentrant program is 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 task including OS tasks of the
same program. It is also called a "reenterable" program or "serially
A quasi-reentrant program is a reentrant program under the CICS enviroment. That
is, the quasi-reentrant program is a CICS program which does not modify itself.
That way it can reenter to itself and continue processing after an interruption
by CICS which, during the interruption executes other tasks inluding CICS tasks
of the same program. In order to maintain the quasi- reentrancy, a CICS application
program must follow the follow convention:
Constants in Working Storage: The quasi-reentrant program defines only constants
in its ordinary data area (e.g. working Storage Section). These constants will never
be modified and shared by the tasks
Variable in Dynamic Working Storage: The quasi reentrant program acquires a unique
storage area ( called Dynamic Working Storage - DWS) dynamically for each task by
issuing the CICS macro equivalent GETMAIN. All variables will be placed in this
DWS for each task. All counter would have to be initialized after the DWS has been
What happens when a CICS command contains the NOHANDLE option?
No action is going to be taken for any exceptional conditional occurring during
the execution of this command. the abnormal condition that occurred will be ignored
even if an EXEC CICS HANDLE condition exist. It has the same effect as the EXEC
CICS IGNORE condition except that it will not cancel the previous HANDLE CONDTION
for any other command.
What is the EXEC CICS HANDLE ABEND?
It allows the establishing of an exit so cleanup processing can be done in the event
of abnormal task termination.
Explain the various ways data can be passed between CICS programs?
Data can be passed between CICS programs in three ways- COMMAREA, TRANSIENT DATA
QUEUE $ TEMPORARY STORAGE QUEUE.
Data can be passed to a called program using the COMMAREA option of the LINK or
XCTL command in a calling program. The called program may alter the data content
of COMMAREA and the changes will be available to the calling program after the RETURN
command is issued in the called program. This implies that the called program does
not have to specify the COMMAREA option in the RETURN command.
If the COMMAREA is used in the calling program, the area must be defined in the
Working Storage Section of the program (calling), whereas, in the called program,
the area must be defined as the first area in the Linkage Section . using reserved
What are the CICS commands available for program control?
The following commands are available for the Program Control services:
1. LINK: To pass control to another program at the lower level, expectiong to be
2. XCTL: To pass control to another program at the same level, not expecting to
3. RETURN: To return to the next higher-level program or CICS.
4. LOAD: to load a program
5. RELEASE: To release a program.
When a task suspends all the handle conditions via the PUSH command, how does the
task reactivate all the handle conditions?
By coding an EXEC CICS POP HANDLE command
What is the difference between EXEC CICS HANDLE CONDTION and an EXEC CICS IGNORE
HANDLE CONDTION command creates a "go-to" environment. An IGNORE command
does not create a go-to environment: instead. it gives control back to the next
sequential instruction following the command causing the condition. They are opposites.
What is the function of the EXEC CICS HANDLE CONDITION command?
To specify the paragrph or program label to which control is to be passed if the
"handle conditin" occurs.
What is the effect of including the TRANSID in the EXEC CICS RETURN command?
The next time the end user presses an attention key, CICS will start the transaction
specified in the TRANSID option.
What is some of the information available in the EIB area?
I. The cursor position in the map
II. Transaction ID
III. Terminal ID
IV. Task Number
V. Length of communication area
VI. Current date and time
VII. Attention identifier