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 Profile Parameters and Macros in der Unicode and Code Page Support-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,                                            *
               DATITEM=value,                                          *
               LOCALE=value1_value2
               STEPLIB='value'

Oder:

         NTCFICU ON

Oder:

         NTCFICU OFF

Siehe Schlüsselwort-Subparameter.

Schlüsselwort-Subparameter

CNVNORM | COLLATE | COLNORM | CPOPT | LOCALE | STEPLIB

CNVNORM - Normalisierung vor der Konvertierung

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

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

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 Kompatibilitätszeichens als U+0061, U+0308 dargestellt werden. Bei der Konvertierung in eine Codepage wird das Kompatibilitätszeichens "ä" (U+0061 U+0308) als zwei Codepoints betrachtet und ein Substitutionszeichen erzeugt, wenn U+0308 kein gültiges Zeichen der Ziel-Codepage ist. Bei der Normalisierung vor der Konvertierung wird aus den kombinierten Codepoints U+0061 U+0308 ein Codepoint U+00E4 erzeugt, und die anschließende Konvertierung liefert das "ä" als Ergebnis.
  2. Der Parameter wird immer dann berücksichtigt, wenn eine Konvertierung 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 zu konvertieren, 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-Konvertierung

CPOPT=value kann zur Optimierung der Konvertierungsleistung angegeben werden.

Wert Erklärung
ON Verwendung interner Übersetzungstabellen 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 Konvertierung 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 Konvertierungsleistung verbessert werden, wenn man statt der ICU-Funktionen interne Übersetzungstabellen benutzt. Siehe Translation Tables in der Operations-Dokumentation.

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

DATITEM=value kann zur Festlegung der Methode für das Laden von ICU-Daten-Elementen (Data Items) unter CICS und Com-plete angegeben werden. Weitere Informationen siehe Abschnitt ICU Data Items in der Unicode and Code Page Support-Dokumentation.

Wert Erklärung
SVC Die ICU-Daten-Elementen (Data Items) werden mit der SVC-Anweisung des Betriebssystems geladen.
NONE Die ICU-Daten-Elementen (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-Daten-Element (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 sogar 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-Daten-Elemente enthält)

STEPLIB='dataset.name' kann angegeben werden, um den Namen der ICU Library zu definieren. Siehe ICS 311 in Kapitel Unicode and Code Page Support.

Wert Erklärung
'dataset.name' Der Name des Dataset, der die ICU-Daten-Elemente 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 nur dynamisch aus einem Dataset geladen, der die Daten-Elemente (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'