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: What is UDF (User Defined Function)?

Answer:
UDF extends SQL with custom functions. CREATE FUNCTION name(params) RETURNS type AS BEGIN logic END. Scalar returns single value. Table function returns rows. Use in SELECT, WHERE like built-in functions.
VSAM ⭐ Featured
👁 0

Q: What is CI and CA in VSAM?

Answer:
CI (Control Interval) is I/O unit, like block. Contains records, free space, control info. CA (Control Area) is group of CIs. CISIZE affects performance. CI split when full. CA split more expensive.
VSAM ⭐ Featured
👁 0

Q: Explain REUSE parameter

Answer:
REUSE allows reloading without delete/define. DEFINE CLUSTER ... REUSE. OPEN OUTPUT resets to empty. Like scratch and rewrite. Good for temporary work files. Cannot be UNIQUE.
COBOL ⭐ Featured
👁 0

Q: What is LOCAL-STORAGE SECTION?

Answer:
LOCAL-STORAGE SECTION is reinitialized each invocation. Unlike WORKING-STORAGE which retains values. Each thread gets own copy. Useful for recursive programs and threaded environments. COBOL-85+ feature. Not all compilers support equally.
JCL ⭐ Featured
👁 0

Q: What causes S0C4 in batch?

Answer:
S0C4 is protection exception - addressing unallocated memory. Causes: uninitialized pointer, subscript out of range, incorrect LINKAGE SECTION. Check CEEDUMP for offset. Likely program bug. Use debugger to trace.
COBOL
👁 0

Q: What is GOBACK vs STOP RUN?

Answer:
STOP RUN terminates entire run unit (all programs). GOBACK returns to caller; if main program, acts like STOP RUN. Use GOBACK in subprograms to return control. STOP RUN from subprogram ends everything unexpectedly.
VSAM
👁 0

Q: How to create temporary VSAM?

Answer:
Use REUSE attribute. Or define/delete in same job. Or use GDG-like naming. JCL doesn't support && for VSAM. IDCAMS DELETE at job end. Cannot be truly temporary like sequential.
JCL
👁 0

Q: Explain LIKE parameter

Answer:
LIKE copies DCB attributes from existing dataset. DCB=*.STEP1.DD or LIKE=catalog.dataset. Simplifies JCL. Model dataset must exist or be allocated earlier. Override specific attributes: DCB=(LIKE=...,LRECL=100).
JCL
👁 0

Q: What is KEYLEN parameter?

Answer:
KEYLEN specifies key length for new dataset. DCB parameter for VSAM-like. Or VSAM DEFINE CLUSTER KEYS(length offset). Length 1-255. Required for indexed organization. Offset from 0 or 1 depending on context.
VSAM
👁 0

Q: What is REUSE option purpose?

Answer:
REUSE allows OPEN OUTPUT to reset file. Like delete/define without overhead. Good for work files. DEFINE CLUSTER ... REUSE. Cannot be UNIQUE. Efficient for scratch files.
DB2
👁 0

Q: How to use LIKE for patterns?

Answer:
LIKE matches patterns. % matches zero or more chars. _ matches single char. WHERE name LIKE 'SM%' finds Smith, Smart. ESCAPE clause for literal % or _. Not index friendly unless prefix match (e.g., 'ABC%').