CICS Interview Questions (1 - 10)
1. What is CICS?
CICS stands for Customer Information Control System. It's a middleware designed by IBM to support rapid, high-volume online transaction processing. CICS allows multiple users to access the same data concurrently, ensuring data integrity and efficient resource management.
2. Describe the basic differences between batch and online systems.
Feature | Batch System | Online System (CICS) |
---|---|---|
Execution | Processes jobs sequentially, no user input | Handles real-time user interactions |
User Interaction | None during execution | Continuous user input/output |
Response Time | Delayed (scheduled) | Immediate/interactive |
Environment | Typically uses JCL, COBOL, DB2 | Runs under CICS for transaction processing |
Volume | Handle large volumes of data processed at scheduled times without user interaction | Handle transactions in real-time with immediate user interaction |
3. Differentiate between Multitasking and Multi-threading.
- Multitasking: The operating system's ability to execute multiple tasks (programs) concurrently. Each task operates independently.
- Multi-threading: Within a single program, multiple threads (smaller units of a task) execute concurrently, sharing the program's resources but running independently.
4. Describe the differences between a Conversational and a Pseudo-Conversational program.
Feature | Conversational Program | Pseudo-Conversational Program |
---|---|---|
Task Duration | Task remains active throughout user interaction | Task ends after sending a response and restarts on next input |
Resource Usage | Holds resources like memory and TCBs | Frees resources between screens (more efficient) |
Performance | Less efficient, can cause resource contention | Highly efficient, commonly used in CICS |
State Management | Maintains state in memory | Must save and restore state using COMMAREA or TEMP storage |
5. What is "TransID"? Why is it used and where is it defined?
TransID (Transaction ID) is a 4-character identifier in CICS that is used to initiate the execution of a specific program.
Why It Is Used:
- Maps a user request or terminal input to the appropriate CICS program.
- Helps start, control, and manage a task within the CICS region.
Where It Is Defined:
- Defined in the Program Control Table (PCT).
- Can be created or updated using CEDA.
6. What is the difference between a program and a transaction in CICS?
- Program: A COBOL or other language module that contains the logic to perform a task.
- Transaction (TransID): A 4-character identifier used to initiate the execution of a CICS program.
7. Explain the differences between a Transaction and a Task.
- Transaction: A transaction is a set of operations initiated by a user that performs a specific function. Each transaction is identified by a unique transaction identifier (TRANSID).
- Task: A task is the execution instance of a transaction. When a user invokes a transaction, CICS starts a task to process it. While multiple users can invoke the same transaction, each invocation results in a separate task.
8. What is the task initiation process in CICS?
When a transaction is initiated:
- Direct Invocation: A user enters a transaction identifier (TRANSID) at a terminal.
- Automatic Task Initiation (ATI): CICS starts a transaction automatically based on predefined conditions, such as a TDQ reaching its trigger level.
- START Command: A program uses the CICS START command to initiate another transaction.
- Distributed Program Link (DPL): A program in one CICS region invokes a transaction in another region.
9. How can a transaction be initiated in CICS?
Transactions in CICS can be initiated in several ways:
- Direct Invocation: A user enters a transaction identifier (TRANSID) at a terminal.
- Automatic Task Initiation (ATI): CICS starts a transaction automatically based on predefined conditions, such as a TDQ reaching its trigger level.
- START Command: A program uses the CICS START command to initiate another transaction.
- Distributed Program Link (DPL): A program in one CICS region invokes a transaction in another region.
10. What is a pseudo-conversational program in CICS?
A pseudo-conversational program simulates a continuous conversation with a user by ending the task after sending a message and starting a new task upon receiving the user's response. This approach conserves system resources by not holding them during user think-time.