ABL changes in PAS for OpenEdge include:

  • Modifications to the existing ABL
  • New ABL specifically for PAS for OpenEdge

Modifications to the existing ABL

While very little has changed in existing ABL support, the following table lists a few statements, handle attributes, and class properties whose behavior or values changed when they are executed or queried in a PAS for OpenEdge ABL session:

Table 1. AppServer ABL changed for PAS for OpenEdge
Statement, handle attribute, or class property Behavior or value range on PAS for OpenEdge
QUIT statement Clears the server session context before terminating the current client request and returning the session to the agent's session pool for access by other clients
SESSION:SERVER-OPERATING-MODE attribute "Session-Managed" or "Session-Free"
SESSION:CLIENT-TYPE attribute "MULTI-SESSION-AGENT"
SESSION:LOCAL-VERSION-INFO:OEClientType class property "MULTI-SESSION-AGENT"

New ABL specifically for PAS for OpenEdge

The following table lists new ABL statement options and class properties that were added specifically for PAS for OpenEdge:

Table 2. New ABL added for PAS for OpenEdge
Statement option or class property Value range Description
THREAD-SAFE option of the PROCEDURE statement N/A Tells the PAS for OpenEdge session manager that the declared DLL or shared library procedure is thread safe so it can run in multiple server sessions simultaneously
SESSION:CURRENT-REQUEST-INFO:AgentId class property* Positive integer Returns the ID of the current multi-session agent
SESSION:CURRENT-REQUEST-INFO:SessionId class property* Positive integer Returns the ID of the current ABL session within the current multi-session agent
SESSION:CURRENT-REQUEST-INFO:TheadID class property* Positive integer Returns the ID of the AVM running the current ABL session within the current multi-session agent
SESSION:CURRENT-REQUEST-INFO:AdapterType class property* Returns an enumerated value representing the client type that made the request.
Note: An asterisk (*) indicates that this ID is dynamic and can change each time a PAS for OpenEdge instance starts.