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.