Try OpenEdge Now
skip to main content
Application Migration and Development Guide
Application Development with PAS for OpenEdge : Programming the Progress Application Server for OpenEdge : Understanding remote procedure handles : Remote procedure handles
 
Remote procedure handles
When an ABL client application executes a remote procedure, two procedure handles are created: one within the client application session and another separate handle within the server session where the procedure runs. 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's PERSISTENT, SINGLE-RUN, or SINGLETON attribute is set to TRUE for a persistent, single-run, or singleton procedure, respectively. The corresponding handle within the server session is a remote procedure handle, and its REMOTE attribute is set to TRUE. As with the proxy handle, the PERSISTENT, SINGLE-RUN, or SINGLETON attribute is set to TRUE for a persistent, single-run, or singleton procedure, respectively.
Unlike the values of procedure handles and the THIS-PROCEDURE handle that reference the same local procedure context, the proxy procedure handle and the remote procedure handle are truly separate handles. For example, setting the PRIVATE-DATA attribute on a remote procedure handle has no effect on the PRIVATE-DATA attribute of the corresponding proxy procedure handle in the client application.
For more information on the relationship between remote and proxy procedure handles, see the information on procedure handles in Design and Implementation Considerations.