MainframeKit

PGMIDERR

DFHRESP(PGMIDERR) = 27CICS RESP CONDITION

CICS could not find, load or run the program the command named.

MOST LIKELY

No PROGRAM definition and program autoinstall is off or declined.

FIRST CHECK

Capture RESP2 and match it to the cause.

TRY IT ▸

MainframeKit assistant

What it means

PGMIDERR is raised on LINK and similar commands when the target program cannot be used. RESP2 explains why: 1 means no definition (and autoinstall did not create one), 2 means the program is disabled, 3 means it could not be loaded.

Other RESP2 values cover program autoinstall problems, the dynamic routing program rejecting the request, and Java or Liberty failures.

Typical causes

  • No PROGRAM definition and program autoinstall is off or declined.
  • The program is disabled.
  • The load module is not in the DFHRPL libraries, or failed to load.
  • The program name in the command is wrong.

How to fix it

  1. Capture RESP2 and match it to the cause.
  2. Check the PROGRAM definition and its status (for example with CEMT INQUIRE PROGRAM).
  3. Make sure the module is in the DFHRPL concatenation, then refresh it with SET PROGRAM NEWCOPY.
  4. Check the spelling of the program name the code passes.
  5. Code RESP (and RESP2) on the command and test the value with DFHRESP.

Example

Illustrative only; names and values are invented.

EXEC CICS LINK PROGRAM('PROG02') COMMAREA(WS-AREA)
     RESP(WS-RESP) RESP2(WS-RESP2) END-EXEC
IF WS-RESP = DFHRESP(PGMIDERR) ...