>I am working with a very large, complex, convoluted application. One thing we have a lot of problems with is called programs causing problems for the caller. What I am looking for is a robust method of saving the environment (open work areas, index orders, record pointers, FoxPro SET values, etc.) upon entry of a called program and then restoring it on exit.
>
>CREATE VIEW filename, then SET VIEW TO filename seem to offer a simple built-in way of doing so. I have not used them. Do they really work?
It does what it was designed to - it will reopen your tables... well, if they are dbfs. Didn't try with views or SPTs. Also, you may try to save your variables, but when you restore them they all become private to the routine which did the restore (including the local and public ones). Also, not sure whether the .vue files preserve more than the current datasession. The .vue files are a thing from the eighties.