This document covers the following topics:
ICS 321 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 321 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 321 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 321. 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 321).
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='I321ITEMS.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.
Under the current implementation of NPR, the PRD.ICSnnn.MVSLOAD must always be APF-authorized. This is independent of whether it is part of the STEPLIB concatenation or specified with the STEPLIB parameter of CFICU.
The scenarios for using ICS31 in a Natural subtask are:
When running multiple Natural sessions / subtasks from an Entire System Server (NPR) node.
When NOP, NOM, EOR are automated to be run by an ESS/NPR node.
When running an NDV server.