CICS Interview Questions (41 - 50)
41. What is the difference between the INTO and the SET option in the EXEC CICS RECEIVE MAP command?
- INTO Option: It copies map data into a working-storage variable and requires a defined data area.
- SET Option: It returns a pointer to the map data, used with a pointer variable and more efficient for large maps.
42. What is the difference between getting the system time with EIBTIME and ASKTIME command?
- EIBTIME: Contains the time when the task started. It's a static value stored in the EIB (Execute Interface Block). It is used to get the task’s start time.
- ASKTIME: Retrieves the current system time at the moment the command is executed. It returns time in ABSTIME format.
43. What BMS options do you use in CICS?
Commonly used BMS (Basic Mapping Support) options in CICS include:
- ASKIP – Skips the field during cursor movement.
- PROT – Protects the field from user input.
- UNPROT – Allows user input in the field.
- FSET – Forces Modified Data Tag (MDT) ON to send field even if untouched.
- IC – Places the cursor in the field.
- NUM – Allows numeric-only input.
- BRT/NORM/DRK – Controls field brightness or display intensity.
44. In CICS, how are ENQ and DEQ used?
- ENQ (Enqueue): Lock a resource. Used to gain exclusive control over a resource to prevent other tasks from accessing it simultaneously.
- DEQ (Dequeue): Unlock resource. Used to release the lock obtained by ENQ, making the resource available to others.
45. What is the function of the EXEC CICS HANDLE CONDITION command?
The EXEC CICS HANDLE CONDITION command is used to specify error-handling routines for specific CICS exceptions. It directs program control to a label or paragraph when a specific condition (e.g., NOTFND, ENDDATA, PGMIDERR) occurs.
EXEC CICS HANDLE CONDITION
NOTFND(LABEL-NOT-FOUND)
END-EXEC.
46. What happens when the NOHANDLE option is used in a CICS command?
The NOHANDLE option tells CICS not to invoke any condition handlers (like HANDLE CONDITION or HANDLE AID) if an error occurs. When NOHANDLE is used, CICS suppresses automatic error handling, and the program must check response codes explicitly.
The program must manually check EIBRESP or EIBRCODE to handle exceptions. It prevents automatic transfer of control on errors.
47. What is the difference between TSQ and TDQ, and when would you use each?
Temporary Storage Queqe (TSQ) | Transient Data Queqe (TDQ) |
---|---|
Records in Temporary Storage can be read more than once | Temporary Data Queues can be read only once |
Records in TSQ can be read randomly | Records in TDQ can be read only sequentially |
You may update an existing item in a TSQ | A record in a TDQ cannot be updated |
TSQ names are dynamically defined in the application program | TDQs name must first be defined in the DCT (Destination Control Table) |
TSQ cannot be accessed in batch | TDQ may be used by batch application |
TSQ cannot started automatically a CICS transaction | TDQ can started automatically a CICS transaction |
48. What does Automatic Task Initiation mean in CICS?
Automatic Task Initiation (ATI) allows CICS to automatically start a specific transaction when certain conditions are met, such as when a TDQ reaches a predefined trigger level. This feature enables automated processing without manual intervention.
49. What is an ASRA abend, and how do you resolve it?
An ASRA abend indicates that a program check has occurred, often due to data exceptions like division by zero or invalid data types. To resolve it, you can:
- Analyze the Abend: Use debugging tools to determine the cause.
- Check Data Validity: Ensure that the data being processed is valid and within expected ranges.
- Review Program Logic: Examine the code for logical errors that could lead to the abend.
50. Describe the CICS communication methods and their use cases.
- TDQ (Transient Data Queue): Sequential message passing between programs or for logging. Types: Intra- and inter-partition.
- TSQ (Temporary Storage Queue): Temporary data sharing between tasks/programs.
- LINK / XCTL: Program-to-program communication. LINK returns control; XCTL does not.
- SEND / RECEIVE: User interaction via terminal screens using BMS maps.
- MRO / ISC (Inter-region communication): Communicate across CICS regions (same or different systems).
- Web Services / Sockets: Integration with external systems using HTTP, SOAP, REST, or TCP/IP.