Try OpenEdge Now
skip to main content
.NET Open Clients
Passing Parameters : Passing TABLE and TABLE-HANDLE parameters : Passing a TABLE or TABLE-HANDLE as an INPUT-OUTPUT parameter
 

Passing a TABLE or TABLE-HANDLE as an INPUT-OUTPUT parameter

INPUT-OUTPUT TABLE and TABLE-HANDLE parameters are a combination of INPUT and OUTPUT parameters. The client application must pass an object instance for the parameter as defined for input parameters. For a TABLE parameter, the client must provide an instance of the strongly typed DataTable class provided by ProxyGen. For a TABLE-HANDLE parameter, the client must provide a strongly typed DataTable (if applicable) or an instance of System.Data.DataTable that contains both the schema and data, as well as any ABL-specific mappings. For more information, see Passing a TABLE or TABLE-HANDLE as an INPUT parameter.
OUTPUT TABLE-HANDLE parameters can be returned as Unknown or undefined. As a result, you must ensure the client code is written to handle these cases.
For INPUT-OUTPUT parameters, all the data must be put into the parameter before the proxy call is made. Any data in the parameter at the time of the method is replaced on return from the proxy call. All output data is immediately available to the client after the proxy call returns.
During this process, the input object is supplied by the client, then cleared, repopulated with output data, and retuned. For this reason, the schema for the object must match on both sides of the call.