Consultor Eletrônico



Kbase P17604: How to recover data from a record when getting errors 450 and 3191.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   05/05/2009
Status: Verified

GOAL:

How to recover data from a record when getting errors 450 and 3191.

FACT(s) (Environment):

All Supported Operating Systems
Progress/OpenEdge Product Family

FIX:

This method would be used to retrieve the data from a record when the recid is known, prior to deleting the bad record. This may make it easier to re-create the record if the data can be validated or there is a need to know what is being deleted or lost. This solution is not to be used to repair the corruption reported by the error messages.

The errors 450 and 3191 indicated the a record has become corrupted some how. Before deleting the record it may be helpful to know what data is in the record.
Error 3191 provides the failing field number <field-num>, the table name <file-name> and the recid <RECID>.

With that information the data may be retrieved up to the bad field. If there are 10 fields in the record and the message says "Cannot read field 10 from record, not enough fields." then fields 1 through (field-num -1) or 9 may be retrieved from this record using the recid number and the following code, where <field-name> is the name of the field to be directed to the output file <table-name>.d.

OUTPUT TO <table-name>.d.

FOR EACH <table-name> WHERE RECID(<table-name>) = <recid>:

DISPLAY <field-name> <field-name> <field-name> <field-name> <field-name> <field-name> <field-name> <field-name> <field-name> .

END.

OUTPUT CLOSE