Ü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:
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
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.

Syntax

Syntaxdiagramm für die 'open'-Anweisung mit Datei-Ein-/Ausgabe
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;