MainframeKit

AEI0

PGMIDERR condition not handledCICS ABEND

A LINK, XCTL or similar command raised PGMIDERR (program not found or not usable) and the program did not handle it.

MOST LIKELY

The program name is misspelt, or a new program has no definition in this region and autoinstall is off.

FIRST CHECK

Note the program name from the abend message and check it with CEMT I PROGRAM(name).

TRY IT ▸

MainframeKit assistant

What it means

CICS could not run the program named in the command, the program did not check RESP, so CICS ended the task with AEI0.

RESP2 on the PGMIDERR tells you why: 1 means there is no program definition and it was not autoinstalled, 2 means the program is disabled, 3 means the load module could not be loaded. Message DFHPG0207 may also appear.

Typical causes

  • The program name is misspelt, or a new program has no definition in this region and autoinstall is off.
  • The program is defined but disabled.
  • The load module is not in the DFHRPL libraries, so the load failed (and later loads keep failing until it is refreshed).
  • The program name is held in a field shorter than 8 bytes, so CICS reads extra bytes after the name and looks up the wrong name.
  • The program autoinstall exit or its model definition is wrong.

How to fix it

  1. Note the program name from the abend message and check it with CEMT I PROGRAM(name).
  2. Define the field holding the program name as PIC X(8), padded with spaces.
  3. If the load failed, put the module in a DFHRPL library and issue CEMT SET PROGRAM(name) NEWCOPY.
  4. If it is disabled, find out why before enabling it again.
  5. Add RESP and RESP2 to the LINK or XCTL so the program can report the reason instead of abending.

Example

Illustrative only; names and values are invented.

01 WS-PGM-NAME   PIC X(8) VALUE 'ORDPGM01'.
EXEC CICS LINK PROGRAM(WS-PGM-NAME) COMMAREA(WS-COMM)
     RESP(WS-RESP) RESP2(WS-RESP2) END-EXEC