Natural-Konfigurationstabellen

Dieses Kapitel enthält allgemeine Informationen über die Natural-Konfigurationstabellen, die im Modul NATCONFG enthalten sind.

Folgende Themen werden behandelt:

Siehe auch Unterstützte Eingabe- und Ausgabegeräte.


NATCONFG - Natural-Konfigurationstabellen

Das Modul NATCONFG enthält die Natural-Konfigurationstabellen.

Warnung:
Die Standardvorgaben in NATCONFG müssen und sollten generell nicht verändert werden. Insbesondere sollten Sie keine der in der folgenden Liste mit einem Stern (*) gekennzeichneten Tabellen ohne vorherige Rücksprache mit dem Support ändern.

Für die meisten der Tabellen gibt es entsprechende Makros im Natural-Parametermodul sowie dynamische Profilparameter. Wenn Sie eine NATCONFG-Tabelle ändern müssen, verwenden Sie das entsprechende Makro im Parametermodul oder den dynamischen Profilparameter, um die Tabelle zu überschreiben. (Würden Sie die Änderungen in den NATCONFG-Tabellen selbst vornehmen, müssten Sie NATCONFG mit späteren Natural-Releases erneut ändern und neu assemblieren).

Das Modul NATCONFG enthält Makros für die Definition der folgenden Natural-Standardkonfigurationstabellen.

Darüber hinaus enthält es die folgenden Tabellen:

  • Die Tabelle der Standard-Attention-Identifier. Sie definiert die physischen Terminalabruftasten für Natural (*).

  • Verschiedene andere Tabellen (*).

Allgemeine Übersicht über die in NATCONFG verwendeten Makros

Die folgende Tabelle gibt einen allgemeinen Überblick über die Makros, die im Modul NATCONFG für die Definition der Natural-Standardkonfigurationstabellen verwendet werden:

Makro Zweck
NTDVCE * Tabelle der Terminaltypen. Dient dazu, den zu verwendenden Terminaltreiber anzugeben, Einzelheiten siehe Beschreibung unten.

Wichtig
Ändern Sie nicht ein bestehendes NTDVCE-Makro, sondern erstellen Sie ein neues.

NTMSG Meldungsprotokolltabelle. Natural-Meldungen, die in das Job-Meldungsprotokoll geschrieben oder auf der Bedienerkonsole angezeigt werden sollen.
NTSTAT Definition von Natural-Objekten, die mit dem Natural-Nukleus verlinkt sind.
NTCPAGE Definitionen von Codepages.
NTTAB Primäre Ausgabe-Umsetzungstabelle.
NTTAB1 NTTAB2 Sekundäre Ausgabe/Eingabe-Umsetzungstabellen.
NTUTAB1 NTUTAB2 Tabellen für die Umsetzung von Klein- und Großbuchstaben. Diese Tabellen müssen z.B. für den deutschen Zeichensatz angepasst werden.
NTTABA1 NTTABA2 Tabellen für die Umsetzung von EBCDIC-Zeichen in ASCII-Zeichen und umgekehrt. Diese Tabellen werden vom Natural-Object Handler verwendet.
NTTABL SYS*-Umsetzungstabelle. Setzt die Ausgabe von Programmen um, die in Natural SYS... Libraries enthalten sind.
NTLANG * Sprachumsetzungstabelle. Enthält eine Liste aller verfügbaren Sprachcodes, die für Natural definiert sind.
NTSCTAB Scanner-Zeichentypentabelle. Legt fest, welche Zeichen Kleinbuchstaben, Großbuchstaben, numerische Zeichen und Sonderzeichen sind (gilt für dynamische Profilparameter, MASK- und SCAN-Optionen).
NTTZ Zeitzonendefinitionen. Das Makro NTTZ ermöglicht die Angabe von Zeitzonen und die automatische Umstellung auf die Sommerzeit und umgekehrt.
NTBUFID Mit den Parametern MIN und MAX dieses Makros können die Puffergrößengrenzen für variable Puffer geändert werden, siehe Anpassung der Puffereigenschaften.

Wichtig
Die Standardwerte der anderen Parameter in diesem Makro sollten nicht geändert werden, da die Ergebnisse unvorhersehbar sein können.

Wichtig

* Ändern Sie ohne vorherige Rücksprache mit dem Support keine der in dieser Liste mit einem Stern (*) gekennzeichneten Tabellen.

Weitere Einzelheiten finden Sie unter Umsetzungstabellen.

NTDVCE - Terminal-Gerätespezifikationstabelle

Für jeden von Natural unterstützten Terminaltyp wird eine Terminal-Konvertierungsroutine bereitgestellt. Die entsprechenden Terminaltreiber sind für die eigentlichen Terminal-Ein-/Ausgaben zuständig. Sie bauen den physischen Datenstrom aus dem Bildschirmpuffer und dem Bildschirmattributpuffer auf und stellen ihn in den Terminal-E/A-Puffer.

Zusätzlich wird ein Telex-Treiber für Con-nect bereitgestellt, um eine schnellere Telex-, Telefax- und Teletext-Kommunikation vom und zum Topcall Messaging Server zu ermöglichen. Dieser Treiber unterstützt das Topcall-Ganzseitenprotokoll.

Mit dem NTDVCE-Makro ist es möglich, neue Terminaltreiber zu Natural hinzuzufügen, um Änderungen der terminalspezifischen Ein-/Ausgabe- oder Groß-/Kleinschreibungstabellen anzugeben. Weitere Informationen, die angegeben werden können, sind das Rahmenzeichen, die Position der Nachrichtenzeile, ob die Bildschirmoptimierung ein- oder ausgeschaltet werden soll, sowie verschiedene Flags in der IOCB. Darüber hinaus kann die Terminalspezifikation an einen vorhandenen Treiber weitergeleitet werden, indem andere Umsetzungstabellen verwendet werden, oder sie kann in eine Treiberroutine eingehängt werden.

Das Makro NTDVCE wird entweder durch das Terminalkommando %T= in der Natural-Kommandozeile oder durch das Statement SET CONTROL 'T=...' in einem Natural-Programm aufgerufen. Zu Beginn einer Natural-Sitzung werden die Umsetzungstabellen NTTAB, NTTAB1, NTTAB2, NTUTAB1 und NTUTAB2 aus dem Modul NATCONFG in den Benutzerbereich kopiert, wo sie von NTDVCE geändert werden.

Beachten Sie, dass die Umsetzungstabellen von denselben Makros dynamisch oder innerhalb des Natural-Parametermoduls geändert werden können.

NTMSG - Definitionen der Meldungsprotokolltabelle

Das Makro NTMSG wird verwendet, um Natural-Meldungen zu definieren, die auf der Bedienerkonsole ausgegeben oder in das Job-Meldungsprotokoll (falls vorhanden) geschrieben werden sollen. Eine definierte Meldung wird zusätzlich geschrieben, d.h. die übliche Natural-Verarbeitung bleibt unverändert. Die Tabelle zur Definition von Protokollmeldungen finden Sie unter dem Label NATMSGT in NATCONFG. Dort können Sie Ihre NTMSG-Definitionen auf der Basis einer Meldung pro Zeile hinzufügen.

NTMSG-Makro-Syntax

Die Syntax des Makros NTMSG lautet wie folgt:

         NTMSG  NATnnnn,logid

NTMSG-Makro-Parameter

Parameter Beschreibung
NATnnnn nnnn ist die Nummer der Natural-Meldung (erforderlich).
logid Gibt das Protokollziel an, d.h. die Bedienerkonsole oder das Job-Meldungsprotokoll oder beides.

Mögliche Werte: WTO, WTL oder WTO+WTL

NTSTAT - Definition der mit dem Natural-Nukleus verlinkten Objekte

Jedes Objekt, das mit dem Natural-Nukleus verlinkt werden soll, muss mit einem NTSTAT-Makro angegeben werden. Bei der Suche nach einem Objekt durchsucht Natural immer zuerst diese Liste, unabhängig von der angegebenen Library. Wie Sie Natural-Objekte mit dem Natural-Nukleus verlinken, erfahren Sie im Abschnitt Natural-Objekte mit dem Natural-Nukleus verlinken beim Dienstprogramm ULDOBJ.

NTSTAT-Makro-Syntax

Die Syntax des NTSTAT-Makros lautet wie folgt:

         NTSTAT object-name[,TYPE=W]

NTSTAT-Makro-Parameter

Parameter Beschreibung
object-name Gibt den Namen des Objekts an, das mit dem Natural-Nukleus verlinkt ist.
TYPE=W Bedeutet, dass der Einstiegspunkt des verlinkten Objekts als "weak external" für den Natural-Nukleus definiert ist. Dadurch wird eine Fehlermeldung des Linkage Editors vermieden, falls das Objekt nicht mit dem Natural-Nukleus verlinkt ist.

NTCPAGE - Definitionen der Codepages

Alle Codepages, die während einer Natural-Sitzung verwendet werden sollen, müssen im Quellcode-Modul NATCONFG vordefiniert werden. Für jede zu definierende Codepage muss ein spezielles NTCPAGE-Makro eingegeben werden. Während der Sitzungsinitialisierung wird die durch die Profilparameter CP, CPOBJIN, CPSYNIN, CPPRINT und die CP und den CP-Schlüsselwort-Subparameter des Profilparameters PRINT oder des Parametermakros NTPRINT überprüft. Wenn diese Codepage nicht in NATCONFG definiert ist, wird eine Fehlermeldung ausgegeben.

NTCPAGE-Makro-Syntax

Die Syntax des NTCPAGE-Makros lautet wie folgt:

         NTCPAGE IANA=value,                                           *
               CCSID=value,                                            *
               CCSN=value,                                             *
               ALIAS=value,                                            *
               PHC=value,                                              *
               MULTI=value,                                            *
               ECS=value

NTCPAGE-Makro-Parameter

Parameter Beschreibung
IANA Dieser Parameter gibt den Standardnamen der Codepage an. Maximale Länge: 64 Zeichen.
CCSID Dieser Parameter ist erforderlich. Er gibt die kodierte Zeichensatzkennung an, d. h. einen numerischen Wert mit bis zu 5 Ziffern.

Beispiele:
1141 Deutsche EBCDIC-Codepage
62243 Hebräisch/Lateinisch (ISO 8859) Codepage

ALIAS Dieser Parameter ist optional. Er gibt den Alias-Namen der Codepage an. Maximale Länge: 32 Zeichen.
PHC Dieser Parameter ist optional. Er gibt das Platzhalterzeichen an. Länge: 2 Bytes hexadezimal.
ECS Dieser Parameter ist optional. Er gibt die Schlüsselnummer der Codepage im Entire Conversion Service (ADAECS) an, der von Adabas verwendet wird.
MULTI Dieser Parameter ist optional. Er gibt an, ob es sich bei der Codepage um eine Ein-Byte-Codepage oder eine Multi-Byte- oder ASCII-Codepage handelt. Mögliche Werte:
ON Die Codepage ist eine Ein-Byte-Codepage, z. B. IBM01140. Die Codepage kann als Natural Sitzungs-Codepage verwendet werden. Die Sitzungs-Codepage wird durch den Natural-Profilparameter CP definiert.
OFF Die Codepage ist eine Multi-Byte-Codepage oder ASCII-Codepage. Sie kann nicht als Session-Codepage für Natural verwendet werden. Jeder Versuch, diese Codepage zu verwenden, führt zur Initialisierungsmeldung NAT7019.

Dies ist die Standardeinstellung.

VALID Die Codepage ist eine Multi-Byte-Codepage, kann aber als Natural-Session-Codepage verwendet werden. IBM-939 ist zum Beispiel eine japanische EBCDIC-Codepage, die DBCS-Zeichen enthält.

Beispiele:

         NTCPAGE IANA=IBM819,                                          *
               CCSID=819,                                              *
               ALIAS='ISO-8859-1',                                     *
               PHC=003F
         NTCPAGE IANA='IBM-939',                                       *
               CCSID=939,                                              *
               ECS=3035,                                               *
               ALIAS='ibm-939_P120-1999',                              *
               PHC=3013,                                               *
               MULTI=VALID

Siehe auch Unicode-/Codepage-Umgebung konfigurieren und verwalten.

Unterstützung von Codepages

Mit dem Makro NTDVCE können verschiedene Codepages definiert und mit einem bestimmten Terminaltyp und -namen verlinkt werden. Wenn Natural dann mit PM=C gestartet wird, werden alle Terminal-E/A bei der Eingabe übersetzt und bei der Ausgabe neu übersetzt. Solange die Codepages kompatibel sind, kann so eine gemeinsame Datendarstellung beibehalten werden.

Siehe auch SYSCP Utility in der Debugger und Dienstprogramme (Utilities)-Dokumentation.

Unterstützte Ausgabegeräte

Attributkontrollvariablen und -formate definieren Attribute, um eine bestimmte Darstellung auf dem Ausgabegerät zu erzeugen. Natural bietet eine breite Palette möglicher Attribute, um dem Endanwender die bestmögliche Nutzung bei der Gestaltung von Masken (Maps) und Reports auf dem Terminal zu ermöglichen.

Leider unterstützen nicht alle Terminals alle bei Natural verfügbaren Funktionen. Diese Eigenschaften werden auf solchen Geräten meist ignoriert oder durch andere Techniken simuliert. Grundsätzlich gibt es in einer IBM-Umgebung zwei Datenstromdefinitionen, den Standard-Datenstrom und den erweiterten Datenstrom.

Die folgenden Ausgabegeräte werden unterstützt:

Sequenzielle Ausgabegeräte für Batch, zusätzliche Reports

Die Ausgabedaten enthalten Standard-ASA-Steuerzeichen, die den Zeilenvorschub und die Seitenauswurf-Funktion des jeweiligen Druckers steuern. Dieser Drucker kann entweder der zentrale Drucker im Rechenzentrum sein, der durch das Online- oder Batch-Spooling-System unterstützt wird, oder der SCS-Drucker, der als Online-Terminaldrucker verwendet wird.

Die folgenden Geräte können zum Drucken der in dieser Form erstellten Reports verwendet werden:

Gerät Typ
Anschlagdrucker Zentrale Standard-Druckerhardware
Laserdrucker Hochgeschwindigkeitsdrucker, Terminaldrucker
Typenraddrucker Terminaldrucker
Tintenstrahl Terminaldrucker

Zeilenorientierte Online-Terminals

Terminal-Marke Beschreibung
TTY Daten, die an TTY-Geräte gesendet werden, werden mit den Standardzeichen Formfeed, Linefeed usw. generiert.

Blockmodus-orientierte Online-Terminals

Terminal-Marke Beschreibung
IBM Alle Modelle und Größen, die den Standard-Datenstrom und/oder den erweiterten Datenstrom unterstützen.
PC Alle Modelle und Größen, die den Standard-Datenstrom und/oder den erweiterten Datenstrom unterstützen.

Umsetzungstabellen

Alle Daten, die von Natural-Programmen gedruckt, angezeigt oder geschrieben werden, werden von Natural umgesetzt. Dadurch wird sichergestellt, dass keine unzulässigen Steuerzeichen zu Terminal-E/A-Fehlern führen oder Datenmüll auf dem Terminal erscheinen kann.

Ein weiteres Merkmal ist die Umsetzung in und aus Zeichensätzen, die von der lateinischen Definition abweichen, insbesondere arabische, kyrillische, griechische und hebräische Zeichen.

In diesem Abschnitt werden alle Merkmale und Funktionen beschrieben, die die Umsetzung von Feldern betreffen, wenn Daten auf externe Geräte wie CRT (Bildschirmterminals) oder Online- und Batch-Spooling-Systeme geschrieben werden.

Die Statements INPUT, DISPLAY, PRINT und WRITE schreiben Daten auf externe Geräte wie CRT, TTY oder in sequenzielle Dateien oder lesen Daten von ihnen. Alle diese Statements verwenden Parameter wie Konstanten, Variablen, Editiermasken, Attributkontrollvariablen und Formate zur Steuerung des Ausgabebildes und der Eingabedarstellung. Konstanten und Variablen werden durch Verwendung ihrer jeweiligen Werte im Ausgabebild erzeugt. Die Darstellung dieser Werte wird dann durch die Attributkontrollvariablen, Formate, Editiermasken und Umsetzungstabellen gesteuert.

Natural verwendet mehrere Umsetzungstabellen und bietet auch die Verwendung alternativer Umsetzungstabellen an, die alle in NATCONFG enthalten sind.

Die folgenden Tabellen werden bereitgestellt:

Makro Tabelle
NATSCTU Scanner-Tabelle, die für Unicode-Zeichen erforderlich ist. Sie bildet die Eigenschaften von Unicode-Zeichen der Unicode-Spezifikation ab (wie von der gelieferten ICU-Version unterstützt), die vom Natural-Nukleus verwendet werden sollen.

Wichtig
Diese Tabelle darf niemals geändert werden.

NATCPTAB Optionale Tabellen zur Beschleunigung der Konvertierung von Einzelbyte-Codepages.

Wenn die Tabelle vorhanden ist, erfolgt die Konvertierung von einer Codepage in eine andere Codepage schneller, da sie über diese Tabelle und nicht durch den Aufruf von ICU-Funktionen erfolgt.

Die folgenden Codepages werden von der mitgelieferten NATCPTAB unterstützt:

IBM01140
IBM01141
IBM01145
IBM01146
IBM01147
ASCII

Es ist möglich, mit dem Makro NTCPCNV neue Einträge hinzuzufügen. Für jede Konvertierungsrichtung ist ein Eintrag erforderlich, der den IANA-Namen der Quell-Codepage, den IANA-Namen der Ziel-Codepage und optional ein Leerzeichen, ein Ersetzungszeichen und ein Platzhalterzeichen enthält, gefolgt von einer vollständigen Liste der Zeichenzuordnungen.

NTSCTAB Tabelle, die die Eigenschaften von Zeichen definiert,
  • die in Maskendefinitionen für die Option MASK verwendet werden,

  • die als Begrenzungszeichen in den Statements EXAMINE und SEPARATE erkannt werden.

Diese Tabelle kann zur Definition von Großbuchstaben-Attributen, Kleinbuchstaben-Attributen, Sonderzeichen, hexadezimalen Zeichen und numerischen Zeichen verwendet werden.

Um diese Tabelle zu ändern, können Sie das Makro NTSCTAB im Natural-Parametermodul oder den entsprechenden dynamischen Profilparameter SCTAB verwenden.

Wenn der Profilparameter CP auf einen anderen Wert als OFF gesetzt ist, wird die Änderung ignoriert und die Tabelle wird entsprechend der für die Natural-Sitzung verwendeten Codepage angepasst. Siehe auch Umsetzungstabellen in der Unicode- und Codepage-Unterstützung-Dokumentation.

NTTAB Die standardmäßige (primäre) Ausgabe-Umsetzungstabelle, die für die Bildschirm- oder Druckerausgabe verwendet wird.

Grundsätzlich werden mit dieser Tabelle alle Zeichen unterhalb von X'40', d.h. vom Leerzeichen bis zum Fragezeichen, umgesetzt (X'00' wird nicht umgesetzt). Damit ist gewährleistet, dass alle Terminal-Steuerzeichen vor der Ausgabe umgesetzt werden und keine Control Escape-Sequenzen die Bildschirmausgabe beeinflussen können. Sonderzeichen (X'FE' und X'FF'), die die Bildschirmausgabe beeinflussen könnten, werden in das Fragezeichen (?) umgesetzt.

Wenn nichts anderes angegeben ist, werden alle Natural-Ausgabedaten mit NTTAB umgesetzt.

Um diese Tabelle zu ändern, können Sie das Makro NTTAB im Natural-Parametermodul oder den entsprechenden dynamischen Profilparameter TAB verwenden.

Die Änderung wird ignoriert, wenn mit dem Profilparameter CP (CP=ON, CP=AUTO oder CP=codepage) eine Codepage angegeben ist, und die Tabelle wird von ICU entsprechend der beim Sitzungsstart verwendeten Codepage angepasst.

Außerdem werden alle Zeichen unterhalb von X'40' wie oben beschrieben in das Fragezeichen (?) umgesetzt. Ein Zeichen wird von dieser Umsetzung ausgenommen, wenn eine der folgenden Bedingungen zutrifft:

  • Das Zeichen wird explizit in dasselbe Zeichen umgesetzt.

  • Das Zeichen ist eines der logischen Shift-Out/Shift-In-Zeichen, die mit dem Profilparameter SOSI angegeben wurden (siehe Parameter-Referenz-Dokumentation), und die angegebene Codepage ist keine MBCS-Codepage.

NTTAB1 Die alternative (sekundäre) Ausgabe-Umsetzungstabelle für den sekundären Zeichensatz, die verwendet wird, wenn der Natural-Parameter PM auf C gesetzt ist.

Wichtig ist dabei die Umsetzung aller möglichen Terminal-Steuerzeichen. Wenn PM=C angegeben ist, werden alle Natural-Ausgabedaten mit NTTAB1 übersetzt. Eine mögliche Anwendung von NTTAB1 besteht darin, die Umsetzung von Escape-Sequenzen zur Druckersteuerung zu vermeiden.

Um diese Tabelle zu ändern, können Sie das Makro NTTAB1 im Natural-Parametermodul oder den entsprechenden dynamischen Profilparameter TAB1 verwenden.

Die Änderung wird ignoriert, wenn eine Codepage über den Profilparameter CP (CP=ON, CP=AUTO or CP=codepage) angegeben ist und die Tabelle nicht verwendet wird.

NTTAB2 Die sekundäre Eingabeumrechnungstabelle, die verwendet wird, wenn der Natural-Parameter PM auf C eingestellt ist. Wenn PM=C angegeben ist, werden alle Natural-Eingabedaten mit NTTAB2 umgesetzt. Die Umsetzung zwischen verschiedenen Sprachen oder Codepages kann mit dieser Tabelle zusammen mit NTTAB1 durchgeführt werden.

Um diese Tabelle zu ändern, können Sie das Makro NTTAB2 im Natural-Parametermodul oder den entsprechenden dynamischen Profilparameter TAB2 verwenden.

Die Änderung wird ignoriert, wenn eine Codepage über den Profilparameter CP (CP=ON, CP=AUTO oder CP=codepage) angegeben ist und die Tabelle nicht verwendet wird.

NTTABS In dieser Tabelle sind alle gültigen Zeichen definiert, die in Natural-Variablennamen verwendet werden können. Sie wird für den Natural-Syntaxprozessor verwendet.

Außerdem sind darin alle gültigen Zeichen definiert, die an der ersten Position eines Natural-Variablennamens verwendet werden können.

Darüber hinaus wird festgelegt, ob es sich bei der Variablen um eine globale Variable, eine Nicht-Datenbank-Variable oder eine Quellcode-Variable handelt.

Wenn mit dem Profilparameter CP (CP=ON, CP=AUTO oder CP=codepage) eine Codepage angegeben wird, wird die Tabelle von ICU entsprechend der beim Sitzungsstart verwendeten Codepage angepasst.

NTUTAB1 Die benutzerspezifische Beispieltabelle für die Umsetzung der Eingabe von Klein- in Großbuchstaben.

Darüber hinaus führt diese Tabelle die mit dem Statement EXAMINE TRANSLATE INTO UPPER CASE angegebene Umsetzung durch.

Um diese Tabelle zu ändern, können Sie das Makro NTUTAB1 im Natural-Parametermodul oder den entsprechenden dynamischen Profilparameter UTAB1 verwenden.

Die Änderung wird ignoriert, wenn eine Codepage mit dem Profilparameter CP (CP=ON, CP=AUTO oder CP=codepage) angegeben ist und die Tabelle nicht verwendet wird.

NTUTAB2 Beispiel für eine benutzerspezifische Umsetzungstabelle, die die mit dem Statement EXAMINE TRANSLATE INTO LOWER CASE angegebene Umsetzung durchführt.

Um diese Tabelle zu ändern, können Sie das Makro NTUTAB2 im Natural-Parametermodul oder den entsprechenden Profilparameter UTAB2 verwenden.

Die Änderung wird ignoriert, wenn eine Codepage mit dem Profilparameter CP (CP=ON, CP=AUTO or CP=codepage) angegeben ist und die Tabelle nicht verwendet wird.

NTLANG Sprachencode-Tabelle, die festlegt, welche Sprachnummer welchem Sprachencode in der Systemvariablen *LANGUAGE zugeordnet ist.
NTTABL Die SYS*-Ausgabe-Umsetzungstabelle, die durch den Natural-Profilparameter TS gesteuert wird. Bei TS=ON wird diese Tabelle verwendet, um die von Programmen in Natural SYS*-Libraries erzeugten Ausgaben (außer änderbaren Feldern) von lateinischer Kleinschreibung in Großschreibung umzusetzen.

Diese Tabelle ermöglicht die Verwendung aller Groß- und Kleinbuchstaben in lateinisch geprägten Ländern, erlaubt aber auch die Verwendung dieser Anwendungen in Ländern, in denen die Kleinbuchstaben durch ein eigenes Alphabet ersetzt wurden.

Um diese Tabelle zu ändern, können Sie das Makro NTTABL im Natural-Parametermodul oder den entsprechenden dynamischen Profilparameter TABL verwenden.

Wenn Natural mit einer MBCS-Codepage (z. B. CP='IBM-939') ausgeführt wird, wird die Tabelle nicht verwendet, sondern die Umsetzung erfolgt über ICU gemäß den aktuellen Gebietsschema-Einstellungen.

WRDFCUC1
WRDFCUC2
WRDFCSP2

Die DBCS-Umsetzungstabellen, die für die Umsetzung von Doppelbyte-Zeichen in lateinische Zeichen und umgekehrt verwendet werden.

Wichtig
Diese Tabellen müssen explizit aktiviert werden, z.B. für fernöstliche Länder.

Umsetzung von Klein- in Großbuchstaben

Für änderbare Felder und Eingabefelder kann die Umsetzung in Groß- und Kleinbuchstaben festgelegt werden. Generell bedeutet die Umsetzung in Kleinbuchstaben, dass die Daten so übernommen werden, wie sie eintreffen. Es wird keine Umsetzung vorgenommen. Damit ist es z.B. auch im Batchbetrieb möglich, hexadezimale Daten ohne Umsetzung einzulesen.

Es gibt mehrere Möglichkeiten, die Groß-/Kleinschreibung anzugeben:

LC=OFF Die Umsetzung von Kleinbuchstaben (Lower to Upper Case Translation) ist ausgeschaltet, d.h. es erfolgt eine globale Großbuchstabenumsetzung.

Dieser Profilparameter kann im Natural-Parametermodul oder als dynamischer Parameter angegeben werden.

Achtung: Der Session-Parameter LC hat eine völlig andere Funktion (Leading Characters).

%U Die Großbuchstabenumsetzung ist global aktiv.

Auf Feldebene kann das Attribut AD=T oder AD=W angegeben werden. Diese Attribute werden nur wirksam, wenn die globale Großbuchstabenumsetzung ausgeschaltet ist (LC=ON, %L). Dann ist es möglich, die Umsetzung auf Feldebene aus einem Natural-Programm heraus zu steuern.

EXAMINE TRANSLATE Die Umsetzung von Groß-/Kleinschreibung kann auch mit dem Statement EXAMINE TRANSLATE durchgeführt werden.

EXAMINE TRANSLATE führt standardmäßig eine Großbuchstabenumsetzung unter Verwendung der Umsetzungstabelle NTUTAB1 und eine Kleinbuchstabenumsetzung mittels der Umsetzungstabelle NTUTAB2 durch.

CMULT-Eintrag

Die Verwendung des CMULT-Eintrags wird nicht mehr empfohlen. Verwenden Sie stattdessen das EXAMINE TRANSLATE-Statement (siehe oben).

Umwandlung der Ausgabe

Alle Felder werden nach der Formatierung durch eventuelle Editiermasken, AL- oder NL-Parameterwerte, Füllzeichen usw. anhand einer Umsetzungstabelle umgewandelt. Dadurch wird sichergestellt, dass keine Daten mit eingebetteten Steuerinformationen, die nicht explizit von Natural erzeugt wurden, an das Front-End-Druckgerät gesendet werden können. Das bedeutet, dass Felder an ein Anzeigegerät gesendet werden können, auch wenn sie hexadezimale Informationen enthalten, die mit internen Attributen identisch sind. Diese Attribute werden vor einer Ausgabeoperation umgewandelt, so dass Natural das in der Ausgabeanweisung definierte Bildschirmlayout garantiert.

Es sind mehrere Umsetzungstabellen verfügbar. Wenn nichts explizit definiert ist, wird die primäre Umsetzungstabelle NTTAB verwendet.

Wenn PM angegeben ist, wird die sekundäre Umsetzungstabelle NTTAB1 verwendet. Für änderbare Felder bedeutet PM=C auch, dass die eingehenden Daten erneut umgesetzt werden, d.h. für die Ausgabe umgesetzt und für die Eingabe neu umgesetzt werden.

Mit dieser Umsetzungstabellenlogik ist es z.B. möglich, arabische Ziffern in lateinische Ziffern umzuwandeln. Arabische Ziffern haben eine andere hexadezimale Darstellung als die normalen lateinischen Ziffern auf der Terminal-Hardware. So können bei der Ausgabe die lateinischen Ziffern in das arabische Äquivalent umgewandelt werden und bei der Eingabe können die arabischen Ziffern wieder in lateinische zurückgewandelt werden.

Besondere Überlegungen sind bei Natural-System-Anwendungen erforderlich, die lateinische Klein- und Großbuchstaben verwenden. Vor allem auf Terminals, die Arabisch, Griechisch, Kyrillisch usw. unterstützen, kann die Hardware so eingestellt werden, dass keine lateinischen Kleinbuchstaben, sondern die einheimischen Zeichen angezeigt werden.

Leider sind lateinische Kleinbuchstaben krakelig, wenn sie z. B. in kyrillischer Schrift angezeigt werden. Daher kann Natural mit dem Parameter TS=ON (Systemausgabe umsetzen) verwendet werden. TS=ON bewirkt, dass SYS*-Libraries (ohne die Library SYSTEM) und alle Natural-Systemkommandos mit Hilfe einer dritten Umsetzungstabelle namens NTTABL umgesetzt werden. Standardmäßig führt diese Umsetzungstabelle eine Umsetzung in Großbuchstaben für alle lateinischen Kleinbuchstaben durch. Allerdings werden nur Ausgabedaten auf diese Weise behandelt. Dies ermöglicht die Eingabe von Daten im nativen Zeichensatz auch in Natural-Editoren oder Systemanwendungen.

Werden jedoch Natural-Dienstprogramme (Utilities) verwendet, um Daten anzuzeigen, die im nativen Zeichensatz eingegeben wurden, führt dies zu einer Großbuchstabenumsetzung auch für Daten in z. B. kyrillischer Darstellung. Das Ergebnis wäre wiederum unleserlich. Daher können alle Dienstprogramme (Utilities) des Natural-Systems das Format PM=C für Felder verwenden, die Daten enthalten, die im nativen Zeichensatz eingegeben wurden. In diesem Fall wird weder die Umsetzungstabelle NTTABL noch die sekundäre Umsetzungstabelle NTTAB1 verwendet. Die Daten werden einfach mit der primären Umsetzungstabelle NTTAB umgesetzt.

Weitere Informationen finden Sie unter den Profilparametern PM und TS in der Parameter-Referenz-Dokumentation.

Umwandlung von Eingaben

Die Umsetzungsstabelle NTUTAB1 ist vorhanden, um die Umsetzung von Klein- in Großbuchstaben zu steuern. Dies kann in Ländern, in denen Sonderzeichen verwendet werden, die nicht nach der einfachen Logik aufgebaut sind, dass nur ein Bit den Status dieses Buchstabens steuert, zu Problemen führen. Dies betrifft insbesondere deutsche Umlaute oder dänische Sonderzeichen. In solchen Fällen kann die Umsetzung nur durch eine Anpassung der NTUTAB1-Tabelle erreicht werden, in der für jedes Zeichen der entsprechende Klein-/Großbuchstabe angegeben werden kann.

Wenn Großbuchstabenumsetzung (%U) und PM=C angegeben ist, erfolgt zuerst die Großbuchstabenumsetzung (mit NTUTAB1) und dann die sekundäre Eingabeumsetzung (mit NTTAB2).

Code-Umsetzung von DBCS-Daten

Damit Doppelbyte-Zeichensätze (DBCS) verarbeitet werden können, gibt es die Anwendungsprogrammierschnittstelle USR4213N, die Doppelbyte-Zeichen in lateinische Zeichen umsetzt, siehe Doppelbyte-Zeichensätze (DBCS).

NTTZ - Zeitzonendefinitionen

Das Makro NTTZ wird verwendet, um eine Zeitzone und eine automatische Umstellung auf und von der Sommerzeit festzulegen.

Anmerkung
Zeitdefinitionen werden vom Systemadministrator festgelegt, und der Benutzer kann diese Definitionen mit dem Natural-Profilparameter TD=zonename referenzieren. Mit diesem Parameter können Benutzer aus verschiedenen Ländern und Zeitzonen ihre eigene Ortszeit wählen.

Das Makro NTTZ kann auf minimaler Basis verwendet werden, um eine Zeitdifferenz für eine Zeitzone zu definieren. Außerdem kann ein automatischer Wechsel zur und von der Sommerzeit angegeben werden, entweder als festes Datum oder in einer flexibleren Definition wie "erster Sonntag im April". Die automatische Umstellung auf die Sommerzeit erfolgt während einer laufenden Natural-Sitzung, ohne dass eine Benutzerinteraktion erforderlich ist. Vordefinierte Beispiele für NTTZ-Makrodefinitionen sind in dem ausgelieferten Modul NATCONFG verfügbar.

Bezugspunkt für die automatische Sommerzeitumstellung ist die aktuelle Maschinenzeit, also die UTC (GMT)-Zeit. Je nachdem, in welchem Zeitraum sich die aktuelle Maschinenzeit befindet, wird die aktuelle Ortszeit ermittelt. Die Unterstützung der automatischen Sommerzeitumstellung gilt derzeit für den Zeitraum von 2002 bis 2041.

Die folgenden Themen werden in diesem Abschnitt behandelt:

NTTZ-Makro - Überlegungen und Beschränkungen

Folgende Überlegungen und Einschränkungen sind zu beachten:

  1. Zeitformat

    Das grundlegende Zeitformat ist:

    +hh:mm:ss

    oder:

    -hh:mm:ss

    Gilt von 00:00:00 bis 23:59:59. Auch Abkürzungen sind zulässig, zum Beispiel: hh:mm. Das Pluszeichen (+) wird standardmäßig angenommen, das Minuszeichen (-) kann bei den Parametern TDON oder TDOFF erforderlich sein.

  2. UTC versus Ortszeit

    Um einen eindeutigen Bezugspunkt für die Zeitumstellung zu haben, werden die NTTZ-Makroparameter SWTON und SWTOFF in UTC-Zeit angegeben, während die Wochentagsnamen und die Tageszahlen in den NTTZ-Makroparametern DSTON und DSTOFF in Ortszeit angegeben werden.

  3. Gleichzeitige Verwendung der Natural-Profilparameter DD, YD und TD

    Die Natural-Profil-Parameter DD und YD haben keinen Einfluss auf die automatische Sommerzeitumstellung, weil die Umstellung auf Basis der aktuellen Maschinenzeit erfolgt.

    It is recommended to avoid the concurrent use of DD or YD and profile parameter TD=zonename.

    Es wird empfohlen, die gleichzeitige Verwendung von DD oder YD und dem Profilparameter TD=zonename zu vermeiden.

  4. Gleichzeitige Verwendung des Natural-Profilparameters TD und des User Exit CMCOTIME

    Concurrent use of profile parameter TD=zonename and user exit CMCOTIME (override machine time) is not recommended, because a change of machine time (TOD clock) may cause unpredictable results for automatic switching invoked with TD=zonename.

    Die gleichzeitige Verwendung des Profilparameters TD=zonename und des User Exit CMCOTIME (Maschinenzeit überschreiben) wird nicht empfohlen, da eine Änderung der Maschinenzeit (TOD Clock) zu unvorhersehbaren Ergebnissen bei der automatischen Umschaltung führen kann, die mit TD=zonename aufgerufen wird.

Syntax des Makros NTTZ

Die Syntax des Makros NTTZ lautet wie folgt:

         NTTZ ZONE=value;                                              *
               TDON=value,                                             *
               TDOFF=value,                                            *
               SWTON=value,                                            *
               SWTOFF=value,                                           *
               DSTONvalue,                                             *
               DSTOFF=value

NTTZ-Makro-Parameter

ZONE | TDON | TDOFF | SWTON | SWTOFF | DSTON | DSTOFF

ZONE - Time Zone Name

ZONE=value gibt den Namen der Zeitzone an, auf die mit dem Parameter TD verwiesen werden kann. Die erste Vorkommen eines Namens wird ausgewählt.

Wert Erläuterung
32 Zeichen. Die maximale Länge eines Zeitzonennamens beträgt 32 Zeichen, um beschreibende benutzerdefinierte Zonennamen zu ermöglichen, z. B. den Namen der Hauptstadt eines Landes.
TDON - Differenz der lokalen Sommerzeit zur UTC-Zeit

TDON=value gibt die Differenz der lokalen Sommerzeit zur UTC-Zeit (früher GMT) an.

Wert Erläuterung

+hh:mm:ss
or
-hh:mm:ss

Siehe auch Zeitformat.

Anmerkungen:

  1. Wenn nur der Parameter TDON definiert ist, erhält der Benutzer die Anzeige der Ortszeit als seine Zonenzeit, ohne automatische Umschaltung auf und von Sommerzeit.
  2. Der Parameter TDON entspricht dem Parameter SWTON.
TDOFF - Differenz der lokalen Zonenzeit zur UTC-Zeit

TDOFF=value gibt die Differenz der lokalen Zonenzeit zur UTC-Zeit (früher GMT) an.

Wert Erläuterung

+hh:mm:ss
or
-hh:mm:ss

Siehe auch Zeitformat.

Anmerkung
Dieser Parameter entspricht dem Parameter SWTOFF.

SWTON - Zeitpunkt des Beginns der Sommerzeit

SWTON=value gibt den UTC-Zeitpunkt an, an dem die Sommerzeit eingeschaltet wird.

Wert Erläuterung
hh:mm:ss Siehe auch Zeitformat.
SWTOFF - Zeitpunkt des Endes der Sommerzeit

SWTOFF=value gibt den UTC-Zeitpunkt an, an dem die Sommerzeit ausgeschaltet wird.

Wert Erläuterung
hh:mm:ss Siehe auch Zeitformat.
DSTON - Datum des Beginns der Sommerzeit

DSTON=(value1,value2,value3,value4,day-number) bezeichnet den Tag, an dem die Sommerzeit eingeschaltet wird.

Wert Mögliche Einstellungen
value1 FIRST, SECOND, THIRD, FOURTH oder LAST.
value2 MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY oder SUNDAY.
value3 AFTER, BEFORE oder IN.
value4 JANUARY ... DECEMBER.
day-number Eine gültige Tageszahl für den jeweiligen Monat.

Der Standardwert ist 1.

Anmerkungen:

  1. Das Schlüsselwort LAST erfordert das Schlüsselwort BEFORE oder IN.
  2. Wenn das Schlüsselwort IN angegeben wird, darf keine Tageszahl (day number) angegeben werden.
DSTOFF - Datum, an dem die Sommerzeit endet

DSTOFF=(value1,value2,value3,value4,day-number) bezeichnet den Tag, an dem die Sommerzeit abgeschaltet wird.

Wert Mögliche Einstellungen
value1 FIRST, SECOND, THIRD, FOURTH oder LAST.
value2 MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY oder SUNDAY.
value3 AFTER, BEFORE oder IN.
value4 JANUARY ... DECEMBER.
day-number Eine gültige Tageszahl für den jeweiligen Monat.

Der Standardwert ist 1.

Anmerkungen:

  1. Das Schlüsselwort LAST erfordert das Schlüsselwort BEFORE oder IN.
  2. Wenn das Schlüsselwort IN angegeben wird, darf keine Tageszahl (day number) angegeben werden.

Beispiel für ein NTTZ-Makro

Für die Sommerzeitumstellung in Westeuropa:

         NTTZ ZONE=MEZ,                                                *
               TDON=2,                                                 *
               TDOFF=+01:00:00,                                        *
               SWTON=01:00:00,                                         *
               SWTOFF=01:00:00,                                        *
               DSTON=(LAST,SUNDAY,IN,MARCH),                           *
               DSTOFF=(LAST,SUNDAY,IN,OCTOBER)

Zusätzliche Beispiele für andere Zeitzonen (Nord- und Südamerika, Asien usw.) sind in dem ausgelieferten Modul NATCONFG enthalten.