>>My typical code looks like: if seek(lcMyVar, "MyTable", "MyTableIndex"), or, if eof("MyTable"), or, REPLACE MyTable.MyVar WITH ..., that is to say ... fully qualified so I don't care if some other routine has changed the select area or the controlling index. If I am rigorous about fully qualifying what I do, am I safe, or is there some case where this approach is not enough.
>>
>
>The main gotcha would be to do a
REPLACE MyTable.SomeField with somevalue which will not work if you are in a different workarea with the pointer at eof(). BOF() does not fail the replace. You also get no error message if at eof().
If you use the REPLACE MyTable.SomeField WITH somevalue IN MyTable, you can avoid the EOF() problem for none current areas.