Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Aktivieren von Kompatibilitäts- und Unicode-Modus

&pagelevel(3)&pagelevel

Wenn der EDT über /START-EDT im Dialog oder Stapelbetrieb gestartet wird, wird zunächst der Kompatibilitäts-Modus aktiviert. Ein direktes Starten des EDT im Unicode-Modus ist über das Kommando /START-EDTU möglich (siehe auch Abschnitt „Starten des EDT“). Wenn der EDT über eine der Unterprogramm-Schnittstellen gestartet wird, gelten die Regeln, die weiter unten in einer Tabelle zusammengefasst sind.

Ein automatischer Wechsel vom Kompatibilitäts-Modus in den Unicode-Modus findet schon während der Initialisierung des EDT statt, wenn

  • der EDT im Dialogbetrieb aufgerufen wurde und für die DSS mit /MODIFY-TERMINAL-OPTIONS ein Unicode-Zeichensatz eingestellt wurde,

  • der EDT im Prozedur- oder Stapelbetrieb aufgerufen wurde und der Zeichensatz der SYSDTA zugeordneten Datei (des Bibliothekselements) ein Unicode- bzw. ein ISO-Zeichensatz ist,

  • der EDT eine EDT-Startprozedur findet, die in einem Unicode- bzw. ISO-Zeichensatz codiert ist.

Ein Wechsel vom Kompatibilitäts-Modus in den Unicode-Modus kann zu einem späteren Zeitpunkt stattfinden, wenn

  • bei leeren Arbeitsdateien die @MODE- oder @CODENAME-Anweisung mit entsprechendem Operanden verwendet wird,

Ein Wechsel vom Unicode-Modus in den Kompatibilitäts-Modus findet statt, wenn

  • bei leeren Arbeitsdateien eine @MODE-Anweisung mit entsprechendem Operanden verwendet wird.

Weitere Einzelheiten, insbesondere die Beschreibung der Operanden und ihrer Standardwerte findet man bei der Beschreibung der @MODE-Anweisung.

Da ein Wechsel zwischen Unicode- und Kompatibilitäts-Modus nur möglich ist, wenn alle Arbeitsdateien leer sind, können beim Umschalten keine Datenverluste oder Datenverfälschungen in Dateien auftreten. Das Umschalten erfolgt daher generell ohne Sicherheitsabfrage.

Der aktuell eingestellte Betriebsmodus ist im F-Modus am Layout der Zustandsanzeige in der Anweisungszeile zu erkennen (siehe Abschnitt „F-Modus“). Ferner wird sowohl im Unicode-Modus als auch im Kompatibilitäts-Modus bei der Ausgabe von @STATUS=ALL der aktuelle Betriebsmodus mit ausgegeben (diese Information ist auch im L-Modus verfügbar).
Schließlich kann mit der @IF-Anweisung in Prozeduren abgefragt werden, in welchem Betriebsmodus man sich befindet.

Wegen des Umschaltens nur bei leeren Arbeitsdateien ist eine Datenübertragung zwischen den Betriebsmodi auf diesem Wege nicht möglich. Darüber hinaus werden auch alle anderen globalen Daten, z.B. der Inhalt von Variablen oder Einstellungen, die mit @PAR festgelegt wurden, nicht in den jeweils anderen Modus übernommen, gehen also verloren. Vielmehr verhält sich der EDT so, als ob zwischen verschiedenen Instanzen des Programms, die nichts voneinander wissen, gewechselt würde.
Das Umschalten selbst ist dabei einem Beenden des EDT im einen Modus mit sofortigem Neustart im anderen Modus vergleichbar. Es laufen also folgende Schritte ab:

  • Die Zeichenfolgevariablen #S00 bis #S20 werden im alten Modus in die korrespondierenden S-Variablen SYSEDT-S00 bis SYSEDT-S20 exportiert und im neuen Modus wieder initialisiert, sofern die S-Variablen existieren und vom Typ STRING sind.

  • Die EDT-Startprozedur wird im neuen Modus neu ausgeführt (sofern die Voraussetzungen gemäß Abschnitt „EDT-Startprozedur“ dafür vorliegen).

  • Im Übrigen werden alle Einstellungen des EDT auf ihre Anfangswerte zurückgesetzt, d.h. auch bei mehrmaligem Wechsel zwischen Kompatibilitäts- und Unicode-Modus merkt sich der EDT nicht die evtl. vorher getroffenen Einstellungen.