When you execute a remote persistent, single-run, or singleton procedure in an ABL client application, two procedure handles are created: one within the client application session and another separate handle within the server session where the remote procedure is created. OpenEdge internally maintains a mapping between the two handles:
The handle within the client application is a proxy procedure handle, and its
PROXY attribute is set to
TRUE. The handle also has
PERSISTENT,
SINGLE-RUN, and
SINGLETON attributes. Of these, the one that corresponds to the option used with the
RUN statement that called the remote procedure is set to
TRUE, and the other two are set to
FALSE.
The corresponding handle within the server session is a remote procedure handle, and its
REMOTE attribute is set to
TRUE. The values of its
PERSISTENT,
SINGLE-RUN, and
SINGLETON attributes match those of the proxy procedure handle.
For more information on the relationship between proxy and remote procedure handles, see the information on procedure handles in
Design and Implementation Considerations.