CFICU - Unicode- und Codepage-Unterstützung

#### Search Results

Search

# 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

- NTCFICU-Makro-Syntax

- Schlüsselwort-Subparameter

- Beispiel für CFICU-Parameter

- Beispiel für NTCFICU-Makro

## 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` | `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.

### 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 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'

### On this page

- CFICU-Parameter-Syntax
- NTCFICU-Makro-Syntax
- Schlüsselwort-Subparameter
- Beispiel für CFICU-Parameter
- Beispiel für NTCFICU-Makro