Mit der Anweisung @XCOPY kann eine POSIX-Datei, die im POSIX-Dateisystem abgelegt ist, in die aktuelle Arbeitsdatei eingelesen werden. Diese Anweisung wird nur noch aus Kompatibilitätsgründen unterstützt. Es wird empfohlen, stattdessen die Anweisung
@COPY (Format 1) mit dem Operanden POSIX-FILE
zu benutzen.
Operation | Operanden | F-Modus, L-Modus |
@XCOPY | FILE=xpath [,CODE= { name | EBCDIC | ISO } ] |
xpath | Pfadname der POSIX-Datei, die in die aktuelle Arbeitsdatei eingelesen Der Operand Existiert die angegebene Datei nicht oder ist sie nicht wie erforderlich |
CODE= | Es wird festgelegt, welcher Zeichensatz für die POSIX-Datei angenommen Wird |
name | Zeichensatz der einzulesenden POSIX-Datei. Als |
EBCDIC | Das Schlüsselwort |
ISO | Das Schlüsselwort |
Das Einfügen der aus der Datei gelesenen Sätze erfolgt in der aktuellen Arbeitsdatei hinter der letzten Zeile nach dem Verfahren Einfügen zwischen zwei Zeilen (siehe Abschnitt „Zeilennummernvergabe“).
Ist die aktuelle Arbeitsdatei leer und hat 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 Arbeitsdatei bereits einen Zeichensatz, 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.