CFICU - Unicode- und Codepage-Unterstützung

Dieser Natural-Profilparameter wird benötigt, um die Unicode- und Codepage-Unterstützung für verschiedene Unicode-Einstellungen einzuschalten, z.B. wenn Variablen mit Format U oder das Statement MOVE ENCODED benutzt werden sollen. Er entspricht im Natural-Parametermodul dem Makro NTCFICU.

Mögliche Werte Siehe CFICU-Parameter-Syntax.
Standard-Einstellung ON oder OFF Schaltet die Unicode- und Codepage-Unterstützung ein bzw. aus.

Die Standard-Einstellung ist OFF, wenn der Profilparameter CP auf OFF gesetzt ist. Andernfalls ist die Standard-Einstellung ON.

Dynamische Angabe ja Der Parameter CFICU kann nur dynamisch angegeben werden. Im Natural-Parametermodul wird das Makro NTCFICU verwendet.
Angabe innerhalb der Session nein  

Anmerkungen:

  1. CFICU=ON wird zwangsweise gesetzt, wenn der Profilparameter CP auf einen anderen Wert als OFF gesetzt wird.
  2. Weitere Informationen siehe Natural-Profilparameter und Parameter-Makros in der Unicode- und Codepage-Unterstützung-Dokumentation.

Dieses Dokument behandelt folgende Themen:


CFICU-Parameter-Syntax

Der Profilparameter CFICU wird wie folgt angegeben:

CFICU=(ON,keyword-subparameter=value,keyword-subparameter=value,...)

Oder:

CFICU=ON

Oder:

CFICU=(OFF,keyword-subparameter=value,keyword-subparameter=value,...)

Oder:

CFICU=OFF

Siehe Schlüsselwort-Subparameter.

NTCFICU-Makro-Syntax

Das Makro NTCFICU wird wie folgt angegeben:

         NTCFICU ON,                                                   *
               CNVNORM=value,                                          *
               COLLATE=value,                                          *
               COLNORM=value,                                          *
               CPOPT=value,                                            *
               DATFILE=value,                                          *
               DATITEM=value,                                          *
               LOCALE=value1_value2,                                   *
               STEPLIB='value'

Oder:

         NTCFICU ON

Oder:

         NTCFICU OFF

Siehe Schlüsselwort-Subparameter.

Schlüsselwort-Subparameter

CNVNORM | COLLATE | COLNORM | CPOPT | DATFILE | DATITEM | LOCALE | STEPLIB

CNVNORM - Normalisierung vor der Umwandlung

CNVNORM=value aktiviert bzw. deaktiviert die Normalisierung vor der Umwandlung.

Wert Erklärung
ON Eine Normalisierung vor der Umwandlung findet statt.
OFF Keine Normalisierung vor der Umwandlung.

Anmerkung:
Wenn CNVNORM=OFF ist, kann das Statement MOVE NORMALIZED zum Normalisieren von ausgewählten Zeichenketten verwendet werden.

Dies ist die Standard-Einstellung.

Anmerkungen:

  1. Das deutsche Zeichen "ä" zum Beispiel kann in Unicode als U+00E4 oder unter Verwendung eines zusammengesetzten Zeichens als U+0061, U+0308 dargestellt werden. Bei der Umwandlung in eine Codepage wird das zusammengesetzte Zeichen "ä" (U+0061 U+0308) als zwei Codepoints betrachtet und ein Ersatzzeichen erzeugt, wenn U+0308 kein gültiges Zeichen der Ziel-Codepage ist. Bei der Normalisierung vor der Umwandlung wird aus den zusammengesetzten Codepoints U+0061 U+0308 ein Codepoint U+00E4 erzeugt, und die anschließende Umwandlung liefert das "ä" als Ergebnis.
  2. Der Parameter wird immer dann berücksichtigt, wenn eine Umwandlung vom Format U nach Format A erfolgt, zum Beispiel: MOVE U TO A oder DISPLAY U, und das Ausgabegerät eine Terminalemulation ist. Diese zusätzliche Operation benötigt natürlich zusätzlichen Speicher sowie zusätzliche CPU-Zeit.

COLLATE - Collation Services

COLLATE=value bestimmt den zu verwendenden Collation Service.

Wert Erklärung
ON Verwendung der Locale ID der ICU Collation Services, um Unicode-Zeichensätze zu vergleichen.

Dies ist die Standard-Einstellung.

OFF Verwendung des ICU Simple Unicode für den Vergleich.

Anmerkung:
Als "Collation" bezeichnet man den Vorgang, Einheiten mit textuellen Informationen in einer bestimmten Sortierfolge zu verarbeiten (alphabetisches Sortieren). Diese Sortierfolge ist üblicherweise spezifisch für eine bestimmte Sprache.

Beispiele:

  • Das Zeichen "Ä" wird im deutschen Gebietsschema ("Locale") zwischen "A" und "B" einsortiert, aber im schwedischen Gebietsschema nach dem "Z".

  • Im Litauischen wird das "y" zwischen dem "i" und dem "k" einsortiert.

COLNORM - Normalisierungsprüfung der Collation Services

COLNORM=value dient zum Ein- bzw. Ausschalten der Normalisierungsprüfung.

Wert Erklärung
ON Die Prüfung auf nicht-normalisierten Text erfolgt.
OFF Es erfolgt keine Prüfung auf nicht-normalisierten Text.

Dies ist die Standard-Einstellung.

Anmerkungen:

  1. Als Normalisierung bezeichnet man den Vorgang, alternative Darstellungen von gleichbedeutenden Abfolgen aus Textdaten zu entfernen, um die Daten in eine Form umzuwandeln, die binär auf gleiche Bedeutung verglichen werden kann. Der ICU Collation Service handhabt nicht-normalisierten Text korrekt und erzeugt so dieselben Ergebnisse, wie wenn der Text normalisiert wäre. Dadurch wird bei den meisten Texten, die eine Normalisierung erfordern, eine Performance-Maximierung erreicht. Wenn man bei Unicode-Daten mit Gewissheit davon ausgehen kann, dass sie keinen nicht-normalisierten Text enthalten, kann man sich den zusätzlichen Aufwand für die Normalisierungsprüfung ersparen.
  2. Dieser Subparameter wird nur dann berücksichtigt, wenn COLLATE=ON gesetzt ist.

CPOPT - Schnellere Codepage-Umsetzung

CPOPT=value kann zur Optimierung der Umwandlungsleistung angegeben werden.

Wert Erklärung
ON Verwendung interner Umwandlungstabellen anstelle von ICU-Funktionen, falls möglich.
OFF In jedem Fall Verwendung von ICU-Funktionen.

Dies ist die Standard-Einstellung.

Anmerkung:
Standardmäßig erfolgt die Umsetzung vom alphanumerischen in das Unicode-Format und in umgekehrter Richtung durch Aufrufen von Unicode-Funktionen. Bestimmte Codepages bilden Zeichen mit einer 1:1-Beziehung in Unicode ab (per "Mapping"). In diesem Fall kann die Umwandlungsleistung verbessert werden, wenn man statt der ICU-Funktionen interne Umwandlungstabellen benutzt. Siehe Translation Tables in der Operations-Dokumentation.

DATFILE - Zusätzliche Daten-Libraries

Die Funktionalität des Subparameters DATFILE wird von ICS 311 nicht unterstützt und ist nur mit der ICS Transition Version 222 verfügbar.

Ausführliche Informationen siehe ICS 311 und ICS Transition Version 222 in der Unicode- und Codepage-Unterstützung-Dokumentation.

DATFILE=value kann zur Festlegung des Namens einer optionaler Daten-Library angegeben werden.

Wert Erklärung
1 - 8 Zeichen oder OFF Der Name der ICU-Daten-Library.
OFF Es ist keine zusätzliche ICU-Daten-Library definiert. Verwendet wird die Standard-ICU Data Library, die Bestandteil des ICS Module ist (siehe Unicode- und Codepage-Unterstützung-Dokumentation).

Dies ist die Standard-Einstellung.

Anmerkungen:

  1. Die Daten-Library muss unter Verwendung von dynamischen Ladetechniken geladen werden können (weitere Informationen siehe Profilparameter RCA und RCALIAS).
  2. Die ICU-Daten-Library enthält die Abbildungstabellen ("Mapping Tables") für den Converter, Regeln für die Sortierfolge, Regeln für den Break Iterator und sonstige Locale-Daten.
  3. Der ICU Development Kit bietet Tools für die Erstellung von Daten-Libraries, die spezielle Anforderungen erfüllen. Weitere Informationen siehe ICU User Guide auf der Seite http://userguide.icu-project.org/.
  4. Sie können zu einer Natural-Session nur eine ICU-Daten-Library zuweisen, Sie können jedoch verschiedenen Natural-Sessions verschiedene ICU-Daten-Libraries zuweisen. Das ICS-Modul unterstützt bis zu zehn verschiedene ICU-Daten-Libraries. ICS durchsucht alle zur Verfügung stehenden ICU-Daten-Libraries nach einem angeforderten Element, z.B. einem Converter.
  5. Die Version der ICU-Daten-Library und die ICU-Version müssen übereinstimmen. Wenn die Daten-Library nicht mit der ICU-Version übereinstimmt, gibt Natural bei der Initialisierung der Session die Fehlermeldung NAT3418 mit dem Return Code 80 aus.

DATITEM - Methode für das Laden von ICU-Datenelementen (Data Items)

DATITEM=value kann zur Festlegung der Methode für das Laden von ICU-Datenelementen (Data Items) unter CICS und Com-plete angegeben werden. Weitere Informationen siehe Abschnitt ICU-Datenelemente in der Unicode- und Codepage-Unterstützung-Dokumentation.

Wert Erklärung
SVC Die ICU-Datenelemente (Data Items) werden mit der SVC-Anweisung des Betriebssystems geladen.
NONE Die ICU-Datenelemente (Data Items) werden mit den vom TP-System zur Verfügung gestellten Funktionen geladen.

Dies ist die Standard-Einstellung.

Anmerkungen:

  1. Wenn Sie DATITEM=NONE unter Com-plete benutzen, müssen Sie in den Startup-Optionen für Ihr Com-plete den Schlüsselwort-Parameter THREAD-ESQA-SIZE=15K (oder eine Größe von mehr als 15 KB) setzen.
  2. Wenn Sie DATITEM=NONE unter CICS benutzen, müssen Sie pro ICU-Datenelement (Data Item) einen PPT-Eintrag hinzufügen.

LOCALE - Locale-Kennung

LOCALE=value1_value2 bestimmt die "Locale"-Kennung. (Eine "Locale" ist ein Satz Einstellungen, der die Gebietsschemaparameter enthält.)

Wert Erklärung
value1_value2_RRR value1 ist ein 2- oder 3-Byte-Sprachcode mit Kleinbuchstabenzeichen. Bei Angabe in Großbuchstaben wird er automatisch in Kleinbuchstaben umgewandelt.

value2 ist ein 2- oder 3-Byte-Regionalcode mit Großbuchstabenzeichen zur Klassifizierung der Sprache.

en_US Dies ist die Standard-Einstellung.

Anmerkung:
Die Locale-Kennung wird vom ICU Collation Service verwendet, um sprachabhängige und auch regionsabhängige Merkmale der Sortierfolge zu berücksichtigen. Der Sprachcode der Locale-Kennung richtet sich nach ISO639, und der Regionalcode nach ISO3166.

Beispiele für Sprachcode- und Regionalcode-Paare:

en_US Englisch (Vereinigte Staaten)
en_UK Englisch (Vereinigtes Königreich)
de_DE Deutsch (Deutschland)
de_AT Deutsch (Österreich)
de_CH Deutsch (Schweiz)
sv_SE Skandinavisch (Schweden)

STEPLIB - Name des dynamisch zuzuweisenden Dataset (der die ICU-Datenelemente enthält)

STEPLIB='dataset.name' kann angegeben werden, um den Namen der ICU Library zu definieren. Siehe ICS 311 im Dokument Unicode- und Codepage-Unterstützung.

Wert Erklärung
'dataset.name' Der Name des Dataset, der die ICU-Datenelemente enthält. Länge: 3 bis 44 Zeichen.

Validierungsregeln für den mit dem STEPLIB-Subparameter angegebenen Dataset-Namen

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

Ab ICS 311 werden von der Software AG zur Verfügung gestellte Datendateien nicht unterstützt und es werden nur die minimalen Lademodule SAGICU und SAGICUA9 ausgeliefert. Diese Module enthalten keine statisch verlinkten Lokalisierungsdaten. ICU-Lokalisierungsdaten werden lediglich dynamisch aus einem Dataset geladen, der die Datenelemente (Collators, Converters usw.) enthält.

Der in dem Parameter CFICU STEPLIB angegebene Dataset wird dynamisch nur einmal durch die erste Natural-Sitzung in einem gegebenen TP-System unter der DD Card ICSxxxDD (dabei entspricht xxx der ICS-Version) zugewiesen und danach von allen Natural-Sitzungen benutzt.

Anmerkung:
Diese Funktionalität wird von der ICS Transition Version 222 nicht unterstützt und ist nur ab ICS 311 verfügbar.

Beispiel für CFICU-Parameter

CFICU=(COLNORM=ON,LOCALE='de_DE',STEPLIB='DATAITEMS.LOAD')

Beispiel für NTCFICU-Makro

         NTCFICU COLNORM=ON,                                           *
               LOCALE=de_DE,                                           *
               STEPLIB='DATAITEMS.LOAD'