Try OpenEdge Now
skip to main content
.NET Open Clients
Passing Parameters : Passing TABLE and TABLE-HANDLE parameters : Temp-table array fields
 

Temp-table array fields

In ABL, fields in a temp-table can be defined with an extent option to create a one-dimensional array of the specified data type, with the number of elements specified by the extent. In .NET, an array field in an ABL temp-table is flattened, such that each array element becomes a separate column of the DataTable.
For static temp-table parameters, the strongly typed class generated by ProxyGen automatically flattens array fields in the table into the required number of columns. The meta data for the table knows which columns are part of the array and maps the data between the flattened model in .NET and the array model in ABL.
For dynamic temp-table parameters, the parameter is mapped to a .NET System.Data.DataTable class. For OUTPUT parameters, this DataTable is created with any array fields flattened, such that each array element becomes a separate column of the DataTable. For INPUT and INPUT-OUTPUT parameters, the client must create an instance of a .NET System.Data.DataTable to provide the schema and data. For temp-tables with array fields, the client must provide ABL-specific mappings for the DataTable. For more information, see Passing a TABLE or TABLE-HANDLE as an INPUT-OUTPUT parameter and Providing ABL extensions for INPUT TABLE-HANDLE parameters.