Überlegungen zu 'open' für die Datei-Ein-/Ausgabe
Im Kontext der Datei-Ein-/Ausgabe ohne Datenbankbezug wird mit der EGL-Anweisung open eine Datei geöffnet, die einer bestimmten Datensatzvariablen zugeordnet ist.
In der folgenden Tabelle wird dargestellt, wie Anweisungen im Programm sich auf den Status der Datei auswirken:
Diese EGL get- und
add-Anweisungen müssen nicht ausgeführt werden; sie müssen jedoch im
Programm vorhanden sein. Während Dateien durch die EGL-Anweisung get oder
add automatisch geöffnet werden, können Sie die EGL-Anweisung
open verwenden, um den Inhalt der Datei zu löschen, ohne dass eine
Ein-/Ausgabe stattfindet.
| Anweisung im Programm | Dateistatus |
|---|---|
| Nur EGL get-Anweisungen | Zur Eingabe geöffnet |
| Nur EGL add-Anweisungen | Zur Ausgabe geöffnet |
| EGL get- und add-Anweisungen | Zur Ein- und Ausgabe geöffnet |
Syntax

Anmerkung: Das Schlüsselwort file ist erforderlich, um anzugeben, dass es sich
um eine 'open'-Anweisung für die Datei-Ein-/Ausgabe und nicht um eine SQL-Anweisung 'open' handelt.
- for recordVariable
- Das Schlüsselwort for, gefolgt vom Namen eines indexierten, relativen oder seriellen Datensatzes, der der zu öffnenden Datei zugeordnet ist.
Einschränkungen
Für die EGL open-Anweisung gelten die folgenden Einschränkungen:
- Die Datei wird immer zur Ausgabe geöffnet, unabhängig davon, ob add- oder get-Anweisungen vorhanden sind.
- Der Inhalt der Datei wird nur gelöscht, wenn replace = yes in der Dateizuordnung definiert ist.
Beispiel
Im folgenden Beispiel wird dargestellt, wie der Inhalt einer Datei gelöscht wird:
open file for myRecordVariable;
if (0 == 1)
add myRecordVariable;
end
close myRecordVariable;