Simple Mainframe Universe
Home Tutorials Interview Q&A Quiz Mainframe Memes Contact us About us

CICS Troubleshooting


AEI0 program not found

AEI0 (PGMIDERR) means CICS could not find the program the transaction tried to LINK, XCTL or LOAD.

What it means

  • The program name is not defined to CICS, not enabled, or not in the load libraries.
  • It is the online equivalent of "program not found".

Common causes

  • Program not defined in a PROGRAM resource (or definition not installed).
  • Load module missing from the DFHRPL concatenation.
  • Program name misspelled in the LINK/XCTL call.
  • New version deployed to the wrong library.

How to diagnose

  • Use CEMT INQUIRE PROGRAM(name) to check definition and enable status.
  • Verify the load module exists in the DFHRPL libraries.
  • Check the calling program for the exact name it passes.

How to fix it

  • Define and install the PROGRAM resource (CEDA/CEMT).
  • Place the load module in a DFHRPL library and NEWCOPY it.
  • Correct the program name in the calling code.

Example: Check program definition (CEMT)

CEMT INQUIRE PROGRAM(MYPROG) *> Look for: ENABLED, and correct library in DFHRPL CEMT SET PROGRAM(MYPROG) NEWCOPY *> after deploying a fix

NEWCOPY loads the fresh module without a region restart.

Interview tip

  • Q: How would you troubleshoot a AEI0 program not found in production?
  • A: I would check the PROGRAM definition with CEMT, verify the load module is in DFHRPL, and confirm the name used in the LINK or XCTL call.

Prevention checklist

  • Deployment checklist: define, install, NEWCOPY.
  • Automate resource definitions with the release.




© copyright mainframebug.com
Privacy Policy
MainframeBug Assistant