MainframeKit

ILLOGIC

DFHRESP(ILLOGIC) = 21CICS RESP CONDITION

VSAM returned an error that does not fit any other CICS file condition; the details are in EIBRCODE.

MOST LIKELY

A VSAM-level problem with the data set or its index that CICS has no specific condition for.

FIRST CHECK

Capture EIBRCODE (all bytes) as soon as the command returns and log it.

TRY IT ▸

MainframeKit assistant

What it means

RESP 21 (RESP2 110) is a catch-all for VSAM errors. CICS cannot map the problem to a more specific condition, so it passes on VSAM's own codes.

EIBRCODE byte 2 is X'02' for ILLOGIC; byte 3 holds the VSAM problem determination code and byte 4 the VSAM component code. Those bytes tell you what VSAM objected to.

Typical causes

  • A VSAM-level problem with the data set or its index that CICS has no specific condition for.
  • For a user-maintained data table, a non-update READ while the table is still loading, when CICS goes to the source data set.

How to fix it

  1. Capture EIBRCODE (all bytes) as soon as the command returns and log it.
  2. Look up the VSAM codes from bytes 3 and 4 in the VSAM documentation to see the real cause.
  3. Check the data set's health with the storage team, for example with an IDCAMS VERIFY or EXAMINE.
  4. Retry once the data set problem is fixed; ILLOGIC is not usually a program logic error.