Understanding the scope of persistent, single-run, and singleton procedures
A remote procedure on the AppServer that you run with the PERSISTENT, SINGLE-RUN, or SINGLETON option, and a local procedure that you run with the PERSISTENT option, both perform in identical fashion with respect to scope. That is, the remote procedure's context is created when the instantiating procedure starts to execute, and that context persists after it returns until the end of the ABL session, or until it is explicitly deleted.
When a remote persistent, single-run, or singleton procedure is run, its context is managed strictly within the AppServer session where the procedure runs. This is consistent with the existence of the processing boundary that separates an AppServer session distinctly from a client application session. If a remote procedure creates other local ABL objects (persistent procedures), these objects are available only locally within the AppServer agent in which they were created. These objects cannot be shared between an ABL client application and the AppServer session.