Mit diesem Format der @INPUT-Anweisung wird eine @INPUT-Prozedur aus einer Datei gestartet. Die Anweisungen bzw. Datensätze aus der Datei werden sequentiell abgearbeitet.
Einzelheiten zum Aufbau und zur Bearbeitung von EDT-Prozeduren findet man im Abschnitt „EDT-Prozeduren“.
Operation | Operanden | F-Modus, L-Modus |
@INPUT | { LIBRARY=path1 ([ELEMENT=] elname [(vers)] [,eltype]) |
LIBRARY=... | Die @INPUT-Prozedur wird durch explizite Angabe des Bibliotheks- und |
path1 elname vers | Name der Bibliothek. Name des Elements. Version des gewünschten Elements (siehe Handbuch LMS [14]). Wird |
eltype | Typ des Elements. Zulässige Typangaben sind |
ELEMENT=... | Die @INPUT-Prozedur wird durch den Namen des Elements ohne Angabe des Bibliotheknamens bestimmt. Es wird implizit die mit @PAR LIBRARY Die Operanden |
FILE= | Die @INPUT-Prozedur wird durch den Namen einer BS2000-Datei |
path2 *linkname | Name der Datei, die als @INPUT-Prozedur eingelesen werden soll. Dateikettungsname der BS2000-Datei, die als @INPUT-Prozedur eingelesen Ist der Dateikettungsname mit dem Spezial-Dateinamen |
POSIX-FILE= | Die @INPUT-Datei wird durch den Pfadnamen einer POSIX-Datei bestimmt. |
xpath | Pfadname der POSIX-Datei, die als @INPUT-Prozedur eingelesen werden Der Operand |
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 |
Jede Zeile der Prozedur soll vor ihrer Verarbeitung protokolliert werden. Die |
Existiert die angegebene Datei nicht oder ist sie nicht wie erforderlich zugreifbar bzw. kann die Datei nicht erfolgreich eingelesen werden, wird die Anweisung mit einer entsprechenden Fehlermeldung abgewiesen.
Die Anweisung @INPUT (Format 1) darf weder in @INPUT- noch in @DO-Prozeduren abgesetzt werden.
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.
Die Abarbeitung einer @INPUT-Prozedur wird beendet, wenn die Anweisung @RETURN oder die letzte Anweisung der Prozedur abgearbeitet wurde.
Enthält die @INPUT-Prozedur Datensätze, werden diese wie bei der Dateneingabe im L-Modus in die aktuelle Arbeitsdatei eingefügt (leere Sätze werden ignoriert). Ist die aktuelle Arbeitsdatei leer und hat den Zeichensatz *NONE
, erhält die Arbeitsdatei den Zeichensatz der Datei, falls Datensätze eingefügt werden. Ist der Zeichensatz der Datei *NONE
, erhält die Arbeitsdatei beim Einfügen von Sätzen den Zeichensatz EDF03IRV
.
Die aus der @INPUT-Prozedur gelesenen Anweisungen oder Datensätze werden in dem Zeichensatz der angegebenen Datei interpretiert. Ist dieser *NONE
, wird EDF03IRV
benutzt.
Dieser Zeichensatz kann sich von dem Zeichensatz der aktuellen Arbeitsdatei unterscheiden. Da die Anweisungen stets auf die aktuelle Arbeitsdatei wirken bzw. die Datensätze in die aktuelle Arbeitsdatei eingefügt werden, kann es daher notwendig sein, Literale in Anweisungen bzw. Datensätze umzucodieren. Enthält die 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 Abarbeitung der @INPUT-Prozedur mit der Fehlermeldung EDT5453
abgebrochen.
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 die Abarbeitung der @INPUT-Prozedur mit der Meldung EDT5454
abgebrochen.