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.