CreateASOSession System Service Call Procedure
CreateASOSession is a system SCP invoked explicitly from a 4GL client using RemoteServer.Call4GL() or implicitly using a COM ASOSession.Connect method. It creates a persistent session context object in the remote application instance. A session context identifier is allocated and is returned in the by-referenced OSCA object. When subsequent calls are made to a GSCP in the OpenROAD Server application, the session context object associated with the passed OSCA object is reinstated.
Hence, persistent session context can be achieved by passing BYREF(uc_osca) with every GSCP call. Error messages are also returned in the BYREF(uc_osca) object.
A user class object can be associated with a session context object by using the DefineBPM system service call procedure. Selected methods of the user class object can be exposed as GSCPs.
The COM client ASOSession object is described in
COM (Non-OpenROAD) Client ASO Session Object (see
COM (Non-OpenROAD) Client ASO Session Object).
Parameters:
('CreateASOSession', b_osca = uc_osca /*byref*/,
p_UCClientInfo = uc_client_info)
Return Data Type: None (SCPs are invoked by Call4GL)
Example—CreateASOSession:
/* assume we have already initiated a connection and set up the client info */
i_status = CurRemoteServer.Call4GL ('CreateASOSession',
b_osca = BYREF(OSCA),
p_UCClientinfo = MyClientInfo);
i_status = OSCA.CheckAndHandleError (p_i_aso_retval = i_status);
. . .