#### ROW

#### Synopsis

    HELP:   A set of different row/table formats that can be read
    TYPE:   OBJECT
    SYNTAX: ROW[(NAME='str',COLUMN[()...],MAXLEN/FIXLEN=num,IGNRST,IGNEMP,PATH/ROOT='str',FORMAT=FIX/LFD/DLM/VAR/CSV/TVD/XML,DEFAULTS())...]

#### Description

Tables are read row-by-row. This object must be used to describe the structure of each row in a table.

The maximum length of one row can be limited by specifying the MAXLEN parameter. This is especially important for unstructured data if more than one row specification is used because it may help to detect the correct row specification that applies to the currently processed row.

If specifying a fixed or variable length format, by default, the 'MAXLEN' parameter is set to a reasonable value (sum of each length). For fixed length formats, the record length must be equal to the calculated length of this row and for variable formats, the record length must smaller than or equal to the defined maximal length. For structured formats like XML, the maximum length check is also available, but usually does not make much sense because the bytes occupied by one row needs is not known a priori for such data formats.

To simplify the specification of columns, a format specifier and several default values can be specified. These settings will override the corresponding settings of the table object.

Any conversions are performed per column. Data formats, character sets and various conversions can be mixed at will. If XML documents are parsed, the format for all columns must be XML.

If the table processing method is RECORD, then you can activate switches to ignore empty records (record length = 0) or a remaining rest at the end of the line. This can be used to suppress columns at the end of the record.

The table name is a logical qualifier which can later be used to address the table. Additionally, a path can be defined for different structured formats (like XML). This path is appended to the root path provided for the table and serves as prefix for the per-column path. If no path is provided, the logical table name is used.

A row specification supports many powerful features which can be accessed with the parameters below.

#### Arguments

- `STRING: NAME='str' - Logical name for the row specification (table)`
- `NUMBER: MAXLEN/FIXLEN=num - Maximum length of a row/record for format detection [no limit]`
- `SWITCH: IGNRST - Ignore a remaining rest at the end of a record/row [FALSE] (only if record orientation)`
- `SWITCH: IGNEMP - Ignore empty rows/records [FALSE] (only if record orientation)`
- `STRING: PATH/ROOT='str' - Define path to row (root) in a structured format [name]`