Salesforce

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

« Go Back

Information

 
TitleHow to troubleshoot: Scan past last field testrec failed on recid/dbkey
URL NameP7579
Article Number000153182
EnvironmentProduct: Progress
Version: 9.x
Product: OpenEdge
Version: 10.x, 11.x
OS: All supported platforms
Question/Problem Description
How to troubleshoot: Scan past last field testrec failed on recid/dbkey
ERROR: Scan past last field
ERROR: testrec failed on recid/dbkey:
Steps to Reproduce
Clarifying Information
Error MessageERROR: Scan past last field
ERROR: testrec failed on recid/dbkey:
Defect Number
Enhancement Number
Cause
Resolution

1. Determine if there is more than one record damaged

Use dbscan (or DBTOOL introduced in Progress 9.1D06) to .

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 data corruption also exists in the backup or if the backup of the database might be safer to revert to.

Before deleting corrupted records, 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.
 
  • replace the actual table name in place of <tablename>.
  • populate the corrupt recid in place of <recid>
  • use the actual field names in place of <field(x)>, by adding one more field for the record until it fails. 
  • If it does not fail then check that you supplied the correct recid number.

2. To remove the bad record use idxfix

$   proutil <dbname> -C idxfix

Choose Option 6. Delete one record and it's index entries.
It will ask for the DBKEY supply the recid of the bad record
Since Progress 9 the area number that that table is resident in needs to be provided.

Workaround
Notes
Keyword Phrase
Last Modified Date2/14/2019 12:46 PM

Powered by