Folgende Themen werden behandelt:
Von der Software AG zur Verfügung gestellte ICU Data Libraries kundenspezifisch anpassen
Validierung des Schlüsselwort-Subparameters STEPLIB im Profilparameter CFICU
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. Es 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:
Von der Software AG zur Verfügung gestellte Datendateien (siehe ICU Data Libraries).
Statisch verlinkte Lokalisierungsdaten (siehe Codepages und Locales).
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).
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 Name des Dataset 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 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')
Die erste Natural-Session in einem gegebenen TP-System 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.