This is the ABL prototype for the persistent procedure that runs for the sample ProcObject class factory method, CreatePO_CustomerOrder( ):

ABL prototype for a persistent procedure to implement a ProcObject

/* CustomerOrder.p */

DEFINE INPUT PARAMETER custNum AS INTEGER.

Note: The parameter list for the persistent procedure that runs for the ProcObject class factory method is AppServer application dependent, and is the basis for creating the parameter list of the ProcObject class factory method. A persistent procedure can also be specified in ProxyGen to return a string value using the ABL RETURN statement.

This is a VB.NET declaration for the ProcObject class factory method, CreatePO_CustomerOrder( ):

VB.NET prototype for the ProcObject CreatePO_CustomerOrder method

Public Function CreatePO_CustomerOrder (ByVal custNum As Integer) As String

Note: This method maps to a persistent procedure that has been specified to return the string from the ABL RETURN-VALUE function.

The following code snippet:

1. Instantiates the ProcObject on the client, enabling access to its methods.

2. Calls the CreatePO_CustomerOrder( ) method on the AppObject, webService, to create the ProcObject, CustomerOrder, on the WSA and run CustomerOrder.p persistently.

3. Copies the ProcObject ID to the ProcObject from the AppObject (webService) that creates the ProcObject.

Note the value returned for the CustomerOrder ProcObject ID highlighted in the example. The Web service returns this ProcObject ID even if it is session free, to allow the ProcObject to access its own AppServer session context.

Thus, the SOAP response header returns the following ProcObject ID contained in the CustomerOrderID element: