Mainframe Path Start learning free
CoreError and abend codesAEXL

CICS AEXL, AEIS, AEIL, AEIM — a file request the program did not handle

A CICS file command returned a condition, and the program had no RESP check for it, so CICS ended the task with that condition's abend code. The code tells you which state the file is in.

What happened

The user's screen shows an abend message instead of the next screen. The program issued an EXEC CICS file command (READ, WRITE, REWRITE, STARTBR and so on). CICS could not do it and raised a condition. The program had no RESP option and no HANDLE CONDITION for it, so CICS took the default action and ended the task with the condition's own abend code.

Terminal message (illustrative)Illustrative example
DFHAC2206 07:12:40 CICSPRD1 Transaction ACIN failed with abend AEXL. Updates to local
          recoverable resources backed out.

What it means

Each file condition has its own abend code, so the code already tells you what CICS found:

The file's state decides which one you get. A CLOSED, ENABLED file is opened by CICS on the first request. A CLOSED, DISABLED file gives DISABLED, never NOTOPEN.

Typical causes

Where to look

How to fix it

  1. Name the condition from the abend code.
  2. Check the file with CEMT I FILE.
  3. Closed and disabled after batch: confirm the batch job has finished with the data set, then CEMT S FILE(name) OPE ENA, and retry the transaction.
  4. Not defined: the file needs a resource definition installed in this region (usually the CICS systems team).
  5. NOTFND: a data or program question, not a file state. The program should handle it and tell the user.
  6. Afterwards: make the reopen step run even after a warning, and add RESP checks so users get a clear message instead of an abend.

Interview question

After the overnight batch, one transaction abends AEXL at every branch. What do you check first?

Stuck on something else?
Ask the community or search the full course.

Ask a question