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 Natural
parameter module.
Possible settings | See CFICU Parameter Syntax. | |
---|---|---|
Default setting | ON or OFF |
Enables or disables the Unicode and code page support.
The default value is |
Dynamic specification | yes | The parameter CFICU can only be
specified dynamically. In the
Natural
parameter module, the macro
NTCFICU
is used instead.
|
Specification within session | no |
Notes:
CFICU=ON
is enforced when profile parameter
CP
is set to
any value other than OFF
.
The following topics are covered below:
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 |
The NTCFICU
macro is specified as
follows:
NTCFICU ON, * CNVNORM=value, * COLLATE=value, * COLNORM=value, * CPOPT=value, * STEPLIB='value', * DATITEM=value, * LOCALE=value1_value2
Or:
NTCFICU ON
Or:
NTCFICU OFF
CNVNORM
|
COLLATE
|
COLNORM
|
CPOPT
|
DATFILE
|
DATITEM
|
LOCALE
|
STEPLIB
CNVNORM=value
activates/deactivates normalization before conversion.
Value | Explanation |
---|---|
ON |
Enable normalization before conversion. |
OFF |
Disable normalization before
conversion.
Note: This is the default value. |
Notes:
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 "ä".
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=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:
The character "Ä" is sorted in German locale between A and "B", but in Swedish locale it is sorted after "Z".
In Lithuanian, "y" is sorted between "i" and "k".
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:
COLLATE
is set to ON
.
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.
The DATFILE functionality is not supported by ICS 311 and is only available with ICS Transition Version 222.
For details, see Natural for Mainframes > Unicode and Code Page Support > ICS 311 and Natural for Mainframes > Unicode and Code Page Support > ICS Transition Version 222.
DATFILE=value
can be used
to define the name of an optional ICU data library.
Value | Explanation |
---|---|
1 - 8 characters or
OFF |
The name of the ICU data library. |
OFF |
No additional ICU data library is
defined. The default
ICU data library is used, which is part of the
ICS module (see the Unicode and Code Page
Support documentation).
This is the default value. |
Notes:
RCA
and
RCALIAS
for more
information).
DATITEM=value
can be used
to determine the method to load ICU data items under CICS and Com-plete. For
information on
ICU data items, see the relevant section in the
Unicode and Code Page Support documentation.
Value | Explanation |
---|---|
SVC |
The ICU data items are loaded with the SVC instruction of the operating system. |
NONE |
The ICU data items are loaded with the
functions provided by the TP system.
This is the default value. |
Notes:
DATITEM=NONE
under Com-plete, you
must set the keyword parameter THREAD-ESQA-SIZE=15K
(or a size
greater than 15 KB) in the startup options for your Com-plete.
DATITEM=NONE
under CICS, you must
add one PPT entry for each ICU data item.
LOCALE=value1_value2
determines the Locale ID.
Value | Explanation |
---|---|
value1_value2 |
|
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.
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) |
STEPLIB='dataset.name'
can
be used to define the name of an ICU data library. See Natural for
Mainframes > Unicode and Code Page Support
> ICS 311.
'dataset.name' |
Explanation |
---|---|
3-44 characters | The name of the dataset containing the ICU data items. |
the dataset must exist.
the dataset name must be enclosed in ' ' - see example above.
the dataset name must conform to the z/OS naming conventions:
maximal length of 44 characters.
no special characters allowed.
must not be a High Level Qualifier i.e. must contain at least one dot '.'.
With ICS 311, data files provided by Software AG are not supported
and only the minimal SAGICU
and SAGICUA9
load modules
will be delivered. These modules do not contain statically-linked localization
data. ICU localization data is loaded only dynamically from a dataset
containing the data items (collators, converters, etc.).
The dataset given by the CFICU STEPLIB
parameter will
be dynamically allocated only once by the first Natural session in a given TP
system under the DD Card ICSxxxDD (xxx corresponds to ICS version) and used by
all Natural sessions afterwards.
Note:
This functionality is not supported by ICS Transition Version
222 and is only available with ICS 311.
CFICU=(COLNORM=ON,LOCALE='de_DE',STEPLIB='DATAITEMS.LOAD')
NTCFICU COLNORM=ON, * LOCALE=de_DE, * STEPLIB='DATAITEMS.LOAD'