This document covers the following topics:
ICS 311 is based on ICU 65.1 and Unicode 12.0. The new ICU Data Build Tool, introduced with ICU 64.1 , can be used to customize the ICU locale data file. This change no longer guarantees the integrity and completeness of ICU data libraries provided by Software AG with ICS 311. It compels the change of direction for the new ICS 311.
The following items will not be available with ICS 311 due to the changes in the method of compiling and loading localization data in newer ICU releases:
Data files provided by Software AG (see ICU Data Libraries).
Statically-linked localization data (see Code Pages and Locales).
ICS 311 provides all of the available ICU customization data,
modulated in so-called Data
Items. The dataset containing the data items is part of the
delivery, along with the ICS 311 load modules SAGICU
and
SAGICUA9
.
A data item (collator, converter) is located on the disk in the
dataset. The data item is loaded in the memory on demand (e.g. by a MOVE
ENCODED
statement). Once a data item is loaded, it is available for
future use instantly without the need to reload.
This allows for the ICS 311 load modules SAGICU
and
SAGICUA9
to be kept minimal in size.
A new SYSCP
function to list all loaded data items has
been introduced (see SYSCP function
Loaded Code
Pages in section Utilities >
SYSCP Utility - Code Page Administration).
Data files provided by Software AG are no longer supported with ICS 311. ICU localization data is loaded only dynamically from a dataset containing the data items (collators, converters, etc.).
The name of this dataset can be:
statically specified in the JCL as a Natural Steplib.
dynamically allocated with the CFICU
STEPLIB
parameter (see section
The CFICU STEPLIB
Parameter in Unicode and Code Page Support
> ICS 311).
ICS uses both allocation methods to search for data items, starting
from the CFICU STEPLIB
dataset (if given) and the statically
specified Natural Steplibs in the JCL.
This dynamic approach allows for flexibility. The JCL must not be changed in order to run Natural, only a Natural session parameter must be added.
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.
Example: CFICU=(STEPLIB='I311ITEMS.LOAD')
The first Natural session in a given TP system will try to validate
the CFICU STEPLIB
parameter. If the validation is successful, ICS
will initialize. All following Natural sessions in the TP system will
disregard the CFICU STEPLIB
parameter and use the
dynamically allocated dataset of the first session. Validation criteria for the
dataset name
include the following:
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 '.'
If the validation is not successful, Natural error
NAT3414 STEPLIB DSN <data set name> cannot be
loaded
will be issued. The next Natural session will try to
validate the STEPLIB
parameter and initialize ICS again. This
iteration will continue until a successful ICS initialization is reached. All
sessions after a successful ICS initialization will disregard the
STEPLIB
parameter and use the already allocated resource.