The IDMSDBAN utility is issuing the following message.
598510 - DBKEY 2/67008211:3 LAST LINE INDEX IS FOR PDR
What does this message mean?
Release : All supported releases.
Component : IDMS/DB
When using the FIX PAGE utility to repair a corrupt database, it is common practice to make a record occurrence invisible to IDMS by "zeroing out its line index". What this means is to use FIX PAGE to set the eight-byte line index of the record to binary zeroes. This is not an ideal practice. It means that the space available value for the page will now be incorrect. However, in the short term, it can serve the purpose of correcting the problem. A REORG or an unload/reload should be run at the earliest opportunity in order to make the space available value for the page correct again.
Another potential problem with this method can occur if the record you are trying to make invisible is the last record on the page - the one at the highest line index. To determine where the highest line index is, IDMS uses the LINE SPACE COUNT, which is in the fourth last halfword from the end of the page - i.e. the halfword at the 7th and 8th bytes from the bottom.
If you zero out the line index of the last record on the page without also adjusting the LINE SPACE COUNT to reflect that change, IDMSDBAN will issue the 598510 message.
For example, a PRINT PAGE of page 75002 shows this at the bottom:
000B00 00000000 00000000 00000000 00000000 *................*
000B10 --SAME--
001080 00000000 00080820 02F8000C 00080030 *.........8......*
001090 056C000C 0008059C 0284000C 00070010 *.%.....æ.d......*
0010A0 00200010 00010004 000C0008 00300001 *................*
0010B0 000124FA *....*
The highlighted 0030 (decimal 48) is the LINE SPACE COUNT.
It represents the number of bytes taken up by the footer and the line indexes at the bottom of the page (the shaded area).
The following FIX PAGE will zero out the last line index:
FIX PAGE 75002
VER 1084 0008,0820,02F8,000C
REP 1084 0000,0000,0000,0000;
and leave the page looking like this:
000B00 00000000 00000000 00000000 00000000 *................*
000B10 --SAME--
001080 00000000 00000000 00000000 00080030 *................*
001090 056C000C 0008059C 0284000C 00070010 *.%.....æ.d......*
0010A0 00200010 00010004 000C0008 00300001 *................*
0010B0 000124FA *....*
but result in this message from IDMSDBAN:
598510 - DBKEY 0/75002:4 LAST LINE INDEX IS FOR PDR
By also reducing the LINE SPACE COUNT with this:
FIX PAGE 75002
VER 10AC 0030
REP 10AC 0028;
IDMSDBAN no longer produces the 598510 message.
Note: Running REORG or unload/reload as described above will also resolve the 598510 problem. But the FIX PAGE to resolve it is relatively obvious and simple so it is described here. The FIX PAGE to adjust the space available count is not so simple.
In summary, from a purely technical point of view, all the 598510 message means is that IDMSDBAN has determined that the line index for what it thinks is the last record on the page is binary zeroes. What is described in this document is the most common example of how it got that way, and how to resolve it.