DFS0840I INDEX ERROR (dbdname) (status code) (first 45 bytes of key)

Explanation

An error condition was encountered by the index maintenance function. The message shows the dbdname, the status code, and the first 45 bytes of the key. The status code can be NE, NI, NO, or BLANK.

Code
Meaning
NE
An attempt was made to delete an index record, but the record did not exist. This might be a valid condition if the secondary index was processed as a database and some secondary index entries were deleted. If the source segment is deleted and its index entry is not present, the NE status code is the result. The DFS0840I message is sent for information purposes, but since this might be a valid condition, a BLANK status code is returned to the application program. See the description of the NE status code in the DL/I status code information.

You can suppress the DFS0840I message by specifying ISSUE840=NO on an OPTIONS statement in the DFSVSMxx PROCLIB member.

NI
Either a data set could not be opened or there was a duplicate segment in a unique secondary index. If a data set could not be opened, the message is preceded by a DFS0730I message and followed by a 0826 pseudoabend or real abend. If there is no preceding DFS0730I message, then there is a duplicate segment in a secondary index. If it is possible to back out prior changes for the call, this message is suppressed. Only the NI status is returned to the application program. If it is not possible to back out other changes for the call, or if ISSUE840=YES has been specified on an OPTIONS statement in the DFSVSMxx member, this message is displayed and is followed by a 0828 pseudoabend or real abend. For additional information, see the descriptions of the NI status code in the DL/I status code information.
The conditions which do not support backing out prior updates for the call are:
  • The execution environment is batch and does not use a DASD log with BK0=YES specified on the PARM field of the JCL EXEC statement.
NO
An I/O error was detected. This message should be preceded by a VSAM error message which describes the error. A database recovery might be necessary. The NO status is returned to the application program. If it is possible to back out prior changes for the call (see details below), this message is suppressed. If it is not possible to back out prior changes for the call, this message is displayed and is followed by a 0826 pseudoabend or real abend. See the description of the NO status code in the DL/I status code information.
BLANK
An unexpected return code was received from a call to the buffer handler. In this case, the message should be accompanied by a 0825, 0826, or 0829 pseudoabend or real abend.

System action

Described above.

Programmer response

See the status code descriptions or abend explanations.

Problem determination

4, 36

Module

DFSDXMT0