Pass a DATASET or DATASET-HANDLE as an INPUT-OUTPUT parameter
- Last Updated: January 21, 2026
- 1 minute read
- OpenEdge
- Version 12.8
- Documentation
INPUT-OUTPUT
DATASET and DATASET-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 DATASET parameter, the client must provide an instance of the strongly typed
DataSet class provided by ProxyGen. For a DATASET-HANDLE
parameter, the client must provide a strongly typed DataSet (if applicable) or an instance of
System.Data.DataSet that contains both the schema and data,
as well as any ABL-specific mappings.
For more information on the DATASET and DATASET-HANDLE forms for specifying a
dataset parameter, see Pass a ProDataSet as a parameter in the Use ProDataSets documentation.
DATASET-HANDLE parameters can be returned as Unknown or
undefined. As a result, you must ensure the client code is written to handle these cases.
On return from the method, the client can access the rows of the tables
contained in the ProDataSet using the Tables and Rows properties on the strongly typed DataSet
or System.Data.DataSet class.
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.