>>I need to save the status of a table, do some stuff, then get the table back to where it was.
>>
>>* Need to determine what the status of WorkList is at this point. Used, Exclusive, etc.
>>
>>USE (m_prom_dir) + 'WORKLIST' EXCLUSIVE IN 0
>>
>>DO WHATEVER
>>
>>* Need to get WorkList back to where it was before. Used, Exclusive, etc.
>>
>
>Some information you may want to check is whether the table is opened exclusively, the record pointer, active index, active filter, and any incoming or outgoing relations. This latter part looks fairly complicated.
>
>It would be much simpler to re-open the table in another area (assuming it was not opened exclusively somewhere), with USE... AGAIN, and then just close the table. The only thing you would need to remember and restore, in this case, is the number of the work area.
USE AGAIN doesn't change the status of it, e.g. if it was opened shared, again would not open it exclusively and vs. versa. It's a caveat here.
If it's not broken, fix it until it is.
My Blog