Die Behandlung von Zeichensätzen unterscheidet sich im Kompatibilitäts-Modus erheblich vom Verhalten im Unicode-Modus.
Im Kompatibilitäts-Modus hat der EDT immer genau einen Zeichensatz eingestellt. Er ermittelt beim Start einen Default-Wert für den Zeichensatz.
Liest der EDT seine Eingaben von einer Datensichtstation, nimmt er den Zeichensatz aus der Terminal-Option CODED-CHARACTER-SET
. Ist dort 7-BIT
angegeben, nimmt er EDF03IRV
, sonst den dort angegebenen Zeichensatz.
Liest der EDT seine Eingaben von SYSDTA
, verwendet er den Zeichensatz der SYSDTA
zugeordnet ist. Ist dort keiner angegeben (*NONE)
, nimmt er EDF03IRV
.
Der aktuelle Zeichensatz ist nach dem Start zunächst der Default-Zeichensatz. Solange sich in den Arbeitsdateien keine Daten befinden, kann er geändert werden. Sobald der erste Datensatz in eine Arbeitsdatei geschrieben wird, wird er festgelegt und kann erst dann wieder geändert werden, wenn alle Arbeitsdateien leer sind. Eine solche Änderung kann dann implizit beim Einlesen einer Datei geschehen oder explizit mit der @CODENAME-Anweisung.
Die @CODENAME-Anweisung wird nur ausgeführt, wenn der Zeichensatz zulässig ist und wenn sich keine Daten in den Arbeitsdateien befinden. Sonst wird die @CODENAME-Anweisung abgewiesen bzw. hat keine Wirkung.
Mit der @MODE-Anweisung kann das Umschalten in den Unicode-Modus erfolgen (siehe MODE-Anweisung).
Anmerkung
Mit einer @CODENAME-Anweisung kann der aktuelle Zeichensatz zwar geändert, aber nicht festgelegt werden. Beim Einlesen einer Datei wird daher evtl. der Zeichensatz wieder geändert..