Cursor repositioning and field lists
- Last Updated: August 23, 2021
- 1 minute read
- OpenEdge
- Version 12.2
- Documentation
FOR and relative FIND
statements reposition all open index cursors for the same buffer. (For more information,
see FIND repositioning.) However, in order to reposition a buffer's index cursors, the AVM
must have all the index fields available in the buffer. If you fetch a field list that
excludes some of these fields, the AVM marks the relevant indexes as being incorrectly
positioned.
This does not matter for the query or fetch loop that uses the field
list, because the AVM might never reference the relevant indexes. However, if you later
execute a FIND NEXT or FIND
PREV using one of the badly positioned indexes, the AVM raises the ERROR condition and the FIND fails.
To avoid this error, always specify the fields in your field lists that participate in the indexes that you reference.