Contains a client context identifier (CCID), which can identify a user login session and its associated identity and application context.
Data type: CHARACTER
Access: PUBLIC Readable/Writeable
Applies to: Progress.Lang.OERequestInfo class
Every application server client automatically generates a 22-character, Base64-encoded UUID value for this property as an initial value when the client creates the Server object handle for the application server (using the CREATE SERVER statement). This initial value is generated regardless of the operating mode of the application server and is used to set the ClientContextId property on the Progress.Lang.OERequestInfo instance referenced by the REQUEST-INFO attribute on the server object handle.
The client sends the value of this property to the application server when it connects to the application server using the CONNECT( ) method (Progress Application Server for OpenEdge) on the server handle and when it calls a remote external procedure using the RUN statement. The application server session can then retrieve this value by reading this property on the Progress.Lang.OERequestInfo instance referenced by the on the SESSION system handle.
You can also customize the behavior of this setting. In the:
When setting a custom CCID value for this property, you can use the following assignment to obtain a 22-character, Base64-encoded UUID value:
However, you only need to use a non-blank character string with enough uniqueness to satisfy the requirements of your application architecture.
In whatever way an initial or new CCID value for this property is set, during each client request to the application server, the current value is automatically copied from the OERequestInfo instance referenced by the CURRENT-REQUEST-INFO attribute on the application server's SESSION handle to the instance reference by the CURRENT-RESPONSE-INFO attribute and returned to the client using the instance referenced by the RESPONSE-INFO attribute on the client's server object handle (or for an asynchronous request, on the asynchronous request object handle available in the asynchronous event procedure), which is then automatically copied to the instance referenced by the REQUEST-INFO attribute on the client's server object handle when the client makes its next remote request.
So, at any point in this round trip, a new value can be set through the application server's CURRENT-RESPONSE-INFO attribute before the request ends, or through the client's REQUEST-INFO attribute before the client's next remote request begins, and the new value continues its journey between client and application server and back, again, with each request.