Customer Information Control System(CICS)

IBM’s Customer Information Control System (CICS) is an on-line teleprocessing system developed by IBM. By providing a sophisticated control and service database/data communication system, the application developer can concentrate on fulfilling specific business needs rather than on communication and internal system details. CICS allows data to be transmitted from the terminal to the host computer, have the data processed, access files/databases, and then have data to be transmitted from the terminal to the host computer, have the data processed, access files/databases, and then have data transmitted back to the terminal. To accomplish that, CICS uses a telecommunication package such as VTAM or TCAM and various file access methods: VSAM, DL/1, DB2, etc.

The latest release CICS/ESA is Release 3.3.

Some of the new functionality includes:

1. Expanded features for the system programmer
2. Improved above the line storage utilization
3. New options for many CICS commands
4. Improved cross-platform communication facilities

Functionality

CICS provides the following support:

Data Communications

 An interface between the terminal and printers with CICS via a telecommunication access method (TCAM or VTAM).

 Multi Region Operation(MRO), through which more than one CICS region of a system can communicate

 Intersystem Communication (ISC), through which one CICS region of a system can communicate with other CICS regions in other systems

Application Programming

 Interfaces with programming languages such as COBOL and Assembler

 Command level translator

 An Execution Diagnostic Facility (EDF)

 A Command Interpreter

Data Handling

 An interface with database access methods such as DB2, DL/1, and VSAM

 An interface with error checking and reporting facilities

Terminology:

CICS has its own language. Some of the language abbreviations of CICS are:

SIT System Initialization Table
PCT Program Control Table
PPT Program Processing Table
TCT Terminal Control Table
FCT File Control Table
TCP Terminal Control Program
TCTUA Terminal Control Terminal User Area
DCT Destination Control Table
TDQ Transient Data Queue
EIP Execution Interface Program
FCP File Control Program
ICP Interval Control Program
KCT Task Control Program
PCP Program Control Program
SCP Storage Control Program
TCA Task Control Area
TCTTE Terminal Control Table Terminal Entry
TSQ Temporary Storage Queue
TWA Task Work Area
AID Attention Identifier
CWA Common Work Area
MRO Multi Region Operation
QID Queue Identifier

Q1) What are the six different types of argument values in COBOL that can be placed in various options of a CICS command?
A1)
 Data Value – EX (Literal 8 or 77 KEYLEN PIC S9(4) COMP VALUE 8.)
 Data Area – EX (01 RECORD-AREA.
05 FIELD1 PIC X(5). )
 Pointer-Ref – EX (05 POINTER-I PIC S9(8) COMP. )
 Name – EX (05 FILE-NAME PIC X(5) VALUE ‘FILEA’. )
 Label – Cobol paragraph name
 HHMMSS – EX (77 TIMEVAL PIC S9(7) COMP3. )

Q2) Kindly specify the PIC clause for the following
Any BLL Cell, Data type of Length Option field, HHMMSS type of data fields
A2) Any BLL Cell – S9(8) COMP
Data type of Length Option field – S9(4) COMP
HHMMSS type of data fields – S9(7) COMP3

Q3) Specify CICS transaction initiation process. (From the perspective of CICS control programs and control tables.)
A3) TCP places data in TIOA and corresponding entry into TCT.
KCP acquires the transaction identifier from TIOA and verifies if it is present in PCT.
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 programs from the physical storage location address given in PPT. The control is then passed to the application program (LOAD module).

Q4) List the sequence of steps used to achieve “Modification in Skip Sequential Mode.”
A4)
I. READNEXT command
II. Issue the ENDBR command
III. Issue the READ command with UDTAE option.
IV. Manipulate the record (DELETE or REWRITE command)
V. Issue START command
VI. Issue two READNEXT commands (One for dummy skip)
VII. Go to step two.

Q5) Specify the requirements for Automatic Task Initiation. (Mention the control table, it’s entries and the corresponding Procedure division CICS command).
A5) DFHDCT TYPE=INTRA,
DESTID=MSGS,
TRANSID=MSW1,
TRIGLEV=1000

EXEC CICS WRITEQ TD
QUEUE(‘MSGS’),
FROM(DATA-AREA),
LENGTH(MSG_LEN)
END-EXEC.

Q6) What are the commands used to gain exclusive control over a resource (for Ex a Temporary storage queue.)?
A6) EXEC CICS ENQ EXEC CICS DEQ
RESOURCE(QID) RESOURCE(QID)
END-EXEC END-EXEC

Q7) What is the EIB parameter and the CICS command used to implement Pseudo-Conversational technique using single PCT – Single PPT entry?
A7) EIBCALEN – To check if COMMAREA has been passed in terurn command.
EXEC CICS RETURN
TRANSID(data-name)
COMMAREA(data-area)
LENGTH(data-value)
END-EXEC

Q8) 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).
A8) FIELD+L - Return the length of text entered (or for dymanic cursor positioing)
FIELD+F - Returns 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.

Q9) What are the two ways of breaking a CPU bound process to allow other tasks to gain access to CPU.
A9) EXEC CICS DELAY EXEC CICS DELAY
INTERVAL(hhmmss) TIME(hhmmss)
END-EXEC END-EXEC

POST and WAIT commands also achieve the same result.

Q10) How do you initiate 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 CICS
commands)
A10) EXEC CICS START
INTERVAL(hhmmss)/TIME(hhmmss)
TRANSID(‘TRAN’)
TERMID(‘TRM1)
FROM(data-area)
LENGTH(data-value)
RTRANSID(EIBTRNID)
RTERMID(EIBTRMID)
END-EXEC

EXEC CICS RETRIEVE
INTO(data-area)
LENGTH(data-value)
RTRANSID(data-name)
RTERMID(data-name)
END-EXEC

Q11) Mention the option (along with argument type) used in a CICS command to retrieve the response code after
execution of the command.
A11) RESP( S9(8) COM.)

Q12) What’s the CICS command used to access current date and time?
A12) ASKTIME.

Q13) Into what fields will the date and time values be moved after execution of the above command?
A13) EIBDATE & EIBTIME.

Q14) How do you terminate an already issued DELAY command?
A14) EXEC CICS CANCEL
REQID(id)
END-EXEC

Q15) How do you dynamically set the CURSOR position to a specific field?
A15) MOVE –1 to FIELD+L field. Mention CURSOR option in the SEND command.

Q16) Which option of the PCT entry is used to specify the PF key to be pressed for initiating a transaction?
A16) TASKREQ=PF1

Q17) Specify the CICS command used to read a VSAM record starting with prefix “F”. Code all the relevant options.
A17) EXEC CICS READ
DATASET(‘FILENAME’)
INTO(data-area)
RIDFLD(data-area)
KEYLENGTH(1)
GENERIC
LENGTH(WK-LEN)
END-EXEC.

Q18) Mention the option used in the CICS READ command to gain accessibility directly to the file I/O area. (Assume
COBOL-II).
A18) SET(ADDRESS OF LINKAGE-AREA).

Q19) Which command is used to release a record on which exclusive control is gained?
A19) EXEC CICS UNLOCK END-EXEC.

Q20) How do you establish a starting position in a browse operation?
A20) EXEC CICS STARTBR---------- END-EXEC.


Q21) What is the option specified in the read operation to gain multiple concurrent operations on the same dataset?
A21) REQID(value).

Q22) What is the CICS command that gives the length of TWA area?
A22) EXEC CICS ASSIGN
TWALENG(data-value)
END-EXEC.

Q23) What are the attribute values of Skipper and Stopper fields?
A23) ASKIP, PROT.

Q24) How do you set the MDT option to ‘ON’ status, even if data is not entered?
A24) Mention FSET option in DFHMDF or set it dynamically in the program using FIELD+A attribute field.

Q25) What option is specified in the SEND command to send only the unnamed fields on to the screen?
A25) MAPONLY_______________.

Q26) Which CICS service transaction is used to gain accessibility to CICS control tables? Mention the one that has
the highest priority.
A26) CEDA

Q27) What is the most common way of building queue-id of a TSQ? (Name the constituents of the Queue ID).
A27) TERMID+TRANSACTION-ID.

Q28) Into which table is the terminal id registered?
A28) TCT.

Q29) How and where is the TWA size set? .
A29) TWASIZE=300 in PCT table.

Q30) Which transient data queue supports ATI?
A30) INTRA-PARTITION Data queue.