Troubleshooting
Problem
You have a COBOL program running in your CICS Transaction Server for z/OS (CICS TS) region that is receiving a PGMIDERR for an EXEC CICS XCTL PROGRAM(WS-PGMID) or EXEC CICS LINK PROGRAM(WS-PGMID) command. The program does not handle the PGMIDERR condition, and the result is an abend AEI0.
Cause
The program name defined in working storage for the EXEC CICS XCTL or EXEC CICS LINK command is only five characters in length and is not being padded with three blanks.
Diagnosing The Problem
For example, FP055 is a valid program name in the CICS region. But, you receive the following message:
DFHPG0207 Autoinstall for program FP055 failed. The program name is not valid.
If you turn HEX on in SDSF when viewing the message, you can see there are 3 low-values following FP055 instead of blanks. It appears that there are 3 bytes added to the length of the program name on the XCTL command when the program name is not hard-coded in the XCTL command. When the program name is specifically coded; EXEC CICS XCTL PROGRAM("FP055") does not return an abend.
Your COBOL program contains the following code:
05 WS-PGMID PIC X(05).
MOVE "FP055" TO WS-PGMID.
EXEC CICS XCTL PROGRAM(WS-PGMID)
END-EXEC.
Resolving The Problem
When using a data area to contain the program name in a COBOL program, define the data area as PIC X(8).
The CICS TS documentation states this requirement in both LINK and XCTL topics:
If a data area is used to contain the program name, this data area must be defined as an 8 byte field...
Note: The data area containing the program name can be defined in the WORKING-STORAGE SECTION, LINKAGE SECTION, or the LOCAL-STORAGE SECTION.
Product Synonym
CICS/TS CICS TS CICS Transaction Server
Was this topic helpful?
Document Information
Modified date:
26 May 2026
UID
swg21254510