Consultor Eletrônico



Kbase P7579: How to troubleshoot Scan past last field testrec failed on recid/dbkey
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   11/05/2009
Status: Verified

GOAL:

How to troubleshoot Scan past last field testrec failed on recid/dbkey

GOAL:

ERROR: Scan past last field

GOAL:

ERROR: testrec failed on recid/dbkey:

FACT(s) (Environment):

All Supported Operating Systems
Progress/OpenEdge Product Family

FIX:

First, Use dbrpr (or dbtool beginning in 9.1D06) to determine if there is more than one record damaged.

If there is more than one record damaged it might be advisable to restore a copy of the database into another location to determine if the corruption exists in the backup as well or if the backup of the database might be safer to revert to.

In some cases it may be possible to review most of the fields of the record with 4GL / ABL code similar to the following logic:

for each <tablename> where recid(<tablename>) = <recid>.
display
<field1>
<field2>
etc.....
.
end.

In this example you must use the actual field names in place of <field(x)>.
In this example you must use the actual table name in place of <tablename>.
In this example you must use the actual recid in place of <recid>.

Keep running this and adding one more field for the record until it fails.
If it does not fail then check that you supplied the correct recid number.
Second, To remove the bad record use idxfix
proutil <dbname> -C idxfix
Choose option 6 which is to Delete one record and it's index entries.
It will ask for the DBKEY supply the recid of the bad record

If you are using version 9 you must also supply the area number that that table is resident in.