Version 8.2.2 for Mainframes
 —  Parameter Reference  —

CFICU - Unicode and Code Page Support

This Natural profile parameter is required to enable Unicode and code page support for various Unicode settings, for example, if variables with format U or the statement MOVE ENCODED are to be used. It corresponds to the NTCFICU macro in the parameter module NATPARM.

Possible settings See CFICU Parameter Syntax.
Default setting ON or OFF  Enables or disables the Unicode and code page support.

The default value is OFF when profile parameter CP is set to OFF. Otherwise, the default value is ON.

Dynamic specification yes The parameter CFICU can only be specified dynamically. In the Natural parameter module NATPARM, the macro NTCFICU is used instead.
Specification within session no  

Notes:

  1. CFICU=ON is enforced when profile parameter CP is set to any value other than OFF.
  2. For further information, see Profile Parameters in the Unicode and Code Page Support documentation.

The following topics are covered below:


CFICU Parameter Syntax

The CFICU profile parameter is specified as follows:

CFICU=(ON,keyword-subparameter=value,keyword-subparameter=value,...)

Or:

CFICU=ON

Or:

CFICU=(OFF,keyword-subparameter=value,keyword-subparameter=value,...)

Or:

CFICU=OFF

See Keyword Subparameters.

Top of page

NTCFICU Macro Syntax

The NTCFICU macro is specified as follows:

         NTCFICU ON,                                                   *
               CNVNORM=value,                                          *
               COLLATE=value,                                          *
               COLNORM=value,                                          *
               CPOPT=value,                                            *
               DATFILE=value,                                          *
               LOCALE=value1_value2

Or:

         NTCFICU ON

Or:

         NTCFICU OFF

See Keyword Subparameters.

Top of page

Keyword Subparameters

CNVNORM | COLLATE | COLNORM | CPOPT | DATFILE | LOCALE

CNVNORM - Normalization before Conversion

CNVNORM=value activates/deactivates normalization before conversion.

Value Explanation
ON Enable normalization before conversion.
OFF Disable normalization before conversion.

Note:
When CNVNORM=OFF, the MOVE NORMALIZED statement can be used to normalize selected strings.

This is the default value.

Notes:

  1. The German character "ä", for example, can be represented in Unicode as U+00E4 or by using a combining character as U+0061, U+0308. Conversion to a code page considers the combined "ä" (U+0061 U+0308) as two code points and produces an "a" and a substitution character, if U+0308 is no valid character of the target code page. Normalization before conversion creates one code point U+00E4 from the combined code points U+0061 U+0308 and the subsequent conversion will deliver the result "ä".
  2. The parameter is honored whenever a conversion from U to A format is performed, for example MOVE U TO A or DISPLAY U, when the output device is a terminal emulation. The additional operation consumes of course additional storage as well as additional CPU time.

COLLATE - Collation Services

COLLATE=value determines the collation service used.

Value Explanation
ON Use Locale ID and ICU's collation services to compare Unicode strings.

This is the default value.

OFF Use ICU's simple Unicode compare.

Note:
Collation is the process of ordering units of textual information (alphabetic sorting). Collation is usually specific to a particular language.

Examples:

COLNORM - Normalization Check of Collation Services

COLNORM=value can be used to enable or disable the normalization check.

Value Explanation
ON Check for un-normalized text.
OFF Disable check for un-normalized text.

This is the default value.

Notes:

  1. Normalization is the process of removing alternate representations of equivalent sequences from textual data, to convert data into a form that can be binary-compared for equivalence. The ICU Collation Service handles un-normalized text properly, producing the same results as if the text were normalized. This maximizes performance for the majority of text that does require normalization. If Unicode data is known with certainty not to contain un-normalized text, then even the overhead checking for normalization can be eliminated.
  2. This subparameter is honored only if subparameter COLLATE is set to ON.

CPOPT - Fast Code Page Conversion

CPOPT=value can be used to optimize the conversion performance.

Value Explanation
ON Use internal translation tables instead of ICU functions, if possible.
OFF Use ICU functions in any case.

This is the default value.

Note:
By default, a conversion from alpha to Unicode format and vice versa is performed by calling ICU functions. Certain code pages are mapping characters to Unicode with 1:1 relationship. In this case, the conversion performance can be increased by using internal translation tables rather than ICU functions.

DATFILE - Additional Data Files

DATFILE=value can be used to define the name of an optional data file.

Value Explanation
1 - 8 characters or OFF The name of the data file.
OFF No additional data files are defined. The default data file is used, which is part of the ICU nucleus module.

This is the default value.

Notes:

  1. The data file must be eligible for dynamic loading (see profile parameters RCA and RCALIAS for more information).
  2. The data file contains the converter mapping tables, collation rules, break iterator rules and other locale data.
  3. The ICU development kit provides tools to build data files that comply with particular requirements. Refer to the chapter Data Management in the ICU User Guide for more information.

LOCALE - Locale ID

LOCALE=value1_value2 determines the Locale ID.

Value Explanation
value1_value2

value1 is a 2- or 3-byte language code of lower-case characters. If specified in upper case, it will be translated into lower case automatically.

value2 is a 2- or 3-byte region code of upper-case characters to classify the language.

en_US  This is the default value.

Note:
The Locale ID is used by ICU's Collation Service to consider language and even region-dependent features of collation. The language code of the Locale ID follows ISO639, and the region code follows ISO 3166.

Examples of Language Code and Reason Code Pairs:

en_US English (United States)
en_UK English (United Kingdom)
de_DE German (Germany)
de_AT German (Austria)
de_CH German (Switzerland)
sv_SE Scandinavian (Sweden)

Top of page

Example of CFICU Parameter

CFICU=(COLNORM=ON,LOCALE='de_DE',DATFILE=TEST15)

Top of page

Example of NTCFICU Macro

         NTCFICU COLNORM=ON,                                           *
               LOCALE=de_DE,                                           *
               DATFILE=TEST15

Top of page