ICS 311

Folgende Themen werden behandelt:


Von der Software AG zur Verfügung gestellte ICU Data Libraries kundenspezifisch anpassen

ICS 311 basiert auf ICU 65.1 und Unicode 12.0. Das mit ICU 64.1 eingeführte neue ICU Data Build Tool kann zur kundenspezifischen Anpassung der ICU Locale-Datendatei verwendet werden. Durch diese Änderung ist die Vollständigkeit der von der Software AG mit ICS 311 zur Verfügung gestellten ICU Data Libraries nicht mehr gewährleistet. Dies erzwingt einen Richtungswechsel bei der neuen Version ICS 311.

Bedingt durch Änderungen in der Methode des Kompilierens und Ladens von Lokalisierungsdaten in neueren ICU Releases ist Folgendes nicht mehr verfügbar:

Umfang und Handhabung der Daten

In ICS 311 werden alle verfügbaren Daten zur kundenspezifischen Anpassung in modularisierter Form als so genannte Datenelemente (Data Items) zur Verfügung gestellt. Der Dataset, der die Datenelemente enthält, ist ebenso wie die ICS 311-Lademodule SAGICU und SAGICUA9 im Lieferumfang enthalten.

Ein Datenelement (Collator, Converter) befindet sich im Dataset auf der Platte und wird bei Bedarf in den Speicher geladen (z.B. durch ein MOVE ENCODED-Statement). Sobald es geladen wird, ist es für die künftige Verwendung sofort verfügbar, ohne dass es neu geladen werden muss.

Dadurch kann die Größe der ICS 311-Lademodule SAGICU und SAGICUA9 minimal gehalten werden.

Mit der Utility SYSCP können Sie sich alle geladenen Datenelemente anzeigen lassen (siehe SYSCP-Funktion Geladene Codepages - Funktion: Loaded Code Pages in der Debugger und AE-Dienstprogramme-Dokumentation).

Schlüsselwort-Subparameter STEPLIB im Profilparameter CFICU

Von der Software AG zur Verfügung gestellte Datendateien werden ab ICS 311 nicht mehr unterstützt. Die ICU-Lokalisierungsdaten werden nur dynamisch aus einem Dataset geladen, der die Datenelemente (Collators, Converters usw.) enthält.

Der Dataset-Name kann

  • statisch angegeben werden: als eine Natural-Steplib in der JCL.

  • dynamisch zugeordnet werden: mit dem Schlüsselwort-Subparameter STEPLIB des Profilparameters CFICU.

Um nach Datenelementen zu suchen, macht ICS von beiden Zuordnungsmethoden Gebrauch: zunächst bei dem im Schlüsselwort-Subparameter STEPLIB angegebenen Dataset (falls gegeben) und dann bei den statisch angegebenen Steplibs in der JCL.

Diese dynamische Vorgehensweise ermöglicht eine hohe Flexibilität. Die JCL braucht nicht geändert zu werden. Um Natural laufen zu lassen, muss nur in der Session ein Subparameter angegeben werden.

Der mit dem Schlüsselwort-Subparameter STEPLIB des Profilparameters CFICU angegebene Dataset wird dynamisch nur einmal zugeordnet durch die erste Natural-Session in einem gegebenen TP-System unter der DD Karte ICSxxxDD (dabei steht xxx für die ICS-Version) und wird danach in allen Natural-Sessions benutzt.

Beispiel: CFICU=(STEPLIB='I311ITEMS.LOAD')

Validierung des Schlüsselwort-Subparameters STEPLIB im Profilparameter CFICU

Bei der ersten Natural-Session in einem gegebenen TP-System wird versucht, den Schlüsselwort-Subparameter STEPLIB im Profilparameter CFICU auf Gültigkeit zu prüfen. Verläuft die Gültigkeitsprüfung erfolgreich, wird ICS initialisiert. In allen anschließenden Natural-Sessions in dem TP-System wird der STEPLIB-Parameter nicht beachtet und der in der ersten Session dynamisch zugeordnete Dataset verwendet. Für den mit dem STEPLIB-Subparameter angegebenen Dataset-Namen gelten folgende Validierungsregeln:

  • Der Dataset muss existieren.

  • Der Name des Dataset muss mit Hochkommas (' ') umschlossen sein, siehe Beispiel weiter oben.

  • Der Name des Dataset muss den z/OS-Namenskonventionen entsprechen:

    • Maximale Länge: 44 Zeichen.

    • Darf keine Sonderzeichen enthalten.

    • Darf kein High Level Qualifier sein, d.h., er muss mindestens einen Punkt (.) enthalten.

War die Gültigkeitsprüfung nicht erfolgreich, wird der Natural-Fehler NAT3414 STEPLIB DSN <data set name> cannot be loaded ausgegeben. Die nächste Natural-Session wird dann versuchen, den STEPLIB-Subparameter zu validieren und ICS neu zu initialisieren. Dieser Vorgang wird iterativ so lange fortgesetzt, bis eine erfolgreiche Initialisierung erreicht worden ist. Alle Sessions nach einer erfolgreichen ICS-Initialisierung werden den STEPLIB-Parameter nicht beachten. Sie benutzen die bereits zugeordnete Ressource.