Is there any way that a procedure can create a single-user copy of a shared file?
Short answer: No.
Longer answer: What do you mean by “create a single-user copy”? I’m not sure what you are envisioning.
There is a situation in which I need to use the same fields and current data as in a shared file set for a series of automated tasks running by a Panorama timer. They are not desirable as shared files.
It would be helpful if there was a SaveAs, SaveACopyAs or CopyFile that could convert a shared file to single user mode in the process. Or a Disconnect command that was more than temporary.
As it is, I have copies of the files that open and append the data from the shared files. That works well enough as long as there are no field changes to any of the source files.