Run an internal procedure of a persistent external procedure
- Last Updated: May 24, 2019
- 1 minute read
- OpenEdge
- Version 13.0
- Documentation
The following example, which illustrates using a single call object multiple times, is a bit more complicated than that shown in Attributes of a call object handle. This example also shows how to:
- Dynamically invoke the external procedure persis.p persistently
- Dynamically invoke an internal procedure of persis.p, internal-persis-proc,
with an input parameter of type "
INTEGER" and with the value 333
|
When persis.p is invoked dynamically, the handle of the running
persistent procedure is stored automatically in the call object's IN-HANDLE attribute.
When internal-persis-proc is invoked dynamically, ABL
knows it resides in the running persistent procedure whose handle
is stored in the call object's IN-HANDLE attribute.
You can also run a procedure persistently by setting the PROCEDURE-TYPE attribute
to "PERSISTENT". Setting the PROCEDURE-TYPE attribute
to "PERSISTENT" and setting the PERSISTENT attribute
to "TRUE" are equivalent, and setting one will
automatically set the other. Setting the two attributes to conflicting
values, e.g., PROCEDURE-TYPE to "SINGLETON"
and PERSISTENT to TRUE, will cause
a run-time error.