Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

@GETLIST - Einlesen von Elementen einer Listenvariablen

&pagelevel(3)&pagelevel

Die Anweisung @GETLIST schreibt Elemente einer Listenvariablen in die aktuelle Arbeitsdatei.


Operation

Operanden

F-Modus, L-Modus

@GETLIST

string [lines[,...]] [:cols[,...]:] [,CODE=name]

string

Zeichenfolge, die den Namen einer S-Listenvariablen angibt.
Der Name muss den syntaktischen Regeln für einen S-Variablen-Namen
genügen, diese werden aber vom EDT nicht vollständig überprüft. Ist der
Name länger als 246 Zeichen, wird die Anweisung mit der Meldung
EDT3174 abgebrochen.

lines

Einer oder mehrere Zeilenbereiche, die die Listenelemente angeben, die
übernommen werden sollen.

Es werden nur die Elemente der Listenvariablen eingelesen, die durch den
Zeilenbereich gekennzeichnet sind. Hierbei erfolgt eine Zuordnung von
Elementnummern und Zeilennummern, wobei 0.0001 für das 1. Element in
der Liste steht, 0.0002 für das 2. Element, usw.

Ist zu einer angegebenen Zeilennummer kein Element vorhanden, wird die
Angabe ignoriert.

Ist lines nicht angegeben, werden alle Elemente eingelesen.

cols

Einer oder mehrere Spaltenbereiche, der S-Variablen, die eingelesen werden
sollen. Wiederholungen und Überlappungen der Bereiche sind erlaubt.
Dabei wird die Spalte n dem n-ten Zeichen zugeordnet. Alle spezifizierten
Zeichen werden in der Reihenfolge der Spaltenangabe ggf. auch mehrfach
aneinandergefügt und das Ergebnis in die Arbeitsdatei eingefügt. Ist das
Ergebnis größer als 32768 Zeichen, wir die Anweisung mit der Meldung
EDT5474 abgebrochen.

Enthält ein Listenelement weniger Zeichen als die angegebene Spalte, wird
dafür ein Leerzeichen eingefügt.

Wird kein Spaltenbereich angegeben, wird jedes Element in voller Länge
eingelesen.

name

Name des Zeichensatzes, in dem der Wert der S-Variablen interpretiert
werden soll. Der Zeichensatz muss zulässig sein, sonst wird die Anweisung
mit der Meldung EDT4980 abgewiesen. Ist der Operand nicht angegeben,
wird der Wert der S-Variablen im Zeichensatz EDF041 interpretiert (siehe
Abschnitt „Zeichensätze“).

Ist die angegebene S-Variable keine Liste, wird die Meldung EDT4910 ausgegeben. Hat der Wert eines Listenelements nicht den Typ STRING, wird die Anweisung mit der Meldung EDT5343 abgebrochen. Hat die Liste kein Element, wird die Meldung EDT5340 ausgegeben.

Die Vergabe der Zeilennummern erfolgt nach dem Verfahren Einfügen bei der aktuellen Zeilennummer (siehe Abschnitt „Zeilennummernvergabe“). Wird die maximale Zeilennummer erreicht, wird die Anweisung abgebrochen und die Meldung EDT5252 ausgegeben.

Enthält ein Listenelement eine ungültige Bytefolge (in Unicode-Zeichensätzen möglich), wird die Anweisung abgebrochen und die Meldung EDT5454 ausgegeben.

Beim Einfügen werden die Werte in den Zeichensatz der Arbeitsdatei konvertiert. Ist die Arbeitsdatei leer und hat noch den Zeichensatz *NONE, erhält die Arbeitsdatei den durch name explizit oder implizit angegebenen Zeichensatz. Enthält die zuzuweisende Zeichenfolge Zeichen, die nicht in den Zeichensatz der Arbeitsdatei konvertierbar sind, werden diese durch ein Ersatzzeichen ersetzt, sofern ein solches spezifiziert ist (siehe @PAR SUBSTITUTION-CHARACTER), andernfalls unterbleibt die Zuweisung und die Fehlermeldung EDT5453 wird ausgegeben.

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.

Details zu S-Variablen können dem Handbuch SDF-P [7] entnommen werden.