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.