Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

@XOPEN - Öffnen und Einlesen einer POSIX-Datei

&pagelevel(3)&pagelevel

Mit der Anweisung @XOPEN kann eine POSIX-Datei, die im POSIX-Dateisystem abgelegt ist, geöffnet und in die aktuelle Arbeitsdatei eingelesen werden. Diese Anweisung wird nur noch aus Kompatibilitätsgründen unterstützt. Es wird empfohlen, stattdessen die Anweisung @OPEN (Format 1) mit dem Operanden POSIX-FILE zu benutzen.

Operation

Operanden

F-Modus, L-Modus

@XOPEN

FILE=xpath [,CODE= { name | EBCDIC | ISO } ]
[,MODE={ ANY | UPDATE | NEW | REPLACE } ]

xpath

Pfadname der POSIX-Datei, die geöffnet werden soll.

Der Operand xpath kann auch als Zeichenfolgevariable angegeben
werden. Er muss als Zeichenfolgevariable angegeben werden, wenn der Pfadname
Zeichen enthält, die in der EDT-Syntax eine Sonderbedeutung haben
(z.B. Leerzeichen, Semikolon im F-Modus oder Komma).

Existiert die angegebene Datei nicht oder ist sie nicht wie erforderlich
zugreifbar, wird die Anweisung mit einer entsprechenden Fehlermeldung
abgewiesen.

CODE=

Es wird festgelegt, welcher Zeichensatz für die POSIX-Datei angenommen
wird. Da POSIX-Dateien innerhalb des POSIX-Dateisystems kein Zeichensatz
zugeordnet werden kann, ist hier eine Angabe des Anwenders
erforderlich.

Wird CODE nicht angegeben, wird für die Datei der mit @PAR CODE
eingestellte Zeichensatz angenommen. Nach dem Starten des EDT ist EDF041
eingestellt.

name

Zeichensatz der zu öffnenden POSIX-Datei. Als name muss der Name
eines gültigen Zeichensatzes angegeben werden (siehe Abschnitt
„Zeichensätze“).

EBCDIC

Das Schlüsselwort EBCDIC wird nur noch aus Kompatibilitätsgründen als
Synonym für den Zeichensatz EDF041 unterstützt.

ISO

Das Schlüsselwort ISO wird nur noch aus Kompatibilitätsgründen als
Synonym für den Zeichensatz ISO88591 unterstützt.

MODE=

ANY

Legt fest, ob die Datei schon vorhanden sein soll bzw. sein darf.

Falls die Datei schon existiert, wird sie zur Bearbeitung geöffnet und
eingelesen, andernfalls wird sie neu angelegt und zur Bearbeitung geöffnet.
Dies ist der Standardwert.

UPDATE

Die Datei, die zur Bearbeitung geöffnet und eingelesen werden soll, muss
bereits existieren, andernfalls wird die Meldung EDT5310 ausgegeben.

NEW

Die Datei wird neu angelegt und zur Bearbeitung geöffnet. Sie darf noch
nicht vorhanden sein, andernfalls wird die Meldung EDT5311 ausgegeben.

REPLACE

Falls die Datei schon existiert, wird sie zur Bearbeitung geöffnet, ihr alter Inhalt wird aber gelöscht und nicht in die Arbeitsdatei eingelesen. Falls die Datei nicht existiert, wird sie neu angelegt und zur Bearbeitung geöffnet.

Ist die aktuelle Arbeitsdatei nicht leer, wird die Anweisung @XOPEN mit der Meldung EDT5191 abgewiesen. Im Gegensatz zu BS2000-Dateien oder Bibliothekselementen können POSIX-Dateien mehrfach in verschiedenen Arbeitsdateien geöffnet sein (in POSIX gibt es keinen Schutz gegen das mehrfache Öffnen einer Datei durch unterschiedliche Prozesse).

Das Einfügen der aus der Datei gelesenen Sätze erfolgt in der aktuellen Arbeitsdatei hinter Position 0.0000 nach dem Verfahren Einfügen zwischen zwei Zeilen (siehe Abschnitt „Zeilennummernvergabe“).
Hat die leere Arbeitsdatei den Zeichensatz *NONE, erhält die Arbeitsdatei den Zeichensatz, der durch CODE angegeben ist. Ist kein Zeichensatz angegeben, erhält die Arbeitsdatei den Zeichensatz, der mit @PAR CODE eingestellt ist.

Hat die leere Arbeitsdatei bereits einen Zeichensatz (z.B. durch vorhergehendes @CODE-NAME), dann werden die einzulesenden Sätze vom Zeichensatz der Datei in den Zeichensatz der Arbeitsdatei konvertiert. Enthält die einzulesende Datei Zeichen, die im Zeichensatz der Arbeitsdatei nicht darstellbar sind, werden diese durch ein Ersatzzeichen ersetzt, sofern ein solches spezifiziert ist (siehe @PAR SUBSTITUTION-CHARACTER), andernfalls wird die Datei nicht eingelesen und die Fehlermeldung EDT5453 ausgegeben.

Liegt die Datei in einem Unicode-Zeichensatz vor und enthält sie ungültige Bytefolgen, z.B. Surrogate-Zeichen, kann sie auch bei Angabe eines SUBSTITUTION-CHARACTERS nicht eingelesen werden. In diesem Fall wird das Lesen mit der Meldung EDT5454 abgewiesen.

Wird die Anweisung mit [K2] unterbrochen und der EDT-Lauf mit /INFORM-PROGRAM fortgesetzt, so wird die Bearbeitung der Anweisung abgebrochen und die Meldung EDT5501 ausgegeben.

Hinweis

Ist bei Beenden des EDT (@HALT, @END, @RETURN) eine Datei mit @XOPEN geöffnet und wird die Sicherungsabfrage EDT0900 ausgegeben, so wird der POSIX-Dateiname in der Form X=xpath angezeigt.