Module 15: CICS Real-World Projects and Interview Preparation
CICS COBOL Interview Questions
These are the CICS COBOL questions asked most often in mainframe interviews, grouped by topic with crisp answers.
Learn the one-line answer first, then the one-paragraph explanation - interviewers promote you when both are correct.
Program structure questions
- Q: Difference between XCTL and LINK? A: XCTL transfers control permanently and does not return; LINK calls a program like a subroutine and returns, optionally passing a COMMAREA.
- Q: DFHCOMMAREA vs TWA vs CWA? A: COMMAREA passes data between programs in one task chain; TWA (Transaction Work Area) is per-transaction scratch storage; CWA (Common Work Area) is shared across the whole region.
- Q: Pseudo-conversational vs conversational? A: Conversational holds CICS resources while waiting for the user; pseudo-conversational ends the task with RETURN TRANSID and restarts on user input, freeing resources.
- Q: What is the EIB? Which fields matter? A: The Execute Interface Block is passed to every program. Key fields: EIBTRNID (trans-id), EIBCALEN (COMMAREA length), EIBAID (attention key), EIBRESP (last command response).
- Q: What does the CICS translator do? A: It converts EXEC CICS statements into COBOL CALL statements to CICS modules before the COBOL compile.
Command questions
- Q: SEND MAP options? A: MAPONLY sends constant text only; DATAONLY sends only application data; ERASE clears the screen; FRSET resets the MDT flags.
- Q: READ vs READ UPDATE vs REWRITE vs WRITE vs DELETE? A: READ fetches a record; READ UPDATE fetches and locks it; REWRITE updates the locked record; WRITE adds a new record; DELETE removes a record.
- Q: HANDLE CONDITION vs RESP option? A: HANDLE CONDITION routes named conditions to paragraphs globally; RESP returns the response code into a variable for an explicit IF test. RESP is clearer and preferred.
- Q: RETURN TRANSID vs RETURN without TRANSID? A: RETURN TRANSID ends the task and restarts it at the next user input (pseudo-conversational); RETURN alone ends the task completely.
- Q: How do you pass data between two XCTLed programs? A: Through the COMMAREA on the XCTL, or via a temporary storage queue.
Quick facts interviewers expect
- BMS macros in order: DFHMSD (mapset), DFHMDI (map), DFHMDF (field), then DFHMSD TYPE=FINAL.
- TSQ keeps data in temporary storage (READQ/WRITEQ TS); TDQ is for sequential transient data queues.
- Common abends: ASRA program check, AEI0 file not open, AEY9 program not defined, AICA runaway task, ATCH DB2 attachment issue.
- NEWCOPY (or PHASEIN) loads a new program copy; without it CICS keeps running the old load module.
- CEDF debugs a transaction step by step; CECI tests a single CICS command interactively; CEMT manages resources.
