ICS 311

#### Search Results

Search

# ICS 311

This document covers the following topics:

- Data Scope and Data Handling

- The CFICU STEPLIB Parameter

- Validating the CFICU STEPLIB Parameter

- Using ICS31 in Natural subtask (needs APF-authorized ICS load library)

## Data Scope and Data Handling

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).

## The CFICU STEPLIB Parameter

Data files provided with Natural 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')`

## Validating the CFICU STEPLIB Parameter

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.

## Using ICS31 in Natural subtask (needs APF-authorized ICS load library)

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.

### On this page

- Data Scope and Data Handling
- The CFICU STEPLIB Parameter
- Validating the CFICU STEPLIB Parameter
- Using ICS31 in Natural subtask (needs APF-authorized ICS load library)