MODE

Synopsis

HELP:   Define handling of non-convertible characters [STOP]
TYPE:   NUMBER
SYNTAX: MODE=STOP/IGNORE/SUBSTITUTE/IDENTITY/TRANSLIT

Description

With the MODE selection you can define how an invalid or incomplete character is handled inside of a unit by this component. All possible modes are listed at the end of this chapter.

This MODE is valid for the content of each unit (block or record). At the end of a unit there can be an incomplete character. Such a rest will be handled dependent on the METHOD you choose. The rest of the last unit of a data field will be concatenated to the first unit of the next data field. For all other records in a data field the handling of such a rest will be defined by the respective METHOD.

The SKIP case for METHOD is only relevant for incomplete byte sequences at the end of a unit. The ignore and substitution mode is only effective for all characters in the middle of the unit, besides an incomplete byte sequence occurs in the last unit. Please don't mix up the IGNORE case for MODE with the SKIP case of METHOD.

If a system or user substitution table is used the stop, ignore or substitute are only relevant for characters not managed by the CCSIDs and the substitution tables. This means that the USRTAB and SYSTAB are added to the capabilities of character conversion and only for the rest the chosen MODE is used.

If the modes identity (only for single to single byte conversions (ASCII to EBCDIC and vice versa)), substitution or transliteration as error handling for none convertible characters activated, no reporting requested and all conversions result in the same length (for ASCII/ EBCDIC/UTF-8 always 1 byte, for UTF-16 always 2 byte and for UTF-32 always 4 byte) then the character conversion will be factor 2 to 4 faster, but in this case the none reversible character conversions are not counted anymore. A character conversion with different length (IGNORE, TRANSLIT, USRTAB) or an error (STOP) if a invalid character encountered needs needs a character by character handling which result in less performance. To be fast (like the old translate parameter of FLAMv4) we recommend to use the substitution mode for character conversion.