Mit der Anweisung @GET wird eine ISAM-Datei von Platte ganz oder teilweise in die aktuelle Arbeitsdatei eingelesen.
Operation | Operanden | F-Modus, L-Modus |
@GET | [file] [(ver)] [lines[,...]] [:cols[,...]:] [NORESEQ] | |
file | Name der ISAM-Datei, die eingelesen werden soll. Der Name muss dem Besteht noch kein lokaler @FILE-Eintrag für die Arbeitsdatei, so wird der Existiert die angegebene Datei nicht oder ist sie nicht wie erforderlich Wenn der Dateikettungsname |
ver | Versionsnummer der einzulesenden Datei. Stimmt die angegebene |
lines | Einer oder mehrere Zeilenbereiche, die aus der ISAM-Datei eingelesen Wird Die mit |
| cols | Einer oder mehrere Spaltenbereiche, durch die der einzulesende Bereich Wird kein Spaltenbereich angegeben, werden die Zeilen in voller Länge |
| NORESEQ | Die Zeilennummern werden aus den ISAM-Schlüsseln der eingelesenen Der EDT prüft dabei, ob im Satzschlüssel eine gültige Zeilennummer steht. Wird |
Die Datei ist nur während des Lesevorgangs geöffnet. Datensätze, die nur aus dem Schlüssel bestehen, werden als leere Zeilen eingelesen. Ist die einzulesende Datei leer, wird die Warnung EDT2903 ausgegeben.
Ist die aktuelle Arbeitsdatei leer und hat den Zeichensatz *NONE, erhält die Arbeitsdatei den Zeichensatz der einzulesenden Datei. Ist dieser *NONE, erhält die Arbeitsdatei den Zeichensatz EDF03IRV.
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 das Lesen der Datei abgebrochen und die Fehlermeldung EDT5453 ausgegeben. Dies gilt auch, falls sich das ungültige Zeichen außerhalb des einzulesenden Spaltenbereichs befindet. Ungültige Zeichen außerhalb des einzulesenden Zeilenbereichs werden hingegen ignoriert.
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
Wird versucht, mit @GET eine SAM-Datei einzulesen, gibt der EDT die Fehlermeldung EDT1902 aus und setzt den Schalter für EDT-Fehler. Er liest die angegebene Datei aber trotzdem ein, indem intern ein @READ für diese Datei ausgeführt wird. Die Operanden lines bzw. NORESEQ werden in diesem Fall ignoriert.