This document covers the following topics:
ICS 322 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 322 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 322 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 322. 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 322).
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='I322ITEMS.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.