Q1
What is pseudo-conversational programming?
Transaction ends after SEND, restarts on input. RETURN TRANSID(next) COMMAREA(data). Saves resources - no task waiting. Must restore state from COMMAREA.
Q2
Explain COMMAREA usage.
COMMAREA passes data between programs and transactions. Max 32KB. LINK/XCTL COMMAREA(data). Receiving program has DFHCOMMAREA in LINKAGE SECTION.
Q3
What is LINK vs XCTL?
LINK calls and returns to caller (like CALL). XCTL transfers permanently, no return. Use LINK for subroutines, XCTL for navigation.
Q4
What is BMS?
Basic Mapping Support handles screen I/O. DFHMSD defines mapset. SEND MAP displays. RECEIVE MAP gets input. Symbolic map in COBOL copybook.
Q5
Explain EIB fields.
EIB (Execute Interface Block): EIBCALEN=COMMAREA length, EIBTRNID=transaction, EIBAID=attention key, EIBRESP=response code. Available automatically.
Q6
How to debug CICS programs?
CEDF intercepts EXEC CICS. Step through commands, view/modify data. CEMT for resource status. Transaction dump for abends.
Q7
What is the purpose of COMMAREA in CICS?
COMMAREA (Communication Area) is used to pass data between programs or between transactions in pseudo-conversational programming.
Uses:
- Pass data between LINK/XCTL programs
- Save data between pseudo-conversational transactions
- Maximum size: 32KB
How it works:
- Calling program: COMMAREA option on LINK/XCTL/RETURN
- Called program: DFHCOMMAREA in LINKAGE SECTION
- Check EIBCALEN for length (0 = no COMMAREA)
* Calling program
EXEC CICS LINK
PROGRAM('SUBPROG')
COMMAREA(WS-DATA)
LENGTH(100)
END-EXEC.
* Called program
LINKAGE SECTION.
01 DFHCOMMAREA PIC X(100).
IF EIBCALEN > 0
MOVE DFHCOMMAREA TO WS-DATA
END-IF.
Q8
How to handle CICS RESP codes?
EXEC CICS command RESP(ws-resp). Check DFHRESP(NORMAL) for success. RESP2 has additional info. Always check after commands.
Q9
What is START command?
START schedules future transaction. EXEC CICS START TRANSID(trans) INTERVAL(time) FROM(data). Used for background processing.
Q10
How does BROWSE work in CICS?
STARTBR positions, READNEXT/READPREV retrieves, ENDBR ends. TOKEN for concurrent browses. Use for sequential VSAM access.
Q11
What is temporary storage?
TS queue stores data across tasks. WRITEQ TS writes, READQ TS reads, DELETEQ removes. MAIN (memory) or AUXILIARY (disk).
Q12
Explain HANDLE CONDITION.
Sets error labels: HANDLE CONDITION NOTFND(para). Jumps on condition. Obsolete - prefer RESP option for cleaner handling.
Q13
What causes ASRA abend?
Program check (S0Cx) in CICS. Common: S0C7 data exception, S0C4 protection. Check CEDF, examine dump for cause.
Q14
What is CEDA?
CEDA defines resources online. CEDA DEFINE PROGRAM/TRANSACTION/FILE. CEDA INSTALL activates. RDO (Resource Definition Online).
Q15
Explain transient data.
TD queues for sequential I/O. Intrapartition: CICS internal. Extrapartition: external datasets. Defined in DCT. Trigger level for automatic transaction start.
Q16
What is SYNCPOINT?
SYNCPOINT commits changes. SYNCPOINT ROLLBACK undoes since last sync. Use for transaction consistency. Implicit at task end.