Try OpenEdge Now
skip to main content
Developing AppServer Applications
Design and Implementation Considerations : Distributed application design and implementation : Understanding procedure handles in distributed ABL sessions : How the attributes work together
 
How the attributes work together
The following table summarizes the settings of the PROXY, REMOTE, and PERSISTENT procedure handle attributes for various types of local and remote procedure call scenarios.
Table 15. PROXY, REMOTE, and PERSISTENT procedure handle attribute settings
Procedure call type
Caller handle
Callee handle (THIS-PROCEDURE)
Local procedure
Not applicable
PROXY      = FALSE
REMOTE     = FALSE
PERSISTENT = FALSE
SINGLE-RUN = FALSE
SINGLETON  = FALSE
Remote procedure
Not applicable
PROXY      = FALSE
REMOTE     = TRUE
PERSISTENT = FALSE
SINGLE-RUN = FALSE
SINGLETON  = FALSE
Local persistent procedure
PROXY      = FALSE
REMOTE     = FALSE
PERSISTENT = TRUE
SINGLE-RUN = FALSE
SINGLETON  = FALSE
PROXY      = FALSE
REMOTE     = FALSE
PERSISTENT = TRUE
SINGLE-RUN = FALSE
SINGLETON  = FALSE
Remote persistent procedure
PROXY      = TRUE
REMOTE     = FALSE
PERSISTENT = TRUE
SINGLE-RUN = FALSE
SINGLETON  = FALSE
PROXY      = FALSE
REMOTE     = TRUE
PERSISTENT = TRUE
SINGLE-RUN = FALSE
SINGLETON  = FALSE
Local single-run procedure
PROXY      = FALSE
REMOTE     = FALSE
PERSISTENT = FALSE
SINGLE-RUN = TRUE
SINGLETON  = FALSE
PROXY      = FALSE
REMOTE     = FALSE
PERSISTENT = FALSE
SINGLE-RUN = TRUE
SINGLETON  = FALSE
Remote single-run procedure
PROXY      = TRUE
REMOTE     = FALSE
PERSISTENT = FALSE
SINGLE-RUN = TRUE
SINGLETON  = FALSE
PROXY      = FALSE
REMOTE     = TRUE
PERSISTENT = FALSE
SINGLE-RUN = TRUE
SINGLETON  = FALSE
Local singleton procedure
PROXY      = FALSE
REMOTE     = FALSE
PERSISTENT = FALSE
SINGLE-RUN = FALSE
SINGLETON  = TRUE
PROXY      = FALSE
REMOTE     = FALSE
PERSISTENT = FALSE
SINGLE-RUN = FALSE
SINGLETON  = TRUE
Remote singleton procedure
PROXY      = TRUE
REMOTE     = FALSE
PERSISTENT = FALSE
SINGLE-RUN = FALSE
SINGLETON  = TRUE
PROXY      = FALSE
REMOTE     = TRUE
PERSISTENT = FALSE
SINGLE-RUN = FALSE
SINGLETON  = TRUE
In the previous table, caller handle refers to the handle returned by the RUN statement. This column is relevant only for persistent, single-run, or singleton procedures, because you can only reference the procedure handle of a procedure that you call with a RUN statement that includes the SET option. Callee handle refers to the procedure handle within the procedure that is being executed. You can use the THIS-PROCEDURE system handle to reference this handle, regardless of how the current procedure was called.