#### METHOD

#### Synopsis

    HELP:   Enforces record or block-oriented conversion [AUTO]
    TYPE:   NUMBER
    SYNTAX: METHOD=AUTO/BLOCK/RECORD/KEEP/SKIP

#### Description

The method of character conversion defines how the input data fields are handled. A data field can be one block or a number of records dependent from how the data is read and converted before character conversion is done. Is the data field a list of records then the record oriented method shall be used. Is the data field a single block the block oriented conversion shall be used. This means that the METHOD must only be set to enforce record or block orientation against the usual way of processing the data.

- Block Orientation - This means all records are handled as one block and the record length information will go lost. If incomplete characters occur at the end of this block it will be remembered as rest and copied to the next block. Using this method there will be no interruption of the data stream.

- Record Orientation - This method ensures that each record contains only complete character sequences. An incomplete character sequence will only be accepted at the end of the last record and handled also as rest for the record in the next data field. To enforce record orientation processing of one block of data there will be no difference to block orientation conversion, besides for processing the last block.

Thus it makes only sense to switch for a record organized data field to block orientation conversion. But this is very critical, as the length information will go lost. This means that there will be no chance to retrieve the record information, besides the record contains some delimiters which can be used to build a new list of record lengths. So we recommend to use the METHOD switch only if you know what you are doing. In some cases analysis of the error trace might result in the correct method that can be used to convert the text.

If an incomplete byte sequence progresses in the next record, then it can be helpful to enforce block oriented conversion, because the record length conversion can be invalid. On the other side, if the next record starts with a new valid byte sequence, then a skip of the damaged byte sequence in the last record can be helpful.

If SKIP is selected then each incomplete character at the end of a record is recorded in the report file with a special code point 0xFFFFFF including the really skipped byte sequence. If this problem happens in the last block you can enforce record oriented conversion with SKIP to convert the data and the incomplete rest of the last block. They are written to the report file. Normally the corresponding MODE is used for the final block to prevent a rest.

Please don't mix up SKIP as METHOD for the rest of a record contained in a data field and the IGNORE as MODE for the content of a record as unit of work.

The default method depends on the data. If the data is marked as block-oriented or the record type is text with delimiters, then the method BLOCK is used. In all other cases, record orientation with the method KEEP is used.

#### Selections

- `AUTO - Automatic orientation (block or record with keep)`
- `BLOCK - Block-oriented conversion (all data is one chunk)`
- `RECORD - Record-oriented conversion (check record boundaries)`
- `KEEP - Keep (Move a rest from the end to begin of next record)`
- `SKIP - Skip a rest at the end of a record (not recommended)`