Accessing the name of the current remote procedure
- Last Updated: January 27, 2016
- 2 minute read
- OpenEdge
- Version 13.0
- Documentation
A PAS for OpenEdge instance runs certain configuration procedures when a client runs external or internal procedures. PAS for OpenEdge event procedures are ABL procedures that you specify when you configure a PAS for OpenEdge instance; the procedures run typically before and after invoking remote procedures during the lifetime of a PAS for OpenEdge instance and its sessions.
One set of configuration procedures includes the Activate and Deactivate procedures. These procedures encapsulate logic that executes automatically for certain client requests (remote procedures) on a PAS for OpenEdge instance running in session-managed and unbound application model.
With the help of the read-only ProcedureName
property on the Progress.Lang.OERequestInfo class, you
can access the name of the internal or external procedure invoked by the ABL client. You
can use the ProcedureName property to identify the
client-invoked procedure in any procedure currently running on the PAS for OpenEdge instance,
including configuration procedures, such as the Activate and Deactivate procedures. You
can use the instance of OERequestInfo referenced by the
CURRENT-REQUEST-INFO attribute on the PAS for OpenEdge
instance's SESSION system handle. For more information
on this attribute, see the Manage client context for session-free and unbound session-managed connections.
The ProcedureName property captures the name
of the procedure along with the relative or absolute path as specified in the client
code that runs the remote procedure. If no path is specified with the external procedure
file name in the client's RUN statement, the property
captures only the procedure file name.
The following table lists the procedure path or file name for various requests
invoked by a client, and provides a description of each ProcedureName property setting as a result.
| RUN request on the ABL client | Procedure path or file name | Description |
|---|---|---|
RUN test/foo.p ON SERVER hdl.
|
test/foo.p
|
The procedure name includes the relative path. The test directory is in the OpenEdge working directory on the PAS for OpenEdge instance. |
RUN C:/OpenEdge/WRK/test/foo.p ON SERVER hdl
|
C:/OpenEdge/WRK/test/foo.p
|
The procedure name includes the absolute path. |
RUN bar.p ON SERVER hdl
|
bar.p
|
No path is specified in the procedure name: bar.p is in the OpenEdge working directory
on the PAS for OpenEdge instance. |
ProcedureName has the format
External-Procedure-Name&Internal-Procedure-Name,
where External-Procedure-Name is the name of the remote external procedure
and Internal-Procedure-Name is the name of its executing internal
procedure.