on 03-18-201502:30 PM - last edited on 10-10-201509:21 PM by LainieH
When user A calls SASFILE to load into memory a data set shared on a network, user B should be able to delete or update the same data set. However, User A will not see User B's changes until User A explicitly reloads the data set.
This is similar to how R reads a file into memory and then closes the file descriptor.
Our use case is a data set is updated once a day and read often, so we want to cache it to avoid slow reads over the LAN, but sometimes a user forgets to unload it. If it is not explicitly unloaded (or unless SAS is closed), the file is locked and cannot be updated, causing problems.
The alternative of copying the data set into WORK is undesirable because it requires more careful coordination in our many macros, all of which would have to be careful to copy the data set to WORK only once. Using SASFILE avoids this coordination problem because there is no penalty for redundant calls to SASFILE.
Because SASFILE normally allows certain write operations, this would be a new option that trades those write operations for releasing the lock.