Doppel-Byte-Zeichensätze

#### Search Results

Search

# Doppel-Byte-Zeichensätze

Dieses Kapitel ist für asiatische Länder relevant, die Doppel-Byte-Zeichensätze (Double Byte Character Sets, DBCS) - im Gegensatz zu Ein-Byte-Zeichensätzen (Single Byte Character Sets, SBCS) - verwenden. Es beschreibt alle in Natural implementierten Funktionen zur Unterstützung von DBCS-Terminals und -Druckern.

Folgende Themen werden behandelt:

- Natural-Profilparameter SOSI

- Angabe des Ausgabeformats

- Parameterdefinitionen für DBCS-Unterstützung

- Editor-Profil-Optionen

- Prüfung der Eingabedaten

- Anpassung der Ausgabedaten

- Natural Stack-Daten

- Anwendungsprogrammierschnittstellen für die DBCS-Behandlung

- Alternatives Textmodul NATTXT2U

## Natural-Profilparameter SOSI

In alphanumerischen Feldern mit gemischten SBCS- und DBCS-Zeichen werden die DBCS-Zeichenketten von den SBCS-Zeichenketten durch Shift-Codes mit der Bezeichnung `SO` (Shift-Out) und `SI` (Shift-In) getrennt. Der Natural-Profilparameter `SOSI` wird verwendet, um die Werte der in der aktuellen Umgebung verwendeten Shift-In- und Shift-Out-Codes an Natural zu übergeben.

Es wird dringend empfohlen, intern die IBM-Zeichen `X'0E'` und `X'0F'` zu verwenden. Mit dieser Technik können alle Anwendungen und Daten auf kompatible Weise gehandhabt werden, was bedeutet, dass ein Netzwerk, das verschiedene Großrechnertypen unterstützt, dennoch dieselben Natural-Anwendungen verwenden und dieselben Daten verarbeiten kann.

Weitere Informationen siehe Profilparameter `SOSI` in der Parameter-Referenz-Dokumentation.

## Angabe des Ausgabeformats

Der Natural-Session-Parameter `PM=D` wird zur Definition von reinen DBCS-Feldern verwendet. Ein reines DBCS-Feld darf nur gültige DBCS-Zeichen enthalten. Shift-Out/Shift-In-Zeichen (`SO`/`SI`) sind in einem solchen Feld nicht erlaubt. Um ein Feld mit dem Session-Parameter `PM=D` anzuzeigen, wird für IBM-Terminals das Bildschirmattribut `X'43F8'` hinzugefügt.

## Parameterdefinitionen für DBCS-Unterstützung

Die folgenden Parameter müssen bei der Einrichtung von Natural für die Unterstützung von Doppel-Byte-Zeichensätze angegeben werden:

Parameter | Erläuterung
--- | ---
`TS=ON` | Wenn keine lateinischen Kleinbuchstaben verfügbar sind, wandelt dieser Parameter alle Natural-Systemausgaben anhand der durch das Makro `NTTABL` im Modul `NATCONFG` definierten Umsetzungstabelle um.
`SOSI=(0E,0E,0F,0F,1)` | Legt die DBCS Shift-Out- und Shift-In-Werte für IBM-Hardware fest.
`LC=ON` | Setzt nicht alle Eingabedaten in Großbuchstaben um, was wiederum mögliche DBCS-Eingabedaten zerstören würde.

Zusätzlich zu `TS=ON` werden weitere Parameter für die Umsetzung von Meldungen in Großbuchstaben von mehreren Natural-Komponenten zur Verfügung gestellt. Ausführliche Informationen finden Sie unter Weitere Parameter für die Umsetzung in Großbuchstaben in der Beschreibung des Profilparameters `TS`.

## Editor-Profil-Optionen

Wenn Sie in einem der Natural-Editoren DBCS- oder Katakana-Zeichen in halber Breite eingeben wollen, sollten Sie im Editor-Profil unter Allgemeine Standardwerte - General Defaults die folgenden allgemeinen Standardoptionen für den Editor einstellen, um zu vermeiden, dass Zeichenkonstanten oder Feldnamen, die DBCS- oder Katakana-Zeichen in halber Breite enthalten, ungewollt in Großbuchstaben umgewandelt werden:

Option | Wert | Erläuterung
--- | --- | ---
Editing in Lower Case | `Y` | Kleinbuchstaben im Quellcode werden nicht automatisch in Großbuchstaben umgewandelt. Diese Option ist erforderlich, wenn Sie DBCS oder Katakana-Zeichen mit halber Breite verwenden.
Dynamic Conversion of Lower Case | `N` | Jeder Quellcode bleibt so, wie Sie ihn eingeben. Diese Option ist erforderlich, wenn Sie Katakana-Zeichen mit halber Breite verwenden.

Ausführliche Informationen zu den allgemeinen Standardoptionen des Editors finden Sie unter Allgemeine Standardwerte - General Defaults. Ausführliche Informationen über das Editorprofil finden Sie unter Editor-Profil in der Editoren-Dokumentation.

Damit Sie diese Optionen nicht für jeden Benutzer ändern müssen, können Sie das Standardprofil für Ihre Installation mit Hilfe der User-Exit-Routine USR0070P ändern, die auch DBCS unterstützt. Siehe USR0070P - User Exit für Editor-Profile im Kapitel Natural konfigurieren.

## Prüfung der Eingabedaten

Wenn der Session-Parameter `PM=D` für ein Feld gesetzt ist, wird geprüft, ob die Eingabedaten

- eine gerade Anzahl an Bytes enthalten,

- nur gültige DBCS-Zeichen enthalten,

- keine Shift-Out/Shift-In-Zeichen (`SO`/`SI`) enthalten.

Da die Erkennung von Nicht-DBCS-Zeichen ICU erfordert, wird diese Prüfung nicht durchgeführt, wenn ICU nicht verfügbar ist (d.h. wenn der Profilparameter `CFICU=OFF` gesetzt wurde).

## Anpassung der Ausgabedaten

Wenn ein Fenster zur Benutzerinteraktion angezeigt werden soll, kann das Fenster bereits angezeigte DBCS-Zeichen überlagern, oder das Fenster kann selbst DBCS-Zeichen enthalten, die aufgrund der Fenstergröße abgeschnitten sind. Eine Überlagerung kann auch auftreten, wenn bei einem `INPUT`-Statement die Option `NO ERASE` verwendet wird. Um eine Fehlerhaftigkeit des Bildschirminhalts im Falle einer solchen Überlagerung zu verhindern, werden die folgenden Aktionen durchgeführt, um die Ausgabedaten gegebenenfalls anzupassen:

- Wenn der Session-Parameter `PM=D` für ein Feld gesetzt ist, wird ein verwaistes Byte (d.h. ein einzelnes Byte, das infolge einer teilweisen Überlagerung eines DBCS-Zeichens am Anfang oder Ende der anzuzeigenden Daten übrigbleibt) durch ein Attribut ersetzt. Dadurch wird sichergestellt, dass nur gültige DBCS-Zeichen angezeigt werden.

- Wenn der Profilparameter `SOSI` gesetzt ist, wird der Feldinhalt eines alphanumerischen Feldes, für das `PM=D` nicht angegeben ist, auf Shift-Out/Shift-In-Zeichen (`SO`/`SI`) untersucht. Wird ein Shift-Out-Zeichen (`SO`) gefunden, für das das korrelierende Shift-In-Zeichen (`SI`) fehlt, wird entweder das letzte Zeichen der Ausgabedaten durch ein Shift-In-Zeichen (`SI`) ersetzt oder die letzten beiden Zeichen werden durch ein Shift-In-Zeichen (`SI`) gefolgt von einem Leerzeichen ersetzt. Wird ein Shift-In-Zeichen (`SI`) gefunden, für das das korrelierende Shift-Out-Zeichen (`SO`) fehlt, wird entweder das erste Zeichen der Ausgabedaten durch ein Shift-out-Zeichen (`SO`) ersetzt oder die beiden führenden Zeichen werden durch ein Leerzeichen gefolgt von einem Shift-Out-Zeichen (`SO`) ersetzt. Dadurch wird sichergestellt, dass DBCS-Zeichen ordnungsgemäß von Shift-Out-/Shift-In-Zeichen (`SO`/`SI`) umschlossen werden.

## Natural Stack-Daten

Um eine unbeabsichtigte Interpretation von DBCS-Zeichen als Begrenzungs- oder Steuerzeichen zu vermeiden, sollte die Option `FORMATTED` des Statements `STACK` verwendet werden, wenn die Daten, die auf dem Natural Stack abgelegt werden sollen, DBCS-Zeichen enthalten.

Weitere Informationen:

- Statement `STACK` in der Statements-Dokumentation

- Natural Stack im Leitfaden zur Programmierung

## Anwendungsprogrammierschnittstellen für die DBCS-Behandlung

Die folgenden Anwendungsprogrammierschnittstellen (API) sind zur Unterstützung der DBCS-Behandlung verfügbar:

- USR4211N - Abrufen von DBCS-Zeichen

- USR4213N - String-Behandlung für DBCS-Unterstützung

Diese APIs sind als Unterprogramme in der Natural Library `SYSEXT` enthalten. Ausführliche Informationen zur Verwendung einer API finden Sie in dem zugehörigen Textobjekt (`USRxxxxT`). Siehe auch Dienstprogramm SYSEXT.

### USR4211N - Abrufen von DBCS-Zeichen

Die Anwendungsprogrammierschnittstelle USR4211N kann verwendet werden, um Informationen über die Verfügbarkeit von DBCS-Unterstützung und die definierten SOSI-Zeichen zu erhalten.

### USR4213N - String-Behandlung für DBCS-Unterstützung

Mit der Anwendungsprogrammierschnittstelle USR4213N können die folgenden Funktionen ausgeführt werden:

- Konvertierung einer normalen lateinischen Zeichenkette in die entsprechende DBCS-Zeichenkette.

- Konvertierung einer DBCS-Zeichenkette, die nur lateinische Daten enthält, in eine Ein-Byte-Zeichenkette.

- Hinzufügen der aktuellen Shift-Codes am Anfang und am Ende einer Zeichenkette.

- Entfernen von einleitenden und abschließenden Shift-Codes aus einer Zeichenkette.

Die letzten beiden Funktionen können verwendet werden, um entweder native DBCS-Zeichenketten zu erzeugen oder Mixed-Mode-Daten aus nativen DBCS-Zeichenketten zu generieren.

## Alternatives Textmodul NATTXT2U

Der alternative Textmodul `NATTXT2U` enthält bestimmte Schlüsselwörter für die englische Sprache in Großbuchstaben, die im Textmodul `NATTXT2` in gemischter Großschreibung enthalten sind.

`NATTXT2U` sollte in Umgebungen, in denen die Kleinbuchstaben-Codepoints `H'81'` bis `H'A9'` zur Darstellung nationaler Zeichen verwendet werden, anstelle von `NATTXT2` mit dem Natural Nukleus verlinkt werden.

### On this page

- Natural-Profilparameter SOSI
- Angabe des Ausgabeformats
- Parameterdefinitionen für DBCS-Unterstützung
- Editor-Profil-Optionen
- Prüfung der Eingabedaten
- Anpassung der Ausgabedaten
- Natural Stack-Daten
- Anwendungsprogrammierschnittstellen für die DBCS-Behandlung
- Alternatives Textmodul NATTXT2U