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-VariablenSYSEDT-S00
bisSYSEDT-S20
exportiert und im neuen Modus wieder initialisiert, sofern die S-Variablen existieren und vom TypSTRING
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.