CICS Interview Questions (31 - 40)

31. What is EIB? Explain in detail. Also, list the information this contains.

EIB (Execute Interface Block) is a system-defined control block automatically created by CICS for every task. It provides task-specific information to the program.

It supplies runtime information like transaction ID, terminal ID, task number, time, date, etc. It is accessible without being passed explicitly.

32. What information can be obtained from the EIBRCODE?

EIBRCODE contains the response or error code from the last executed CICS command. It provides the reason code for a failure, helping to diagnose issues with the last CICS command.

33. Which command is used to release a record on which exclusive control is gained?

Use EXEC CICS UNLOCK to release a record that was locked with exclusive control in a CICS program.

34. What is the meaning and use of the EIBAID field?

EIBAID (Execute Interface Block - Attention Identifier) contains the AID (Attention Identifier) of the key pressed by the user on a terminal.

Use -

  • Determines which key (e.g., Enter, PF keys, PA keys, Clear) the user pressed.
  • Helps control program flow based on user actions.

35. Explain the difference between synchronous and asynchronous processing in CICS.

TypeSynchronous ProcessingAsynchronous Processing
ExecutionTask waits for the operation to completeTask continues without waiting for operation to finish
Control FlowSequential; next step runs after current endsParallel; next task may run independently
Example LINK, XCTL, READSTART TRANSID to initiate another task

Synchronous waits for a response before proceeding, while asynchronous allows tasks to run independently, improving parallelism and performance in CICS.

36. How can data be passed between transactions in CICS?

Data can be passed between transactions using:

  • COMMAREA (Communication Area): A predefined memory area used to pass data between programs or transactions.
  • Temporary Storage Queues (TSQ): Data written to a TSQ can be read by subsequent transactions.​
  • Transient Data Queues (TDQ): Used for sequential data passing between transactions.​
  • Channels and Containers: Allow for passing large amounts of data between programs or transactions.

37. What are the differences between LINK, XCTL, and CALL, and when would you use each?

  • CALL: A COBOL statement that invokes a subroutine within the same program. Control returns to the calling program after execution.​
  • XCTL (Transfer Control): Transfers control from one program to another at the same logical level without expecting to return. The original program's context is discarded.
  • LINK: Invokes another program at the next logical level and expects control to return after the called program finishes. The original program's context is preserved.

38. Explain the purpose of the EXEC CICS command and provide an example of its usage.

The EXEC CICS command is used to perform CICS functions within a program, such as reading input, sending output, accessing files, managing tasks, and more. It allows COBOL or other high-level programs to interact with CICS services.

39. Whats the CICS command used to access the current date and time?

Use ASKTIME to get the current time in ABSTIME format, and FORMATTIME to convert it into readable date and time.

40. What is the effect of including the TRANSID in the EXEC CICS RETURN command?

Including TRANSID in the EXEC CICS RETURN command schedules a new transaction to be started after the current task ends.

EXEC CICS RETURN TRANSID('TRN1') END-EXEC.

This ends the current task and automatically starts transaction TRN1.