About DL/I status codes

DL/I operations issue codes to report status or problems.

The status code tables briefly explain each status code and list the calls for which you can receive each status code. The tables also include a column of numbers representing the category of each status code; the numbers and the corresponding explanations are below.

Categories of DL/I status codes

The numbers in the category column of the status codes tables refer to the following categories of status codes:

  1. Those indicating exceptional but valid conditions. The call is completed.
  2. Those indicating warning or information-only status codes on successful calls (for example, GA and GK). If the call requested data, IMS returns the data to the I/O area. The call is completed.
  3. Those indicating warning status codes on successful calls when data is not returned to the I/O area. The call is completed.
  4. Those indicating improper user specifications. Most status codes are in this category. The call is not completed.
  5. Those indicating system, I/O, or security errors encountered during the execution of I/O requests. The call is not completed.
  6. Those indicating unavailable data.
  7. The call could not be completed because the LOCKTIME value has been exceeded for an IRLM lock request.

Database calls

Table 1. Database calls
PCB Status Code CLSE (GSAM) DEQ GU, GHU GUR GN, GHN GNP, GHNP DLET, REPL ISRT (LOAD) ISRT (ADD) FLD POS OPEN (GSAM) QUERY REFRESH TERM Category Description
AB   X X X X X X X X X X     X   4 Segment I/O area required; none specified in call. Only applies to full-function DEQ calls.
AC     X X X X X X X             4 Hierarchic error in SSAs.
AD   X X X X X X X X X X     X   4 Function parameter incorrect. Only applies to full-function DEQ calls.
AF     X X X                     4 GSAM detected invalid variable-length record.
AG                     X         4 Unqualified POS I/O area too small.
AH               X X             4 Required SSA missing. Options list not specified in SETO call.
AI     X X X X X X X             5 Data management OPEN error.
AJ   X X X X X X X X X           4 Incorrect parameter format in I/O area; incorrect SSA format; incorrect command used to insert a logical child segment. I/O area length in AIB is invalid; incorrect class parameter specified in Fast Path Q command code.
AK     X X X X   X X X X         4 Invalid SSA field name.
AM     X X X X X X X X X         4 Call function not compatible with processing option, segment sensitivity, transaction code, definition, or program type.
AO     X X X X X X X   X         5 I/O error: OSAM, BSAM, or VSAM.
AT             X X X             4 User I/O area too long.
AU     X X X X X X X             4 SSAs too long.
BA     X X X X X   X             6 Call could not be completed because data was unavailable.
BB     X X X X X   X             6 Call could not be completed because data was unavailable and updates are backed out only since the last commit point.
BC   X                           6 Call could not be completed because of a deadlock occurrence; updates are backed out only since the last commit point.
BD     X X X X X   X             7 The call could not be completed because the value specified on LOCKTIME was exceeded for an IRLM lock request.
DA             X     X           4 Segment key field or nonreplaceable field has been changed.
DE       X                       4 GUR calls can be issued only with the AIB interface.
DJ             X                 4 No preceding successful GHU or GHN call or an SSA supplied at a level not retrieved.
DX             X                 4 Violated delete rule.
EM                     X           Normally for a utility.
FA     X X           X           4 MSDB arithmetic overflow error occurred.
FC                     X         4 POS call for direct dependent segments only.
FD     X X X X X X X X           3,6 Deadlock occurred or external subsystem failure during CHKP or SYNC call.
FE                   X           4 FSA error, not field name.
FF                 X             3 No space in MSDB.
FG                   X           4 Combination of FE and FW codes.
FH     X X X X X X X   X         3 Area unavailable or area changed status between update call and CHKP or SYNC.
FI     X X X X X X X   X         4 I/O area not in user dependent region.
FM     X X X X   X X   X         4 Randomizing routine return code = 4.
FN                   X           4 FSA error, field name.
FP             X   X X           4 Invalid hexadecimal or decimal data.
FR     X X X X X X X X X         5 Total buffer allocation exceeded.
FS               X               3 DEDB areas are full.
FT     X X X X X X     X         4 Too many SSAs on call.
FV                   X           3 MSDB verify that condition failed.
FW   X X X X X X X X X X         2 More resources needed than normally allowed. For the DEQ call, Fast Path was not able to release any buffers. Consider issuing a COMMIT.
FY     X X X X X X X X X         4 Attempt to read sequential data preceding the current position.
GA         X X                   2 Crossing hierarchical boundary.
GB         X                     1 End of database.
GC     X X X     X     X         3 Crossing unit of work (UOW) boundary.
GD                 X             1 Call did not have SSAs for all levels above insert and has lost segment position.
GE     X X X X     X             1 Segment not found.
GG     X X X X                   5 Segment contains invalid pointer.
GK         X X                   2 Crossing segment boundaries on same level.
GL   X                           4 Invalid user log code. Only applies to full-function DEQ calls.
GP           X     X   X         4 No parentage established.
HT                     X           Normally for a utility.
II                 X             3 Segment exists.
IX                 X             4 Violated insert rule.
L2                 X             1 The area lock failed.
LB               X               1 Segment being loaded exists in database.
LC               X               4 Key field of segments out of sequence.
LD               X               4 No parent for this segment has been loaded.
LE               X               4 Sequence of sibling segments not the same as DBD sequence.
LF               X               4 An attempt was made to load a logical child segment in either a HALDB PHDAM or PHIDAM database.
LS                 X             1 Work might be backed out because sufficient CI space was not preallocated for the area, or the SDEP CI lock failed.
NA                         X X   6 A database was unavailable.
NE             X                 3 DL/I call issued by index maintenance cannot find segment.
NI             X X X             1 Index maintenance found duplicate segments in the index or it detected an index maintenance open error.
NO             X X X             5 I/O error: OSAM, BSAM, or VSAM.
NU                         X X   6 A database was unavailable for update.
OS                     X           Normally for a utility.
RX             X                 4 Violated replace rule.
SD     X   X X                   4 SSA of command code O and position and length against a Fast Path secondary index database is not allowed.
SF     X   X X       X           4 Altered segment cannot be accessed with field-level sensitivity until altered ACB member is activated by online change.
TH                         X     4 No PSB was scheduled (command-level only).
TI                 X             4 Invalid path to segment (command-level only).
      X X X X X   X           X 5 DL/I not active (command-level only).
      X X X X X X X             5 Invalid system DIB (command-level only).
TO             X                 4 Path replace error (command-level only).
TP     X X X X X X X             4 Invalid number for PCB or invalid processing option (command-level only).
TR   X X X X X X   X   X       X 4 CICS® XDLIPRE user exit determined the preceding request should not be run.
TY     X X X X X X X             5 Database not open (command-level only).
TZ     X X X X X   X     X       5 Length of segment greater than 64 KB.
UC               X               1 Checkpoint taken (Utility Control Facility (UCF) status code).
US               X               1 Stop (UCF status code).
UX               X               1 Checkpoint and stop (UCF status code).
V1             X X X             4 Segment length not within limits of DBDGEN.
V2     X X X X X X X     X     X 4 Segment length invalid (command-level only).
V3     X X X X     X             4 Field length missing or invalid (command-level only).
V4     X X X X X X X             4 Length of variable-length segment invalid (command-level only).
V5     X X X X X   X             4 Offset if invalid (command-level only).
V6     X X X X X   X             4 Concatenated key length invalid (command-level only).
XX     X X X     X X             5 Internal GSAM error.
bb1 X X X X X X X X X X X X X X X 1 No status code returned. Proceed.
Note:
  1. bb indicates blank.

Message calls

Table 2. Message calls
PCB
status
code
AUTH GU GN ISRT CHNG CMD GCMD PURG SETO Category Description
AA       X X         4 CHNG call for alternate response PCB can specify only logical terminal destination; transaction code destination specified.
AB X X X X X X X     4 Segment I/O area required; none specified in call.
AD   X X X X X X X X 4 Function parameter invalid.
AH                 X 4 Required SSA missing. Options list not specified in SETO call.
AJ                 X 4 Invalid parameter format in I/O area; invalid SSA format; invalid command used to insert a logical child segment. I/O area length in AIB is invalid.
AL X X X X X X X X   4 Call using I/O PCB in batch program.
AP X X X X X X X X   4 Specifying more than four user call parameters for a TP PCB is not valid.
AR         X       X 4 Error in option list related to IMS option keyword.
AS         X       X 4 The PRTO= option contained invalid data set processing options.
AT X     X       X   4 User I/O area too long.
AX X     X X       X 5 System error. Call not completed successfully.
AY       X           4 Alternate response PCB referenced by ISRT call has more than one physical terminal assigned for input purposes. Notify master terminal operator.
AZ               X   4 The conversational program has issued a PURG call to PCB that cannot be purged.
A1 X     X X         4 AUTH call attempted with invalid generic class name or error occurred during attempt to set destination name specified in the CHNG or ISRT call.
A2         X         4 Call attempted with invalid PCB (PCB not modifiable or ISRT operation already done).
A3       X       X   4 Call attempted to a modifiable TP PCB with no destination set.
A4 X     X X         4 Security violation detected during processing of either an AUTH call, a CHNG call, or an ISRT on a conversational response.
A5       X       X   4 Format name specified on second or subsequent message ISRT or PURG.
A6       X           4 Output segment size limit exceeded on call.
A7       X           4 Number of output segments inserted exceeded the limit by one. Any further queue manager calls are prohibited to prevent message queue overflow.
A8       X           4 ISRT to alternate response PCB followed ISRT to I/O PCB or vice versa.
A9       X           4 Alternate response PCB referenced by call requires that the source physical terminal receive the output response.
CA           X       4 No such command. No command responses produced.
CB           X       4 Command, as entered, not allowed for AOI. No command responses produced.
CC           X       2 Command ran. One or more command responses produced.
CD           X       4 Entered command violates security. No command responses produced.
CE   X               2 Transaction rescheduled after CMD call. Commit point had not been reached.
CF   X               2 Message on queue before IMS was last started.
CG   X               2 Transaction originated from AOI exit routine.
CH           X       5 AOI detected system error; CMD request not processed. Reissue CMD call.
CI   X               2 Transaction on queue before IMS last started. Transaction rescheduled. Commit point not reached.
CJ   X               2 Transaction from AOI exit routine. Message rescheduled. Commit point not reached.
CK   X               2 Transaction from AOI exit routine. Message on queue before IMS last started.
CL   X               2 Transaction from AOI exit routine. Message on queue before IMS last started. Message rescheduled. Commit point had not been reached.
CM           X       3 Command ran. No command response produced.
CN           X       4 IOASIZE= parameter on PSBGEN macro does not meet minimum requirement for CMD call.
E1       X X         4 The DFSMSCE0 user routing exit rejected the CHNG or ISRT call.
E2       X X         4 The DFSMSCE0 user routing exit rejected the CHNG or ISRT call.
E3       X X         4 The DFSMSCE0 user routing exit rejected the CHNG or ISRT call.
FF   X               3 No space in MSDB.
FH   X               3 DEDB inaccessible.
FI     X X X         4 I/O area not in user dependent region.
FS   X               3 DEDB areas are full.
FV   X               3 MSDB verify that condition failed.
MR   X X X   X X X   4 Error detected by the IBM® IMS Queue Control Facility for z/OS® routines.
QC   X               3 No more input messages exist.
QD     X       X     3 No more segments exist for this message.
QE     X       X     4 GN request before GU. GCMD request before CMD.
QF   X   X       X X 4 Segment less than five characters (segment length is message text length plus four control characters). (Non-shared Queues)
        X             Shared Queues are full. (Shared Queues)
QH       X X     X X 4 Terminal symbolic error; output designation unknown to IMS (logical terminals or transaction code). Either the message segment LL is not at least 5 bytes or the destination name in I/O area is blank or invalid.
TG X                 4 No PSB was scheduled (command-level only).
  X                 5 Invalid system DIB (command-level only).
TP X                 4 Invalid number for PCB or invalid processing option (command-level only).
TY X                 5 Database not open (command-level only).
TZ X                 5 Length of segment greater than 64 KB.
XA       X           4 Attempt to continue processing the conversation by passing SPA by a program-to-program switch after answering terminal.
XB       X           4 Program passed SPA to other program, but trying to respond.
XC       X           4 Program inserted message with Z1 field bits set. These bits are reserved for system use.
XE       X           4 Tried to ISRT SPA to express PCB.
XF       X X         4 Alternate PCB specified in ISRT call for SPA had destination set to a logical terminal, but was not defined as ALTRESP=YES. MSC direct routing does not support program-to-program switch between conversational transactions.
XG       X           4 Current conversation requires fixed-length SPAs. Attempt was made to insert SPA to transaction with a different or nonfixed- length SPA.
X2       X       X   4 First insert to transaction code PCB that is conversational is not a SPA.
X3       X           4 Invalid SPA.
X4       X           4 Insert to a transaction code PCB that is not conversational and the segment is a SPA.
X5       X           4 Insert of multiple SPAs to transaction code PCB.
X6       X           4 Invalid transaction code name inserted into SPA. For an APPC or OTMA protected transaction, an immediate program switch or deferred program switch is not allowed.
X7       X           4 Length of SPA is incorrect (user modified first 6 bytes).
X9       X           4 Length of the SPA is greater than the size of the PSB I/O area.
bb1 X X X X X X X X X 1 No status code returned. Proceed.
Note:
  1. bb indicates blank.

System service calls

Although the APSB, DPSB, and ROLL calls are included in the following table, they do not receive status codes.

Table 3. System service calls
PCB status code CHKP INIT INQY JAVA SYNC LOG PCB ROLB ROLL ROLS SETS SETU SNAP 1 STAT 2 SYNC XRST Category Description
AB X X X   X               X     4 Segment I/O area required; none specified in call.
AC                         X     4 Hierarchic error in SSAs.
AD X X X   X   X X X X     X X X 4 Function parameter invalid.
AG     X                         4 Partial data return. I/O area too small.
AJ   X X           X             4 Invalid parameter format in I/O area; invalid SSA format; invalid command used to insert a logical child segment. I/O area length in AIB is invalid.
AL             X   X X           4 Call using I/O PCB in batch program.
AP X                             4 More than 4 user call parameters for a TP PCB are invalid.
AQ     X                         4 Invalid subfunction code.
AT         X                     4 User I/O area too long.
BE   X                           4 A database name that is specified on the VERSION function of the INIT call cannot be found.
BF   X                           4 The INIT VERSION call is invalid or database versioning not enabled.
BG   X                           4 Unsupported database type.
BJ     X                         6 All of the databases included in the PSB are unavailable or no database PCBs are in the PSB.
BK     X                         6 At least one of the databases included in the PSB is unavailable or has limited availability, or at least one PCB received an NA or NU status code.
FA X                         X   4 MSDB arithmetic overflow error occurred.
FD   X                       X   3 Deadlock occurred.
FF X                             3 No space in MSDB.
FH X                         X   3 DEDB inaccessible.
FI X           X                 4 I/O area not in user dependent region.
FS X                         X   3 DEDB areas are full.
FV X                         X   3 MSDB verify that condition failed.
GA                         X     2 Crossing hierarchic boundary.
GE X                       X X   1 Segment not found.
GL         X                     4 Invalid user log code.
NA   X                           6 A database was unavailable.
NL X                             4 XEFRDER card not provided.
NU   X                           6 A database was unavailable for update.
QC X                             3 No more input messages exist.
QE X           X                 4 GN request before GU. GCMD request before CMD.
QF X                             4 Segment less than five characters (segment length is message text length plus four control characters).
RA                 X             4 Token does not match one for a SETS, or the PCB did not get BA or BB on last call.
RC                 X             4 ROLS call issued with unsupported PCBs in the PSB, or the program is using an attached subsystem.
SA                   X           5 Insufficient space.
SB                   X           4 Would exceed maximum number of levels allowed.
SC                   X X         5 A SETS/SETU call was issued with unsupported PCBs in the PSB, or the program is using an attached subsystem.
SY       X                       5 Internal error during sync point processing for an IMS Java™ application.
TA           X                   5 PSB not in PSB directory (command-level only).
TC           X                   4 PSB already scheduled (command-level only).
TE           X                   5 PSB initialization failed (command-level only).
TJ           X                   5 DL/I not active (command-level only).
TL           X                   4 Conflict in scheduling intent (command-level only).
TN X       X X X X         X   X 5 Invalid system DIB (command-level only).
TP           X             X     4 Invalid number for PCB or invalid processing option (command-level only).
TR         X X       X     X     4 CICS XDLIPRE user exit determined the preceding request should not be run.
TY           X             X     5 Database not open (command-level only).
TZ           X             X     5 Length of segment greater than 64 KB.
V2           X                   4 Segment length invalid (command-level only).
V7                         X     4 Statistics area length invalid (command-level only).
XD X                         X   1 IMS terminating. Further DL/I calls must not be issued. No message returned.
bb3 X X X   X X X   X X X X X X X 1 Good. No status code returned. Proceed.
Notes:
  1. SNAP is a Product-sensitive programming interface.
  2. STAT is a Product-sensitive programming interface.
  3. bb indicates blank.