JCL ⭐ Featured
👁 0

Q: What is the difference between COND and IF/THEN/ELSE in JCL?

Answer:

COND Parameter:

  • Tests return codes from previous steps
  • Bypasses step if condition is TRUE
  • Works opposite to programming logic!
  • COND=(4,LT) means: Skip if 4 < any previous RC

IF/THEN/ELSE:

  • More intuitive programming-like syntax
  • Executes steps when condition is TRUE
  • Supports AND, OR operators
  • Can check ABEND conditions

Example:

// Using COND (skip if RC < 4)
//STEP2 EXEC PGM=PROG2,COND=(4,LT)

// Using IF/THEN/ELSE
//    IF STEP1.RC = 0 THEN
//STEP2 EXEC PGM=PROG2
//    ELSE
//ERROR EXEC PGM=ERRPROC
//    ENDIF
DB2 ⭐ Featured
👁 0

Q: When should I use COMMIT in DB2?

Answer:

COMMIT saves all changes since the last COMMIT and releases locks.

When to COMMIT:

  • After processing a logical unit of work
  • Periodically in long-running batch (every N records)
  • Before ending the program successfully

Frequency Guidelines:

  • Too frequent: Performance overhead
  • Too rare: Lock contention, large log
  • Typical: Every 100-1000 records in batch

Best Practice:

MOVE 0 TO WS-COMMIT-COUNT.

PERFORM PROCESS-RECORD.

ADD 1 TO WS-COMMIT-COUNT.
IF WS-COMMIT-COUNT >= 500
    EXEC SQL COMMIT END-EXEC
    MOVE 0 TO WS-COMMIT-COUNT
END-IF.

Note: In CICS, syncpoint (COMMIT) happens automatically at task end. Explicit SYNCPOINT is rarely needed.

CICS ⭐ Featured
👁 0

Q: What is pseudo-conversational programming in CICS?

Answer:

Pseudo-conversational programming is a technique where the program ends between user interactions, freeing system resources.

How it works:

  1. Program sends screen to user and ends (RETURN TRANSID)
  2. User enters data and presses Enter
  3. CICS starts a new task with same program
  4. Program retrieves saved data from COMMAREA
  5. Process continues

Benefits:

  • Efficient resource usage
  • Better response times
  • More concurrent users

Implementation:

* End task, wait for user
EXEC CICS RETURN
    TRANSID('MENU')
    COMMAREA(WS-COMM)
    LENGTH(100)
END-EXEC.

* On return, check EIBCALEN
IF EIBCALEN = 0
    PERFORM FIRST-TIME
ELSE
    MOVE DFHCOMMAREA TO WS-COMM
    PERFORM PROCESS-INPUT
END-IF.
COBOL ⭐ Featured
👁 0

Q: What are the four divisions of a COBOL program?

Answer:
  1. IDENTIFICATION DIVISION - Program identification (PROGRAM-ID)
  2. ENVIRONMENT DIVISION - Hardware/software environment, file assignments
  3. DATA DIVISION - Data definitions (FILE, WORKING-STORAGE, LINKAGE SECTION)
  4. PROCEDURE DIVISION - Executable code and business logic

Only IDENTIFICATION and PROCEDURE DIVISION are mandatory.

COBOL ⭐ Featured
👁 0

Q: What is the difference between SECTION and PARAGRAPH in COBOL?

Answer:

SECTION:

  • Contains one or more paragraphs
  • Ends with next SECTION or end of program
  • Used for logical grouping
  • Can be performed as a unit

PARAGRAPH:

  • Basic unit of code
  • Named block of statements
  • Ends at next paragraph name or SECTION

PERFORM SECTION-NAME executes all paragraphs in the section.

PERFORM PARA-NAME executes only that paragraph.

JCL ⭐ Featured
👁 0

Q: What is the difference between PARM and SYSIN for passing parameters?

Answer:

PARM (EXEC statement):

  • Limited to 100 characters
  • Passed in memory to program
  • Accessed via LINKAGE SECTION
  • Good for small, simple parameters

SYSIN (DD statement):

  • No practical size limit
  • Read as a file by program
  • Can contain multiple records
  • Good for control cards, complex input
// PARM example
//STEP1 EXEC PGM=MYPROG,PARM='PARAM1,PARAM2'

// SYSIN example
//SYSIN DD *
CONTROL OPTION1
DATE=20231215
LIMIT=1000
/*
DB2 ⭐ Featured
👁 0

Q: What is SQLCODE and what are common values?

Answer:

SQLCODE is a return code in SQLCA indicating the result of SQL execution.

Common SQLCODE values:

0Successful execution
100No data found / End of cursor
-803Duplicate key on insert
-811Multiple rows returned for singleton SELECT
-904Unavailable resource
-911Deadlock/timeout
-922Authorization failure
-927DB2 not available

Negative = Error, 0 = Success, 100 = No data

CICS ⭐ Featured
👁 0

Q: What is the purpose of COMMAREA in CICS?

Answer:

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:

  1. Calling program: COMMAREA option on LINK/XCTL/RETURN
  2. Called program: DFHCOMMAREA in LINKAGE SECTION
  3. 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.
DB2 ⭐ Featured
👁 0

Q: How to tune DB2 queries?

Answer:
Check EXPLAIN output. Look at: access type (index vs scan), join method, sort operations. Add indexes for predicates. Rewrite with hints. Update statistics. Check for full tablespace scans. Monitor actual execution.
COBOL ⭐ Featured
👁 0

Q: Explain SECTION vs PARAGRAPH

Answer:
SECTION groups related paragraphs, terminated by next SECTION or end of program. PARAGRAPH is a named block of code, terminated by next paragraph/section. PERFORM SECTION executes all paragraphs within. SECTION needed for segmentation, PARAGRAPH for simple procedures.
DB2 ⭐ Featured
👁 0

Q: What is dynamic SQL?

Answer:
Dynamic SQL constructed at runtime. PREPARE creates executable. EXECUTE runs it. EXECUTE IMMEDIATE for one-time. DECLARE CURSOR for queries. More flexible but less efficient than static. Security concerns (injection).
DB2 ⭐ Featured
👁 0

Q: What is GRANT and REVOKE?

Answer:
GRANT gives privileges: GRANT SELECT ON table TO user. REVOKE removes: REVOKE SELECT ON table FROM user. Privileges: SELECT, INSERT, UPDATE, DELETE, EXECUTE. WITH GRANT OPTION allows re-granting. Essential for security.
COBOL ⭐ Featured
👁 0

Q: Explain EXEC SQL statements

Answer:
EXEC SQL marks embedded DB2 SQL. EXEC SQL SELECT col INTO :host-var FROM table WHERE key = :key-var END-EXEC. Colon prefix for host variables. SQLCODE in SQLCA indicates result. Precompiler converts to COBOL calls.
COBOL ⭐ Featured
👁 0

Q: What is OBJECT-COMPUTER paragraph?

Answer:
OBJECT-COMPUTER describes execution machine. OBJECT-COMPUTER. IBM-3090. MEMORY SIZE clause deprecated. PROGRAM COLLATING SEQUENCE for sort order. SEGMENT-LIMIT for overlay. Mostly documentation now; compiler usually ignores.
COBOL ⭐ Featured
👁 0

Q: What is READY TRACE?

Answer:
READY TRACE turns on paragraph tracing. Shows paragraph names as executed. RESET TRACE turns off. Must compile with debugging option. Output goes to SYSOUT. Replaced by better debuggers but useful for quick flow analysis.
COBOL ⭐ Featured
👁 0

Q: What is EXEC CICS structure?

Answer:
EXEC CICS marks CICS commands. EXEC CICS READ FILE('name') INTO(area) RIDFLD(key) END-EXEC. Commands: READ, WRITE, SEND, RECEIVE, LINK, XCTL. RESP and RESP2 capture return codes. Translator converts to CALL.
JCL ⭐ Featured
👁 0

Q: What is the difference between COND and IF/THEN/ELSE?

Answer:
COND tests return codes to skip steps (negative logic - skips IF true). IF/THEN/ELSE tests conditions to execute steps (positive logic). IF supports complex expressions, COND is simpler but confusing. IF preferred for readability. COND on JOB affects all steps; on EXEC affects that step.
JCL ⭐ Featured
👁 0

Q: What is REGION parameter?

Answer:
REGION specifies memory limit. REGION=0M means no limit (use system default). REGION=4M limits to 4MB. On JOB card affects all steps, on EXEC affects that step. Below 16M line: REGION=2048K. Modern systems often use REGION=0M.
JCL ⭐ Featured
👁 0

Q: What is symbolic parameter?

Answer:
Symbols are variables: SET symbol=value or &symbol on JOB/PROC. Reference: DSN=&HLQ..DATA. Resolved at job entry. EXEC proc,symbol=value overrides. SET statement defines. Symbols start with & and up to 8 characters.
JCL ⭐ Featured
👁 0

Q: What is JCLLIB ORDER?

Answer:
JCLLIB ORDER specifies procedure library search order. //JOBNAME JOB ... // JCLLIB ORDER=(PROC.LIB1,PROC.LIB2). Searched for INCLUDE and EXEC procname. Takes precedence over JES2/3 proclibs. Must be before first EXEC statement.
CICS ⭐ Featured
👁 0

Q: What is COMMAREA and how to use it?

Answer:
COMMAREA (Communication Area) passes data between programs and transactions. EXEC CICS LINK/XCTL COMMAREA(data) LENGTH(len). Receiving program has DFHCOMMAREA in LINKAGE. Max 32KB. Preserved across pseudo-conversational iterations.
CICS ⭐ Featured
👁 0

Q: What is pseudo-conversational programming?

Answer:
Pseudo-conversational ends task after sending screen, restarts on input. EXEC CICS RETURN TRANSID(trans) COMMAREA(data). Saves resources - no task waiting for user. Must restore state from COMMAREA. Standard CICS approach.
CICS ⭐ Featured
👁 0

Q: How to handle CICS RESP codes?

Answer:
RESP and RESP2 capture command results. EXEC CICS command RESP(ws-resp) RESP2(ws-resp2). Check DFHRESP(NORMAL) for success. RESP contains condition. RESP2 has additional info. Always check after commands.
CICS ⭐ Featured
👁 0

Q: What is EXEC CICS READ?

Answer:
READ retrieves VSAM record. EXEC CICS READ FILE(name) INTO(area) RIDFLD(key) LENGTH(len). Optionally: UPDATE for update intent, KEYLENGTH for partial key. Generic key with GENERIC/KEYLENGTH. Returns NOTFND if missing.
CICS ⭐ Featured
👁 0

Q: Explain LINK vs XCTL

Answer:
LINK calls program and returns. EXEC CICS LINK PROGRAM(name). Calling program resumes after LINK. XCTL transfers permanently - no return. EXEC CICS XCTL PROGRAM(name). Use LINK for subroutines, XCTL for navigation.
JCL ⭐ Featured
👁 0

Q: Explain PARM parameter

Answer:
PARM passes data to program. EXEC PGM=PROG,PARM='value'. Max 100 characters. Program receives length prefix. PARM='abc,xyz' passes as one string. Program parses. Special chars need quotes. Alternative: SYSIN for larger data.
CICS ⭐ Featured
👁 0

Q: Explain CICS task and transaction

Answer:
Transaction is unit of work started by TRANSID. Task is CICS execution instance. One transaction may create multiple tasks. Task has TCA (Task Control Area). EIBTRNID has transaction ID. Concurrent tasks share resources.
CICS ⭐ Featured
👁 0

Q: What is EIB?

Answer:
EIB (Execute Interface Block) contains execution info. EIBCALEN=COMMAREA length. EIBTRNID=transaction. EIBAID=attention key. EIBDATE/EIBTIME=date/time. EIBRESP/EIBRESP2=response codes. Automatically available in COBOL.
JCL ⭐ Featured
👁 0

Q: How to use SET statement?

Answer:
SET symbol=value assigns value. SET DATE=&LYYMMDD (system symbol). Multiple: SET A=1,B=2. Scope: job/proc. Override on EXEC. SET can reference other symbols. Evaluated at conversion time. Enables parameter files.
CICS ⭐ Featured
👁 0

Q: How to use temporary storage?

Answer:
TS queue stores data across tasks. EXEC CICS WRITEQ TS QUEUE(name) FROM(data). READQ retrieves. DELETEQ removes. ITEM number for multiple items. MAIN/AUXILIARY for storage type. Named by string.
JCL ⭐ Featured
👁 0

Q: What is PRTY parameter?

Answer:
PRTY sets selection priority. PRTY=15 on JOB card. Values 0-15 (15 highest). Affects when job selected from queue. JES2 processes higher PRTY first within class. Different from PERFORM (execution priority).
CICS ⭐ Featured
👁 0

Q: How to do file BROWSE?

Answer:
BROWSE reads sequentially. EXEC CICS STARTBR FILE(name) RIDFLD(key). READNEXT/READPREV in loop. ENDBR ends browse. TOKEN for concurrent browses. Can use generic key to position.
CICS ⭐ Featured
👁 0

Q: What is WRITE command?

Answer:
WRITE adds new record. EXEC CICS WRITE FILE(name) FROM(data) RIDFLD(key) LENGTH(len). DUPREC condition if key exists. KEYLENGTH for generic. MASSINSERT optimizes bulk loads.
JCL ⭐ Featured
👁 0

Q: How to use //IF statement?

Answer:
//IF (condition) THEN executes following steps if true. Conditions: RC, ABEND, ABENDCC, RUN, STEP.RC. Example: //IF (STEP1.RC = 0) THEN ... //ENDIF. Can nest. ELSE available. Clearer than COND parameter.
CICS ⭐ Featured
👁 0

Q: How to SYNCPOINT?

Answer:
SYNCPOINT commits changes. EXEC CICS SYNCPOINT. Makes updates permanent. Or SYNCPOINT ROLLBACK undoes since last sync. Implicit syncpoint at task end. Use for transaction consistency.
CICS ⭐ Featured
👁 0

Q: What is ABEND command?

Answer:
ABEND deliberately terminates. EXEC CICS ABEND ABCODE('XXXX'). Causes transaction abend with code. NODUMP suppresses dump. CANCEL removes HANDLE ABEND first. Use for unrecoverable errors.
CICS ⭐ Featured
👁 0

Q: How to use INQUIRE command?

Answer:
INQUIRE retrieves resource status. EXEC CICS INQUIRE FILE(name) OPENSTATUS(ws-status). INQUIRE TRANSACTION, PROGRAM, etc. Returns current state. Use for dynamic decisions.
CICS ⭐ Featured
👁 0

Q: What is CHANNEL/CONTAINER?

Answer:
Channels group containers for data passing. EXEC CICS PUT CONTAINER(name) CHANNEL(chan) FROM(data). GET retrieves. Modern alternative to COMMAREA. No 32KB limit. Typed data support.
CICS ⭐ Featured
👁 0

Q: Explain ASKTIME/FORMATTIME

Answer:
ASKTIME gets current time. EXEC CICS ASKTIME ABSTIME(ws-abstime). FORMATTIME converts to readable. FORMATTIME ABSTIME(ws-abstime) DATESEP('/') TIMESEP(':'). Formatting options available.
CICS ⭐ Featured
👁 0

Q: How to use ENQ/DEQ?

Answer:
ENQ serializes resources. EXEC CICS ENQ RESOURCE(name) LENGTH(len). DEQ releases. Prevents concurrent access. NOSUSPEND returns immediately if busy. Use for data integrity.
CICS ⭐ Featured
👁 0

Q: How to WRITEQ with REWRITE?

Answer:
WRITEQ TS with REWRITE updates existing item. EXEC CICS WRITEQ TS QUEUE(name) FROM(data) REWRITE ITEM(n). Without REWRITE, adds new item. ITEM must exist for REWRITE.
CICS ⭐ Featured
👁 0

Q: What is NOHANDLE option?

Answer:
NOHANDLE suppresses condition handling. EXEC CICS command NOHANDLE RESP(ws-resp). Program handles all conditions. No HANDLE CONDITION invoked. Cleaner error handling. Recommended approach.
CICS ⭐ Featured
👁 0

Q: How to do interval control?

Answer:
START with INTERVAL/AFTER for delayed execution. EXEC CICS START TRANSID(xx) INTERVAL(001000). Or AFTER HOURS(1) MINUTES(30). For scheduled background work. Data via FROM or CHANNEL.
CICS ⭐ Featured
👁 0

Q: What is IMMEDIATE option?

Answer:
IMMEDIATE on RETURN returns without COMMAREA. EXEC CICS RETURN IMMEDIATE. Next input starts fresh - no continuation. Use when pseudo-conv not needed.
CICS ⭐ Featured
👁 0

Q: What is KEYLENGTH option?

Answer:
KEYLENGTH specifies key portion for generic access. EXEC CICS READ FILE RIDFLD(partial) KEYLENGTH(4) GENERIC. Finds first matching prefix. Use with GTEQ for range.
CICS ⭐ Featured
👁 0

Q: What is SYSID?

Answer:
SYSID identifies CICS system. 4-character name. EXEC CICS ASSIGN SYSID(ws-sysid). Or in RDO definitions. Used for MRO routing, function shipping. Remote file/program SYSID option.
CICS ⭐ Featured
👁 0

Q: Explain SUSPEND command

Answer:
SUSPEND yields control to other tasks. EXEC CICS SUSPEND. Allows multitasking. Task resumes when dispatched. Use sparingly. May help long-running tasks. Usually unnecessary.
CICS ⭐ Featured
👁 0

Q: How to use WAIT EVENT?

Answer:
WAIT suspends until event. EXEC CICS WAIT EVENT ECBLIST(ecb-list). Multiple ECBs. Returns when any posted. Used for synchronization. Timer events, external events.
JCL ⭐ Featured
👁 0

Q: How to code symbolic override?

Answer:
EXEC proc,SYM1=value1,SYM2=value2. Symbols defined in PROC with SET or & default. Override replaces default. Multiple overrides comma-separated. Must match PROC symbols. Case sensitive.
CICS ⭐ Featured
👁 0

Q: How to use RETRIEVE command?

Answer:
RETRIEVE gets data passed via START. EXEC CICS RETRIEVE INTO(area) LENGTH(len). Data from START FROM parameter. Or RETRIEVE CHANNEL for containers. One retrieve per start.
CICS ⭐ Featured
👁 0

Q: How to use CURSOR option?

Answer:
CURSOR positions cursor on SEND MAP. EXEC CICS SEND MAP CURSOR(pos). Position number from 0. Or CURSOR option in symbolic map (-1 in length field). Controls data entry flow.
CICS ⭐ Featured
👁 0

Q: Explain DATAONLY option

Answer:
DATAONLY sends only changed data. EXEC CICS SEND MAP DATAONLY FROM(data). No map formatting. Faster for updates. Fields must exist on screen. Use after initial MAPONLY.
CICS ⭐ Featured
👁 0

Q: What is FRSET?

Answer:
FRSET (Field Reset) resets MDTs. EXEC CICS SEND MAP FRSET. Only changed fields transmitted back. Efficiency. Without FRSET, all unprotected transmitted. Use for repeat maps.
CICS ⭐ Featured
👁 0

Q: How to use ACCUM option?

Answer:
ACCUM accumulates map output. EXEC CICS SEND MAP ACCUM. Build complete screen before send. Final EXEC CICS SEND PAGE. For multi-map screens. Message building.
CICS ⭐ Featured
👁 0

Q: How to use TRANSFORM?

Answer:
TRANSFORM converts data format. EXEC CICS TRANSFORM DATATOXML. XML/JSON transformations. Modern data exchange. Requires definitions. Simplifies integration.
DB2 ⭐ Featured
👁 0

Q: What is a DB2 plan vs package?

Answer:
Plan is executable form of program's SQL, bound from DBRM. Package is independent unit, can be shared. Plans contain packages or direct SQL. Packages allow separate rebind. Modern approach: package collections with small plans.
CICS ⭐ Featured
👁 0

Q: What is INVOKE SERVICE?

Answer:
INVOKE SERVICE calls web service. EXEC CICS INVOKE SERVICE. PIPELINE processing. SOAP/REST support. Modern integration. Requires CICS TS 3.1+.
CICS ⭐ Featured
👁 0

Q: Explain CICS DB2 connection

Answer:
CICS connects to DB2 via thread. EXEC SQL in CICS program. RCT (Resource Control Table) defines. Thread pool for efficiency. DB2 subsystem parameter.
CICS ⭐ Featured
👁 0

Q: What is EXEC CICS SEND CONTROL?

Answer:
SEND CONTROL sends control functions. EXEC CICS SEND CONTROL ERASE FREEKB. Clears screen, unlocks keyboard. No map or data. Prepare terminal for next operation.
CICS ⭐ Featured
👁 0

Q: What is ISSUE ABEND?

Answer:
ISSUE ABEND requests dump without termination. EXEC CICS ISSUE ABEND. Diagnostic snapshot. Continue execution. Alternative to full ABEND. Debug technique.
CICS ⭐ Featured
👁 0

Q: How to handle CICS timeout?

Answer:
Set RTIMOUT on transaction. EXEC CICS HANDLE CONDITION ERROR. DTIMOUT for deadlock. Program design for cleanup. TIMEOUT condition raised.
CICS ⭐ Featured
👁 0

Q: How to use CICS WAIT JOURNALNAME?

Answer:
WAIT JOURNALNAME ensures journal write. EXEC CICS WAIT JOURNALNAME(jname). Synchronize journal I/O. For assured delivery. Recovery purposes.
DB2
👁 0

Q: What is stored procedure?

Answer:
Stored procedure is saved SQL code. CREATE PROCEDURE name(params) BEGIN SQL statements END. CALL name(values) executes. Can have IN/OUT/INOUT parameters. Reduces network traffic. Logic in database. Security benefits.
COBOL
👁 0

Q: Explain PERFORM VARYING with example

Answer:
PERFORM VARYING executes a paragraph while incrementing a counter. Syntax: PERFORM para-name VARYING WS-IDX FROM 1 BY 1 UNTIL WS-IDX > 10. The counter is initialized, tested, and incremented automatically. Can have nested VARYING with AFTER clause.
DB2
👁 0

Q: How to prevent SQL injection?

Answer:
Use parameter markers (?), not concatenation. PREPARE stmt FROM 'SELECT * FROM t WHERE c = ?'. EXECUTE stmt USING :hostvar. Never build SQL with user input directly. Validate input. Use static SQL when possible.
COBOL
👁 0

Q: How does PERFORM THRU work?

Answer:
PERFORM para-1 THRU para-2 executes from para-1 through para-2 inclusive. Paragraphs must be contiguous. Common: PERFORM 1000-INIT THRU 1000-EXIT where EXIT paragraph has only EXIT. Ensures cleanup code always runs.
COBOL
👁 0

Q: What is TITLE statement?

Answer:
TITLE 'Page Header' sets listing page headers. Appears on each page of compilation listing. Useful for documentation. Multiple TITLES change as encountered. After IDENTIFICATION DIVISION start. Compiler directive, not executable.
JCL
👁 0

Q: What is TYPRUN parameter?

Answer:
TYPRUN options: SCAN (syntax check, no execution), HOLD (submit but hold), COPY (copy JCL to SYSOUT), JCLHOLD (hold with JCL). TYPRUN=SCAN validates JCL without running. Useful for testing complex JCL before production.
JCL
👁 0

Q: What causes S322 abend?

Answer:
S322 is job/step time exceeded. Check TIME parameter on JOB/EXEC. Causes: infinite loop, too much data, insufficient time allocated. Fix: increase TIME, optimize program, check data volumes. TIME=1440 is no limit (24 hours).
VSAM
👁 0

Q: How to access VSAM via CICS?

Answer:
Define FILE in CICS FCT (File Control Table). Or RDO DEFINE FILE. EXEC CICS READ FILE. VSAM must be closed to batch when CICS owns. NSRV or LSR buffering. BROWSE for sequential.
JCL
👁 0

Q: What is EXEC PGM vs PROC?

Answer:
EXEC PGM=name executes program directly. EXEC procname or EXEC PROC=procname invokes cataloged procedure. EXEC name where 'name' exists as PROC takes precedence. Procedures can be overridden with PROC.STEP.DD syntax.
JCL
👁 0

Q: What is IEFBR14?

Answer:
IEFBR14 is null program (Branch to Register 14 = return). Returns immediately. Used for dataset management: create, delete, catalog datasets. //DELETE EXEC PGM=IEFBR14 //DD DD DSN=name,DISP=(MOD,DELETE). Common for housekeeping.
JCL
👁 0

Q: What is CLASS parameter?

Answer:
CLASS assigns job to execution class. CLASS=A on JOB card. Initiators start jobs by class. Determines execution priority, resources. Installations define class characteristics. Multiple classes: CLASS=AB (not common). JES2/JES3 interpret differently.
CICS
👁 0

Q: How to SEND MAP to terminal?

Answer:
EXEC CICS SEND MAP(mapname) MAPSET(mapsetname) FROM(symbolic-map) ERASE. CURSOR option positions cursor. FREEKB unlocks keyboard. ALARM sounds alarm. MAPONLY sends without data. DATAONLY sends only modified fields.
CICS
👁 0

Q: What is RECEIVE MAP?

Answer:
EXEC CICS RECEIVE MAP(name) MAPSET(mapset) INTO(symbolic-map). Gets terminal input. Modified fields only (MDT). Check EIBAID for key pressed. MAPFAIL if no data. Symbolic map populated with input.
JCL
👁 0

Q: How does IEFBR14 delete work?

Answer:
//DEL EXEC PGM=IEFBR14 //DD DD DSN=file,DISP=(MOD,DELETE). If file exists, DISP=(MOD,DELETE) deletes. If not exists, MOD creates then deletes (empty). Or DISP=(OLD,DELETE) fails if not exists. Common pattern for cleanup.
CICS
👁 0

Q: How to handle MAPFAIL?

Answer:
MAPFAIL occurs when RECEIVE MAP finds no modified data. Handle: EXEC CICS RECEIVE MAP ... RESP(resp). IF resp = DFHRESP(MAPFAIL). User pressed Enter without typing. May need to redisplay or handle appropriately.
JCL
👁 0

Q: Explain JES2 control cards

Answer:
JES2 cards start with /*. /*JOBPARM limits resources. /*ROUTE sends output. /*OUTPUT JESDS specifies JES output. /*PRIORITY sets priority. Process by JES2, not passed to job. Position after JOB card before first EXEC.
CICS
👁 0

Q: What is ASSIGN command?

Answer:
ASSIGN retrieves system values. EXEC CICS ASSIGN USERID(ws-user) FACILITY(ws-term). Other options: SYSID, ABCODE, PROGRAM. Gets runtime environment info. Useful for audit, conditional processing.
CICS
👁 0

Q: Explain START command

Answer:
START schedules transaction for later. EXEC CICS START TRANSID(trans) AFTER HOURS(1) FROM(data). INTERVAL or TIME for specific time. Data passed in channel/container or FROM/LENGTH. Background processing.
CICS
👁 0

Q: What is GETMAIN?

Answer:
GETMAIN allocates temporary storage. EXEC CICS GETMAIN SET(pointer) LENGTH(size) INITIMG(X'00'). Returns pointer. Use for dynamic memory. FREEMAIN releases. SHARED for multi-task access. Automatic cleanup on task end.
CICS
👁 0

Q: What is transient data?

Answer:
TD queues for sequential I/O. EXEC CICS WRITEQ TD QUEUE(name) FROM(data). Intrapartition for CICS internal. Extrapartition for external datasets. Defined in DCT. Automatic trigger level option.
CICS
👁 0

Q: Explain HANDLE CONDITION

Answer:
HANDLE CONDITION sets error label. EXEC CICS HANDLE CONDITION NOTFND(para-notfnd). Jumps to label on condition. PUSH/POP HANDLE for nesting. Obsolete - prefer RESP option. Still seen in old code.
CICS
👁 0

Q: What is HANDLE ABEND?

Answer:
HANDLE ABEND traps abends. EXEC CICS HANDLE ABEND PROGRAM(abend-prog) or LABEL(abend-para). Allows cleanup before termination. CANCEL removes handler. Use for graceful error handling.
CICS
👁 0

Q: Explain REWRITE command

Answer:
REWRITE updates record. Must READ with UPDATE first. EXEC CICS REWRITE FILE(name) FROM(data) LENGTH(len). Changes record held from READ. Cannot change key. TOKEN matches UPDATE-READ.
CICS
👁 0

Q: What is DELETE command?

Answer:
DELETE removes record. EXEC CICS DELETE FILE(name) RIDFLD(key). Or after READ UPDATE: DELETE FILE(name). KEYLENGTH/GENERIC for range delete. NOTFND if key missing. NUMREC returns count deleted.
CICS
👁 0

Q: Explain RETURN command

Answer:
RETURN ends program or task. EXEC CICS RETURN returns to caller. EXEC CICS RETURN TRANSID(next) COMMAREA(data) for pseudo-conv. IMMEDIATE for no COMMAREA. End of logical unit.
CICS
👁 0

Q: What is SET command?

Answer:
SET modifies resource state. EXEC CICS SET FILE(name) OPEN/CLOSED. SET TRANSACTION ENABLED/DISABLED. Requires authority. Dynamic resource management. Change status without CEDA.
CICS
👁 0

Q: What is CEDF?

Answer:
CEDF is execution diagnostic facility. Debug tool. CEDF ON intercepts EXEC CICS. Step through commands. Display/modify data. Powerful debugging. CEDF transaction-id starts debug.
JCL
👁 0

Q: How to use JCLTEST?

Answer:
TYPRUN=JCLTEST validates JCL without execution. Checks syntax, dataset names, authorization. Some systems support TYPRUN=SCAN which is similar. Submit job and check messages. No resources actually allocated.
JCL
👁 0

Q: How to override PROC DD?

Answer:
//procstep.ddname DD overrides. //MYSTEP.SYSOUT DD SYSOUT=H changes SYSOUT class. Can add parameters or replace entirely. Add new DD: //MYSTEP.NEWDD DD DSN=... Position after EXEC procname.
CICS
👁 0

Q: What is journaling in CICS?

Answer:
Journaling records activity. EXEC CICS JOURNAL JFILEID(id) FROM(data). For recovery, audit. Define journal file. Can be automatic or explicit. System journal for CICS recovery.
CICS
👁 0

Q: What is BIF DEEDIT?

Answer:
BIF DEEDIT removes edit characters. EXEC CICS BIF DEEDIT FIELD(data) LENGTH(len). Converts edited numeric to raw. Removes $, commas, etc. Useful for BMS numeric input.
CICS
👁 0

Q: Explain CICS RECEIVE without MAP

Answer:
RECEIVE INTO without MAP gets raw terminal data. EXEC CICS RECEIVE INTO(area) LENGTH(len). For non-BMS screens. AID in EIBAID. Raw data stream. Lower level than BMS.
CICS
👁 0

Q: What is MAPONLY?

Answer:
MAPONLY sends map without data. EXEC CICS SEND MAP MAPONLY. Displays initial screen. No symbolic map data. Fast initial display. Use when no data to populate.
CICS
👁 0

Q: What is PAGING option?

Answer:
PAGING breaks large output. EXEC CICS SEND MAP PAGING. User navigates pages. Autopaging available. Terminal paging commands. For long reports on screen.
CICS
👁 0

Q: What is CONVERSE?

Answer:
CONVERSE combines SEND and RECEIVE. EXEC CICS CONVERSE FROM(out) INTO(in). One command for both. Simpler for simple screens. Less control than separate commands.
CICS
👁 0

Q: Explain CICS web support

Answer:
CICS handles HTTP. EXEC CICS WEB READ/WRITE. URIMAP defines URLs. Programs handle requests. JSON/XML responses. Modern application interface.
DB2
👁 0

Q: What is SQLCA structure?

Answer:
SQLCA (SQL Communication Area) contains execution results. SQLCODE for return code. SQLERRM for message. SQLERRD(3) for rows affected. SQLWARN for warnings. INCLUDE SQLCA in WORKING-STORAGE. Check after each SQL statement.
CICS
👁 0

Q: How to use DOCTEMPLATE?

Answer:
DOCTEMPLATE defines dynamic content. Create template with symbols. Insert data at runtime. EXEC CICS DOCUMENT SET/INSERT. For generating responses.
CICS
👁 0

Q: What is CICS asynchronous processing?

Answer:
RUN TRANSID for async execution. EXEC CICS RUN TRANSID(xx) CHILD. FETCH CHILD waits for completion. Modern async pattern. Alternative to START.
CICS
👁 0

Q: How to handle CICS security?

Answer:
RACF/ACF2 integration. EXEC CICS QUERY SECURITY. SIGNON establishes identity. VERIFY checks resource access. XFCT/XPPT exits. Secure by default.
DB2
👁 0

Q: What is BIND command?

Answer:
BIND creates plan/package from DBRM. BIND PLAN(name) MEMBER(dbrm). Options: ISOLATION, VALIDATE, EXPLAIN. REBIND updates existing. BIND PACKAGE for packages. Precompile creates DBRM, BIND makes executable.
CICS
👁 0

Q: How to use PUSH/POP HANDLE?

Answer:
PUSH HANDLE saves current handlers. POP HANDLE restores. EXEC CICS PUSH HANDLE. Allows nested handler management. Clean up with POP. For modular code.
CICS
👁 0

Q: What is EXEC CICS SPOOLOPEN?

Answer:
SPOOLOPEN accesses JES spool. SPOOLREAD/SPOOLWRITE for data. SPOOLCLOSE ends. Process job output. Modern batch integration. Requires authorization.
CICS
👁 0

Q: What is CICS FEPI?

Answer:
FEPI (Front End Programming Interface) connects to external systems. Terminal emulation. Legacy integration. EXEC CICS FEPI commands. Complex configuration.
DB2
👁 0

Q: What is FETCH SENSITIVE cursor?

Answer:
SENSITIVE cursor reflects concurrent changes by other processes. EXEC SQL DECLARE cursor SENSITIVE STATIC/DYNAMIC SCROLL CURSOR. INSENSITIVE does not see changes. Affects isolation behavior. Consider performance impact.