Top 70+ Most Asked CICS Interview Questions and Answers
1) What is the full form of the term CICS? Why is it used?
The term CICS is an acronym that stands for Customer Information Control System. This is a type of system control software that controls all the online transactions of the management of IBM and also monitors telecommunications from IBM. The mainframe operating systems of IBM are time-sharing and batch. CICS is a type of processing mainly initiated by using a single request that can also affect one or more objects. The CICS was founded in the year 1969.
2) What is PPT in the CICS? What does it contain?
PPT is an acronym that stands for Processing Programming Table. In the CICS, PPT contains important information like a program’s name, Mapset names, task use counter, language, size, the main storage address, map, etc.
3) What is the primary aspect of CICS?
CICS is mainly used to deal with the execution and development of online applications. The primary aspect of CICS is to provide great accessibility to the database along with the files within the database. It provides a communication channel through the terminal and makes the sending and receiving of formatted data easy.
4) What is the requirement of an Integrated CICS translator?
The Integrated CICS translator is mainly used for the following reasons:
- If you have to work with a COBOL compiler, you will need it. It works with the Integrated CICS translator when we use it Fromcompiler option.
- When the compiler faces CICS statements in the source program, it interfaces with the integrated CICS translator.
- After that, the translator takes action on the CICS statements and goes back to the compiler to show what native language statements to generate.
- In Integrated Translator, there is no restriction as compared to Separate Translator.
- It can also handle native COBOL and embedded CICS statements in the Source Program.
5) What is the priority of CICS jobs in an operating system?
CICS is called a batch job itself and runs on high priority in the operating system.
6) Which CICS command is used to access the current date and time?
The ASKTIME CICS command is used to access the current date and time.
7) What is the difference between call and link in CICS?
The main difference between call and link in CICS is that in the case of a call, whenever we make changes to the called program, we also need to compile the calling program. In the case of a link, it is not required.
8) What do you understand by TCT and RCT in CICS?
The terms TCT and RCT are both used in CICS. TCT is an acronym that stands for Terminal Control Table. It is a compilation of all the respective terminals. On the other hand, RCT stands for Resource Control Table, and it is a compilation of plan names of DB2 along with the transaction identifiers.
9) What are the attribute values of Skipper and Stopper fields?
We can use ASKIP for the attribute value of the Skipper field, and for the stopper field, we can use PROT.
10) What is the difference between PCT and FCT?
In CICS, PCT is an acronym that stands for Program Control Table. It consists of a complete list of transaction identifiers paired to respective corresponding programs. On the other hand, FCT is also an acronym for File Control Table. It consists of a complete list of all the files that have been used by CICS, along with their status and record length.
11) Which command is used to release a record on which exclusive control is gained?
The EXEC CICS UNLOCK END-EXEC command is used to release a record on which exclusive control is gained.
12) What is the difference between START and XCTL?
START is a command used to start a new task. It is an interval control command. On the other hand, XCTL is a command used to pass control to a program within the same task. It is a program control command.
13) What are the BMS options used in CICS?
The BMS options used in CICS are: Minimum, Standard, and Full.
14) How can you set the MDT option to ‘ON’ status, even if data is not entered?
We can set the MDT option to ‘ON’ status, even if data is not entered, by mentioning the FSET option in DFHMDF or set it dynamically in the program using the FIELD+A attribute field.
15) What do you understand by a CICS task?
A CICS task is a process of one-time execution of a certain CICS transaction. This process starts when we enter a key into the transaction and press the enter key button. The execution process continues until the program returns the control to CICS.
16) What is the use of the EXEC CICS HANDLE CONDITION command?
The EXEC CICS HANDLE CONDITION command specifies the paragraph or program label to which the control is to be passed if the “handle condition” occurs.
17) What are the different important programs used in the CICS?
Following is a list of some important programs used in the CICS:
18) What do you understand by CEMT?
CEMT is an acronym that stands for CICS Execute Master Terminal. It is an ID for system transactions and is mainly used to inquire and update the status of CICS environments and other system operations. We can easily manage transactions, tasks, files, programs, etc., and can also change the status of the resources. We can see all possible options by typing CEMT and pressing ENTER.
19) What do you understand by the term BMS in CICS?
BMS is an acronym that stands for Basic Mapping Support. CICS provides BMS to define and format the screen. The screen defined by using the BMS is called the MAP. The collections of all the screens are called the Mapset.
20) What are the most important control programs in CICS?
They provide unique advantages and make the CICS system highly flexible and maintainable.
Following is the list of most important control programs of CICS:
TCP is an acronym that stands for the Terminal Control Program. It is used to receive all the terminals’ messages and request the CISC to initiate or start a specific task. It is also used to maintain the hardware communication requirements.
KCP is called Task Control Program. It is used to control the execution of tasks and their related properties simultaneously. It is also used to handle all the issues related to multi-tasking.
PCP is an acronym that stands for Program Control Program. It is used to locate and load programs for execution. It is also used to transfer the control between programs, and in the end, it returns the control to the CICS.
FCP is an acronym that stands for File Control Program. It provides application programs with services like reading, inserting, updating, or deleting records in a file. It also keeps exclusive control over the records to maintain data integrity during record updates.
SCP is an acronym that stands for Storage Control Program. It controls the allocation and de-allocation of storage within a CICS region.
21) What are some important control tables in CICS?
CICS has some IBM-supplied CICS control tables that need to be updated accordingly with the application information for the successful execution of CICS application programs.
Following is a list of some important control tables:
TCT is an acronym that stands for Terminal Control Table. When we log in to a CICS terminal, we have to enter the TCT table. This table contains the terminal IDs that are connected to the current CICS region. Terminal Control Table, along with Terminal Control Program, recognizes the incoming data from the terminal.
PCT stands for Program Control Table. It contains the Transaction IDs (TRANSID) and the corresponding program names or program IDs. Every PCT table has a unique Transaction ID or TRANSID.
PPT stands for Processing Program Table. It contains the program name or Mapset name, Task Use Counter, Language, Size, the Main storage address, Load library address, etc. Every PPT table has a unique Program or Mapset name.
FCT stands for File Control Table. It includes File names, File type, record length, etc. All the files used in a CICS program have to be declared in FCT, and they are opened and closed by CICS itself.
22) What is COMMAREA, and what are the benefits of using it?
COMMAREA is the short and the most commonly used name for communication area. It is the name of the data area in which the data or information is transferred from one program to another program. It is a temporary storage area and is mainly used as a passing medium for data amongst multiple programs loaded by a set of transactions or a particular transaction.
COMMAREA is generally used along with the TRANSID option to send data back to the program which executes the Transaction ID so that the user can use it while executing that transid.
COMMAREA allows the maximum length of the data to pass through to be 64K.
23) What is EIB in CICS? How can we use it?
In CICS, EIB is an acronym that stands for EXEC Interface Block. EIB is a control block that is loaded automatically by the CICS for every program. CICS automatically generates some system-related information and provides it to each task in the form of EIB. Every task has a unique EIB it exists for the duration of the task. It contains a set of system-related information corresponding to the task. Users can use all the fields of EIB in their application programs.
24) What is a transaction in the CICS? What is the use of transactions in the CICS?
In CICS, a transaction is a unit of processing initiated by a single request. This request is generally initiated from an end-user at a terminal, but it can also be initiated from a web page, a remote workstation program, or an application in another CICS system. It may also be triggered automatically at a predefined time.
Some main uses of the transaction in the CICS are:
- A transaction executes or starts a particular task. It acts as a unique identifier.
- We can trigger a transaction concurrently from the different systems, but it cannot be done from the same systems.
- A transaction is usually interactive processing initiated by a single request, but background transactions are possible.
- A transaction is the type of four characters entry, and it doesn’t allow any duplicates in the transaction names.
- A transaction has one to one or many mappings to the program. It is executed when the transaction trigger takes place.
25) What is the key difference between task and transaction in CICS?
In CICS, the key difference between task and transaction is that several users can invoke a transaction, but each user has to initiate their task.
26) What would be the effect of including the TRANSID in the EXEC CICS RETURN command?
If we include the TRANSID in the EXEC CICS RETURN command, the next time the end-user presses an attention key, the CICS will start the transaction specified in the TRANSID option.
27) What are some generally used CICS programs?
Following is a list of some generally used CICS programs:
- File Control Programs
- Terminal Control Programs
- Storage Control Programs
- Task Control Programs etc.
28) What information does the EIBRCODE contain in CICS?
In CICS, EIBRCODE is a field that indicates the application program whether the command was executed successfully or not or whether a CICS condition was raised or not.
29) What are the types of processes that are used to create a MAP in CICS?
Following are the three types of processes that are used to create a MAP in CICS:
- DFHMDF: The DFHMDF process designs an individual field on the screen or the page.
- DFHMDI: The DFHMDI process is used to define a single map in the collections of the field.
- DFHMSD: The DFHMSD process helps group a single map into a map set.
30) What do you understand by a ‘Transid’?
Transid is a short form of a transaction identifier. This character code contains four letters that are used to invoke a task of CICS.
31) What is the difference between the INTO and the SET option in the EXEC CICS RECEIVE MAP command?
The key difference between the INTO and the SET option in the EXEC CICS RECEIVE MAP command is that the INTO option moves the TIOA’s information into the reserved specified area. In contrast, the SET option returns the address of the TIOA to the specified BLL cell or “address-of” a linkage section.
32) What are the different types of DFHMDF present in the CICS set?
Following are some types of the DFHMDF present in the CICS set:
POS: POS is the short form for the position in the CICS. The POS parameter is used to indicate the row and column position in the field relative to the upper left corner of the map position.
ATTRB: ATTRB is the short form for the field attribute. Generally, the BMS field attribute is not required because the BMS always uses the default value of the auto-skip protection, normal intensity, and the modified tag.
Length: The length is used to specify the characters present in the field. In the length type, the attribute bytes are not present, so each of the lengths occupies one more column compared to its length value.
Initial: The initial type is also not required in the BMS. It is only used in the label and the title field that already has a constant value in the BMS.
Picout: The picout is one of the definitions of the filed CHG and is used to tell the BMS what types of pictures are mainly used to generate the fields. The Picout is also used to edit the facilities of the COBOL or the PL/I when data is moved into the map.
GRPNAME and OCCURS: GRPNAME and OCCURS options are one of the most complex forms. That’s why they do not always appear in simple examples. The GRPNAME is mainly used to subdivide a map field within the program for later processing, and the OCCURS mainly helps us define adjacent.
33) What is the name of some important fields in the EIB block of CICS?
Following is a list of some important fields in the EIB block of CICS:
34) Is it possible to use dynamic calls in CICS?
Yes. It is possible to use dynamic calls in CICS. We can use dynamic calls in CICS. According to the procedure, the user has to define the call routine in a PPT, and the calling program uses the CALL identifier.
35) What would affect RECEIVE MAP when we press PF and PA key?
When we press the PF key, the data transmission may happen on RECEIVE MAP. On the other hand, the data transmission will not happen when we press the PA key.
36) How can you set the MDT option to ‘ON’ status, even if data is not entered?
We should mention the FSET option in DFHMDF to set the MDT option to ‘ON’ status, even if data is not entered. Otherwise, we can set it dynamically in the program using the FIELD+A attribute field.
37) How can we terminate a transaction?
We can use the command EXEC CICS SYNCPOINT and assume it as LUW. The Xn will not be terminated by using this command, but it will surely terminate the transaction.
38) What is the difference between SEND MAP MAPONLY and SEND MAP DATAONLY command?
The SEND MAP MAPONLY command is used to send the map alone, without any data. For example, it is used for sending Menu screens. On the other hand, the SEND MAP DATAONLY command sends data alone without sending the screen layout again. For example, it is used for refreshing the screen data.
39) Which CICS service transaction is used to gain accessibility to CICS control tables?
CEDA is a CICS service transaction that is used to gain accessibility to control tables.
40) What is the difference between XCTL and START?
XCTL works as a medium through which we can pass the control through the identical task to another program. On the other hand, XCTL is a program control command.
41) What is the key difference between a PF and a PA key?
A PF key is used to wake up the task and transmit modified data. On the other hand, a PA key is used only to wake up the task.
42) What do you understand by a mapset?
Mapset is a collection of linked and edited maps to form a load module. It must have a PPT entry and can have names from 1 to 7 chars.
43) What is the use of ENQ and DEQ in CICS?
In CICS, ENQ and DEQ are the parts of task control commands used to make a resource serially recyclable.
44) What is the difference between an EXEC CICS XCTL and an EXEC CICS LINK command?
The EXEC CICS XCTL command transfers the control to an application program at the same logical level without expecting the control back. On the other hand, the EXEC CICS LINK command is used to pass the control to an application program at the next logical level with an expectation of the control back.
45) What are some situations when NEWCOPY is necessarily required in CICS?
In CICS, NEWCOPY is necessarily required in certain situations when a particular program has been run at least once or several times in CICS and then recompiled or changed.
46) Is it possible to use OCCURS in a BMS map? If yes, what are the issues you can face while using it?
Yes. It is possible to use OCCURS in a BMS map. For doing so, we have to redefine the input and output field of the copybook with wanted index sizes, which can later be referenced in the application program.
47) In which table the terminal id is registered?
In CICS, the terminal id is registered in the Terminal Control Table.
48) Can a CICS code be a part of a copybook? What would be the outcomes after compilation if we do so?
Yes, a CICS code can easily be a part of a copybook, but we have to do the reprocessing after the compilation process if we want to do so.
49) In the case of multiple maps, how is the storage determined in the symbolic map?
If we have multiple maps and want to determine the storage in the symbolic map, then the largest map must be done first.
50) What is the main usage of the CICS translator?
The CICS translator is mainly used to convert the EXEC CICS commands into call statements for a specific programming language.
51) What is the effect of using the TRANSID in the EXEC CICS RETURN command?
The effect of using the TRANSID in the EXEC CICS RETURN command is that the next time the end-user presses an attention key, the CICS will start the transaction specified in the TRANSID option.
52) How can you access the VSAM file using an alternate index?
We can access the VSAM file through the path. We have to declare a path as a form of FCT and then use the File Control Commands on it.
53) What is the meaning of BMS length of field = 0?
The BMS length of field = 0 specifies that the data was not entered in the field.
54) What is the main function of the EXEC CICS HANDLE CONDITION command?
The EXEC CICS HANDLE CONDITION command specifies the paragraph or program label to which we have to pass the control if the “handle condition” occurs.
55) What do you understand by an AICA ABEND?
The AICA ABEND is just a Runaway Task that is executed at a later stage.
56) What can you do if you don’t want characters entered by the user to be folded to uppercase?
If we don’t want characters entered by the user to be folded to uppercase, we can use the ASIS option on RECEIVE.
57) What is the key difference between the INTO and the SET option in the EXEC CICS RECEIVE MAP command?
In CICS, the INTO option is used to move the information in the TIOA into the reserved specified area. On the other hand, the SET option is used to return the address of the TIOA to the specified BLL cell or “address-of” a linkage section.
58) Can you access the ESDS files from CICS?
Yes, we can access the ESDS files straight from CICS.
59) What do you understand by the BUFFER option in RECEIVE?
The BUFFER option in RECEIVE brings the entire data stream from the terminal buffer.
60) What is the difference between retrieving the system time with EIBTIME and ASKTIME command?
In CICS, the ASKTIME command requests the current date and time. On the other hand, the EIBTIME command gets the value at the task initiation time.
61) What is the main use of DFHMDF BMS macro in CICS?
In CICS, the DFHMDF BMS macro is mainly used to define fields, literal, and characteristics of a field.
62) What do you understand by MDT? What is the use of FRSET and FSET in MDT?
MDT is an acronym that stands for Modified Data Tag. MDT is used during an input operation. If you modify the field on the screen, then MDT acts as a bit of an attribute byte.
FRSET stands for Flag Reset. It is used to reset MDT and turns off the modified data tag in the attribute bytes for all the fields on the screen. If it once set on, whether by the user or the program, a modified data tag stays on until turned off explicitly, even over several screen transmissions. On the other hand, FSET turns on the modified data tag. On the other hand, FSET turns on the modified data tag. It is used to ensure that MDT transmits the field. FSET is used during an output operation. If you don’t specify this, the field is sent only if the user changes it.
63) How can you classify a CICS program?
We can classify a CICS program into the following types:
- Conversational programs
- Pseudo Conversational programs
64) What do you understand by the term conversational programs?
The conversational programs are the programs that require user intervention to complete the execution. In other words, we can say that the program that requires input from the user and displays the data on the screen after processing is called a conversational program.
The conversational programs are mainly used to send a message to the terminals and receive a response from the active users. For example, online applications always use the conversation between the users and the application program by using the send and receive command.
65) What do you understand by the term non-conversational programs?
The non-conversational programs are the programs that don’t require any user intervention for execution. All the required inputs are available to the program when we start the execution. In other words, we can say that the programs used for displaying the reports or messages are called non-conversational programs.
The non-conventional programs are very similar to the batch program and run in batch mode. These programs are mainly used to display a sequence on the screen at the regular interval of time.
66) What do you understand by the term pseudo-conversational programs?
The pseudo-conversational programs respond to user actions or events. It is a subtype of the conversational program which only runs when it is started or called by another program. It also needs certain actions of the users like hit enter etc. It is also called an event-based program.
67) What are the key differences between TSQ and TDQ in CICS?
Following is a list of key differences between TSQ and TDQ in CICS:
|TSQ is an acronym that stands for Temporary Storage Queues.||TDQ is an acronym that stands for Transient Data Queues.|
|Data within the temporary storage queue (TSQ) can be changed.||Data within the transient data queues (TDQ) cannot be changed.|
|We can read the data more than once in a temporary storage queue, and the records can be read randomly.||We can read the data only once in the transient data queue, and the records can be read only sequentially.|
|We can update an existing record in a TSQ.||We cannot update an existing record in a TDQ.|
|We cannot access TSQ in batch.||We can easily use TDQ in batch applications.|
|The names of TSQ are dynamically defined in the application program.||We have to define the name of TDQ in the DCT (Destination Control Table).|
|TSQ cannot start a CICS transaction automatically.||TDQ can start a CICS transaction automatically.|
68) How can you solve an ASRA ABEND?
To solve an ASRA ABEND, we have to start with the CEBR and then call for instructions on offsets.
69) How is the DSECT parameter used in BMS?
The DSECT parameter is used in BMS to give shape to a symbolic map.
70) What is the default size of COMMAREA in CICS?
The default size of COMMAREA in CICS is 65K.
71) How can you handle errors in CICS programs?
To handle errors in CICS programs, we have to check the EIBRESP first after calling the program. After that, an alternative option is used to put the HANDLE condition to use.
72) What do you understand by the error code AEIY?
AEIY is the error code for length. If the source data length is more than the receiving field, we see this error.