Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

@INPUT (Format 1) - Starten einer @INPUT-Prozedur

&pagelevel(3)&pagelevel

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])
 | ELEMENT=elname [(vers)] [,eltype]
 | FILE={path2 | *linkname}
 | POSIX-FILE=xpath [,CODE=name] }  [PRINT]

LIBRARY=...

Die @INPUT-Prozedur wird durch explizite Angabe des Bibliotheks- und
des Elementnamens bestimmt.

path1

elname

vers

Name der Bibliothek.

Name des Elements.

Version des gewünschten Elements (siehe Handbuch LMS [14]). Wird vers
nicht angegeben oder wird *STD angegeben, wird die höchste vorhandene
Version des Elementes gewählt.

eltype

Typ des Elements. Zulässige Typangaben sind S, M, P, J, D, X, *STD und
freie Typnamen mit entsprechendem Basistyp. Wird eltype nicht angegeben,
wird der mit @PAR ELEMENT-TYPE voreingestellte Wert verwendet.
Die zulässigen Elementtypen und deren Bedeutung sind im Kapitel „Dateibearbeitung“ beschrieben.

ELEMENT=...Die @INPUT-Prozedur wird durch den Namen des Elements ohne Angabe

des Bibliotheknamens bestimmt. Es wird implizit die mit @PAR LIBRARY
voreingestellte Bibliothek verwendet (sofern @PAR LIBRARY spezifiziert
wurde – andernfalls wird die Fehlermeldung EDT5181 ausgegeben).

Die Operanden elname, vers und eltype haben die gleiche Bedeutung
wie bei expliziter Angabe der Bibliothek (siehe oben).

FILE=

Die @INPUT-Prozedur wird durch den Namen einer BS2000-Datei
bestimmt.

path2

*linkname

Name der Datei, die als @INPUT-Prozedur eingelesen werden soll.

Dateikettungsname der BS2000-Datei, die als @INPUT-Prozedur eingelesen
werden soll. Der Dateiname und die Dateiattribute sind in der Task
File Table abgelegt. Der Dateikettungsname darf nicht mit den Spezial-
Dateinamen *BY-PROGRAM vereinbart worden sein. Dies führt zum Fehler
EDT4923. Ist der Dateikettungsname nicht definiert, wird die Anweisung mit
dem Fehler EDT5480 abgewiesen.

Ist der Dateikettungsname mit dem Spezial-Dateinamen *DUMMY vereinbart
worden, wird dies wie eine existierende leere Datei behandelt.

POSIX-FILE=

Die @INPUT-Datei wird durch den Pfadnamen einer POSIX-Datei bestimmt.

xpath

Pfadname der POSIX-Datei, die als @INPUT-Prozedur eingelesen 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).

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.

name

Zeichensatz der einzulesenden 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.

PRINT

Jede Zeile der Prozedur soll vor ihrer Verarbeitung protokolliert werden. Die
Ausgabe erfolgt im Dialogbetrieb nach SYSOUT und im Stapelbetrieb nach
SYSLST.
Durch die Angabe von PRINT wird auch erreicht, dass alle Fehlermeldungen
ausgegeben werden und der EDT-Fehlerschalter gesetzt wird.
Normalerweise werden die beiden Meldungen EDT0901 und EDT4932 in Prozeduren
nicht ausgegeben und der EDT-Fehlerschalter nicht gesetzt (siehe
Abschnitt „Meldungstexte“).

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.