IMS DB/DC Return Codes

The IMS return codes are listed here alphabetically in this and two other pages, you may browse through them or you may enter the code you are looking for and press the enter key to go directly to the error message in the correct file.

AA AB AC AD AF AH AI AJ AK AL AQ AM AO AP AT AU AY AZ A1 A2 A3 A4 A5 A6 A7 A8 A9 BA BB BC BJ BK CA CB CC CD CE CF CG CH CI CJ CK CL CM CN DA DJ DX FA FC FD FE FF FG FH FI FM FN FP FR FS FT FV FW GA GB GC GD GE GG GK GL GP II IX LB LC LD LE MR NA NE NI NO NU QC QD QE QF QH RA RC RX SA SB SC TA TC TE TG TH TI TJ TL TN TO TP TQ TR TY TZ UC UR US UX V1 V2 V3 V4 V5 V6 V7 XA XB XC XD XE XF XG XX X1 X2 X3 X4 X5 X6 X7 X8 X9 Blanks

AA
Explanation: IMS ignored a CHNG or ISRT call because the response alternate PCB referenced in the call specified a transaction code as a destination. A response alternate PCB must have a logical terminal specified as its destination.

Programmer Response: Correct the CHNG or ISRT call.


AB
Explanation: An I/O area is required as one of the parameters on this call and the call did not specify one. After this status code is returned, your position in the database is unchanged.

Programmer Response: Correct the call by including the address of an I/O area as one of the call parameters.


AC
Explanation: For call-level programs: There is an error in an SSA for a DLET, a get, an ISRT, or a REPL call for one of these reasons:

IMS also returns this status code when a STAT call has an invalid statistics function. After this status code is returned, your position in the database is unchanged.

For command-level programs: There is an error in one of WHERE or SEGMENT options on a get or ISRT command for one of these reasons:

Programmer Response: Correct the segment name in the SSA or SEGMENT option or the statistics function in the STAT call.


AD
Explanation: For call-level programs: Either the function parameter on the call is invalid or the function is not supported for the type of PCB specified in the call. Some possible reasons are:

For command-level programs: A command was issued that is not supported in the environment; for example, a system service command in an online program. If the command is correct, some other possible causes are:

Programmer Response: Be sure that the function specified is valid for the PCB specified by the request.


AF
Explanation: GSAM detected a variable-length record whose length is invalid on a GU, GHU, GN, or GHN.

Programmer Response: Correct the program.


AH
Explanation: The program issued an ISRT call (load or add) that did not include any SSAs. ISRT calls require SSAs. If the program was issuing a GU call to a GSAM database, the GU did not specify an RSA. RSAs are required on GU calls to GSAM databases. After this status code is returned, your position in the database is unchanged.

Programmer Response: Correct the ISRT call by including a qualification, or correct the GU call by adding an RSA to the call.


AI
Explanation: A data management open error occurred. Some possible reasons are:

If IMS returns message DFS0730I, you can determine the cause of the OPEN failure from this message in the job log. For more information, see the description of this message in IMS/ESA Messages and Codes.

Programmer Response: These kinds of problems often require the help of a system programmer or system administrator. But before you go to one of these specialists, there are some things you can do:


AJ
Explanation: For call-level programs: For calls such as SETS, ROLS, and INIT that provide parameters in the I/O area, the format of the parameters in the I/O area is invalid.

For database calls such as get, DLET, REPL, and ISRT that include SSAs, the format of one of the SSAs is invalid. The number in the segment level number field of the DB PCB is the level number of the SSA that is invalid. Some possible reasons for the invalid SSA format are:

For command-level programs: An ISRT command attempted to insert a logical child segment using a path command. ISRT commands for logical child segments cannot be path commands.

Programmer Response: If you receive this status code on a SETS, ROLS, or INIT request, correct the parameters provided in the I/O area.

If you receive this status code on a get, DLET, REPL, or ISRT request, correct the invalid portion of the SSA. If you receive this status code on a GSAM call, correct the RSA.


AK
Explanation: For call-level programs: An SSA contains an invalid field name: the field name isn't defined in the DBD. The number in the segment level number field of the DB PCB is the level number of the SSA that contains the invalid name.

You can also receive this status code if the program is accessing a logical child through the logical parent. DL/I returns AK if the field specified in the qualification has been defined for the logical child segment, and it includes (at least partially) the portion of the logical child that contains the concatenated key of the logical parent.

When you are using field level sensitivity, a field you specified in the SSA has not been defined in the PSB. After this status code is returned, your position in the database is unchanged.

For command-level programs: A WHERE option contains an invalid field name. (The field name isn't defined in the DBD.) The number in the DIBSEGLV field of the DIB is the level number of the WHERE option that contains the invalid name.

Programmer Response: Correct the SSA or WHERE option.


AL
Explanation: You get this status code if you:
  1. Issue a message call in a batch program
  2. Issue a ROLB, ROLS, or SETS request from a batch program under one of the following conditions:
    • The system log is not on direct access storage.
    • The system log is on direct access storage, but dynamic backout has not been specified using the BKO execution parameter.
Programmer Response: For cause 1, correct the program to not issue message calls in a batch program. For cause 2, either change the program or put the log on direct access storage with BKO specified on the execution parameter.


AQ
Explanation: The INQY call specifies an invalid function.

Programmer Response: Specify a valid subfunction. Valid INQY call subfunctions are DBQUERY, ENVIRON, or null (8 blanks).


AM
Explanation: For call-level programs: The call function is not compatible with the processing option in the PCB, the segment sensitivity, the transaction-code definition, or the program type. The level number in the PCB is the level number of the SSA that is invalid. Some of the reasons you might get this status code are:

After this status code is returned, your position in the database is unchanged.

For command-level programs: The command is not compatible with the processing option in the PCB or segment sensitivity. The level number in the DIB is the level number of the qualification that is invalid. Some of the reasons you might get this status code are:

Programmer Response: Correct the request, or make the necessary changes in the PCB.


AO
Explanation: There is a BSAM, GSAM, VSAM, or OSAM physical I/O error. When issued from GSAM, this status code means that the error occurred when:

IMS does not return an AO status code for write errors with BISAM, VSAM, and OSAM.

If your program receives this status code after issuing a call, this call does not cause the database to be stopped.

Programmer Response: Determine whether the error occurred during input or output, and correct the problem. These problems usually require the help of a system programmer or system administrator.


AP
Explanation: A message or CHKP call is invalid because more than 4 parameters (or 5 if parameter count is specified) are in a message call or a CHKP call issued in a transaction-oriented BMP. The following exceptions apply:

Programmer Response: Correct the call.


AT
Explanation: The length of the data in the program's I/O area is greater than the area reserved for it in the control region. The length of the area reserved is defined by the ACB utility program, DFSUACB0, and printed as part of its output.

Programmer Response: If the program is in error, correct the program. If the program is correct, a larger control region area can be reserved by specifying parameters on the PSBGEN statement of PSBGEN.


AU
Explanation: The total length of the SSAs in the database call is greater than the area reserved for them in the control region. The length of the area reserved is defined by the ACB utility program, DFSUACB0, and printed as part of its output. After this status code is returned, your position in the database is unchanged.

Programmer Response: If the program is in error, correct the program. If the program is correct, increase the PSB SSA space defined in the PSBGEN.


AY
Explanation: IMS ignored a message ISRT call because the logical terminal referenced by the response alternate PCB currently has more than one physical terminal assigned to it for input purposes.

Programmer Response: Ask the master terminal operator to determine (use /DISPLAY ASSIGNMENT LTERM x) which physical terminals (2 or more) refer to this logical terminal. Use the /ASSIGN command to correct the problem.


AZ
Explanation: IMS ignored a PURG or ISRT call in a conversational program. Some possible reasons are:

Programmer Response: Correct the PURG or ISRT call.


A1
Explanation: You might get the A1 status for the following reasons:

Programmer Response: Correct the CHNG or AUTH call.


A2
Explanation: The program issued a CHNG call against an invalid PCB. The PCB was invalid for one of these reasons:

Programmer Response: Check the PCB that was used by the CHNG call and determine which PCB should have been used for the call.


A3
Explanation: The program issued an ISRT or PURG call that referenced a modifiable alternate PCB that did not have its destination set. IMS returns this status code to PURG calls only when the PURG call specified an I/O area as one of the parameters.

Programmer Response: Issue a CHNG call to set the destination of the modifiable alternate PCB, then reissue the ISRT or PURG call.


A4
Explanation: A security violation was detected during processing of an AUTH call, a CHNG call, or a conversational response. Some of the reasons for this status code are:

Programmer Response: Check the transaction code to make sure it was entered correctly. If it was, check with the person who handles security at your installation.


A5
Explanation: An ISRT or PURG call supplied an invalid parameter list. The call supplied the fourth parameter (the MOD name) but the ISRT or PURG being issued was not for the first segment of an output message.

Programmer Response: Correct the ISRT or PURG call.


A6
Explanation: For a message processing program (MPP or BMP), IMS ignored a message ISRT call because the length of the message segment being inserted exceeds the size specified in the SEGSIZE keyword of the TRANSACT macro. For a Fast Path program (IFP), the length of the output message to a Fast Path terminal exceeds the size specified in the FPBUF parm of the TERMINAL macro.

Programmer Response: Correct the output message segment.


A7
Explanation: IMS ignored a message ISRT call because the number of message segments inserted exceeds the number specified in the SEGNO keyword of the TRANSACT macro.

Programmer Response: Check the output messages and correct them.


A8
Explanation: IMS ignored an ISRT call because:

Programmer Response: Correct the ISRT call.


A9
Explanation: IMS ignored the ISRT call because:

IMS does not return this status code if the program makes either of these errors while communicating with a terminal in a remote IMS system through MSC.

Programmer Response: Determine whether the application program is in error, the output logical terminal has been incorrectly reassigned (using the /ASSIGN command), or if SAMETRM=YES should not have been specified for the response alternate PCB.


BA
Explanation: The request was not completed because it required access to unavailable data.

Only the updates done for the current request, prior to the time it encountered the unavailable data, are backed out. The state of the database is as it was before the failing request was issued. If the request was REPL or DLET, the PCB position was unchanged. If the request was a get type or ISRT request, the PCB position is unpredictable.

For a DEDB, this status code may be returned if no updates have been made since the last commit point. If updates have been made since the last commit, a BB status code is returned instead.

This status code is returned to the application program that issued the EXEC DLI command rather than causing an abnormal termination.

Programmer Response: This is an information-only status code.


BB
Explanation: Same as BA except all database updates that the program made since the last commit point are backed out, and all nonexpress messages sent since the last commit point are cancelled. The PCB position for all PCBs is at the start of the database.

For a DEDB, this status code may be returned if updates have been made since the last commit point.

This status code is returned to the application program that issued the EXEC DLI command rather than causing an abnormal termination.

Programmer Response: This is an information-only status code.


BC
Explanation: The response from an INIT STATUS GROUPB call was not completed because it required access to unavailable data.

All database resources to the last commit point are backed out, with the exception of GSAM and DB2. All output messages are backed out to the last commit point. Input messages are requeued.

Programmer Response: This is an information-only status code.


BJ
Explanation: All of the databases in the PSB are unavailable, or there are no database PCBs in the PSB.

Each PCB (excluding GSAM) received an NA status code as the result of the INQY DBQUERY call.

Programmer Response: This is an information-only status code.


BK
Explanation: At least one of the databases included in the PSB is unavailable or has limited availability.

At least one PCB received an NA or NU status code as the result of processing the INQY DBQUERY call.

Programmer Response: This is an information-only status code.


CA
Explanation: The program issued a CMD call with an invalid command verb, or the command verb does not apply to the IMS system that the program's running in. IMS does not return any command responses.

Programmer Response: Correct the command in the CMD call.


CB
Explanation: The command entered in the CMD call is not allowed from an AOI program. IMS does not return any command responses.

Programmer Response: Correct the command. For a list of the commands that an AOI program can issue, see "Automated Operator Programming," in IMS/ESA Customization Guide: Data Communication.


CC
Explanation: IMS has executed the command and returned one or more command responses.

Programmer Response: Your program should issue GCMD calls as necessary to retrieve the responses.


CD
Explanation: The command that was entered on the CMD call violates security, or the application program isn't authorized to issue CMD calls. IMS does not execute the command or return any command responses.

Programmer Response: Correct the command. If necessary, check with the person in charge of security at your installation to find out why your program is restricted from using that command.


CE
Explanation: IMS rescheduled the message that this GU call retrieved since the last CMD call. The program had not reached a commit point when the message was rescheduled.

Programmer Response: This is an information-only status code.


CF
Explanation: This status code can be returned only to programs that are authorized to issue AOI commands (CMD calls). The message being returned on the GU call was received by IMS before the start of this IMS execution. CF can be received on a CHKP call whan an I/O area is specified for an MPP or message-oriented BMP. This occurs when a CHKP call issues an internal GU call.

Programmer Response: This is an information-only status code.


CG
Explanation: The message retrieved by this GU originated from an AOI user exit.

Programmer Response: This is an information-only status code.


CH
Explanation: IMS ignored the CMD call just issued because the AOI command interface detected a system error and was unable to process the command. IMS processing continues.

Programmer Response: Reissue the command.


CI
Explanation: CI is a combination of CE and CF. The message retrieved by this GU was scheduled for transmission before IMS was last started. The message was rescheduled, but the program hadn't reached a commit point.

Programmer Response: This is an information-only status code.


CJ
Explanation: CJ is a combination of CE and CG. The message retrieved by this GU was scheduled for transmission before IMS was last started. The message originated from an AOI user exit.

Programmer Response: This is an information-only status code.


CK
Explanation: CK is a combination of CF and CG. The message retrieved with this GU originated from an AOI user exit. The message was scheduled for transmission before IMS was last started.

Programmer Response: This is an information-only status code.


CL
Explanation: CL is a combination of CE, CF, and CG. Please see the explanations of those codes.

Programmer Response: This is an information-only status code.


CM
Explanation: The command that was entered on the CMD call has been executed and completed, but resulted in an exception response that could not be built because of an insufficient amount of general work area (WKAP).

Programmer Response: Increase WKAP if you want retrieval of the response.


CN
Explanation: The PSBIOASZ is defined for less than the minimum required for CMD calls (132 bytes).

Programmer Response: Redefine PSBIOASZ for 132 bytes.


DA
Explanation: The program issued a DLET or REPL that tried to modify the key field in the segment or, when using field level sensitivity, a REPL call tried to modify a field that had REPL=NO specified on the SENFLD STMT in the PSB. You cannot change a segment's key field.

Programmer Response: Correct the request.


DJ
Explanation: The program issued a DLET or REPL call that was rejected because the segment was not currently in hold status. Some possible reasons for this status code are:

Programmer Response: Correct the program so that the segment is in hold status when a DLET or REPL is issued.


DX
Explanation: The program issued a DLET that violates the delete rule for that segment.

Programmer Response: Check the program to see whether or not the program should delete that segment; if it should, check with your DBA (or the equivalent specialist at your installation) to find out what delete rule has been specified for that segment.


FA
Explanation: IMS returns this status code when the program reaches a commit point and an arithmetic overflow in an MSDB has occurred during that commit interval (since the last commit point, or, if the program had not reached a commit point, since the program began processing). You can receive this status code on a SYNC call, a CHKP call, or a GU call to the message queue, depending on your program. The overflow occurred after the program issued a FLD/CHANGE call or a REPL call for the MSDB. When this happens, IMS issues an internal ROLB call to eliminate the changes that the program has made since the last commit point. All database positioning is lost.

Programmer Response: Reprocess the transaction.


FC
Explanation: The program issued a request that is not valid for the segment type.

Programmer Response: Correct the request.


FD
Explanation: A nonmessage driven BMP reached a deadlock when IMS tried to get DEDB or MSDB resources (either DEDB UOWs or overflow latches) for the program. Or, a mixed mode BMP reached a deadlock on any resource, either Fast Path or full function. IMS eliminates all database updates that the program has made since the last SYNC call, CHKP request, or SYMCHKP command (or since the program started processing, if the program hasn't issued a SYNC call or CHKP request). All database positioning is lost, unless you specified the P processing option in the PCB.

This status code is returned to the application program that issued the EXEC DLI command rather than causing an abnormal termination.

Programmer Response: Start processing from the last commit point. If you reach a deadlock again (and you usually won't), terminate the program.

If you experience a problem with this page, please send a message to JTate@JaTomes.Com including a description of the problem.

Last modified: Friday May-08-2009.