Use Reread Fields (-rereadfields) to suppress inadvertent runtime errors that result from using field lists in ABL code. Instead of generating an error message, the AVM ignores the field list and fetches the entire record.
Operating system and syntax
UNIX / Windows
-rereadfields
Use with
Maximum value
Minimum value
Single-user default
Multi-user default
Client Session
—
—
—
—
Field lists restrict the fields returned from a record query. They allow you to retrieve only specified fields rather than all the fields of a record. Field lists are implemented with the FIELDS or EXCEPT options in FOR, DO PRESELECT, and DEFINE QUERY statements. They can improve performance over a network by enabling more records to fit into a single network message.
Field lists can cause unexpected errors, particularly when you update existing code. It is possible, for example, that you may have eliminated a field that will be required by a new or revised subroutine or trigger. The result will be a runtime error that may be difficult to debug.
You can use the -rereadfields startup option if you have unexpected runtime errors resulting from field lists. When an error occurs, the -rereadfields startup option causes the AVM to ignore the field list and to fetch the entire record.
Also note the difference between -rereadfields and -fldisable. The Field List Disable (-fldisable) option causes the AVM to ignore all field lists and to fetch the entire record for every query. The Reread Field List (-rereadfields) option causes the AVM to ignore a particular field list and fetch the entire record only when an error occurs due to a missing field. Therefore, using -rereadfields is likely to have less of a negative impact on performance.
You should not use -rereadfields during actual application development since you will not see the error messages that could help you determine what fields are required in a field list.
Also keep in mind that the compiler does not search for all references to a record to ensure that required fields are available. Therefore, it is better to use a field list only when there is some serious performance problem retrieving the entire record, when use of the record is not complicated, and when references to fields are predictable.
For more information about using field lists, see OpenEdge Getting Started: ABL Essentials.