Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

@SETLIST - Erweitern einer Listenvariablen

&pagelevel(3)&pagelevel

Die Anweisung @SETLIST weist einer S-Listenvariablen Elemente zu. Dabei werden Werte aus Zeilen der aktuellen Arbeitsdatei oder aus Zeichenfolgevariablen übernommen.

Sind keine Werte spezifiziert, wird der Inhalt der S-Listenvariablen gelöscht.

Operation

Operanden

F-Modus, L-Modus

@SETLIST

string { [lines[,...] ] [MARK [m] ] | svar} [:cols[,...]:]
[,] [MODE={ APPEND | PREFIX | OVERWRITE} ] [,CODE =name]

string

Zeichenfolge, die den gültigen 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.

lines

einer oder mehrere Zeilenbereiche, deren Inhalt in die S-Listenvariable
übernommen werden soll. Ist im angegebenen Zeilenbereich keine Zeile
vorhanden, wird die Meldung EDT2903 ausgegeben. Ist kein Zeilenbereich
angegeben, werden alle Zeilen der aktuellen Arbeitsdatei berücksichtigt.

MARK

Es sollen nur markierte Zeilen der angegebenen Zeilenbereiche übernommen
werden. Ist MARK nicht angegeben, werden alle Zeilen übernommen.

m

Nummer der Satzmarkierung (1..9), die berücksichtigt werden soll. Ist m
nicht angegeben, werden nur Datenzeilen mit Markierung 1 berücksichtigt.

svar

Name einer Zeichenfolgevariablen, deren Inhalt als Element aufgenommen
werden soll.

cols

Einer oder mehrere Spaltenbereiche, deren Zeichen übernommen werden
sollen. Wiederholungen und Überlappungen der Bereiche sind erlaubt.
Enthält eine Zeile in einer zu berücksichtigenden Spalte kein Zeichen, wird
stattdessen ein Leerzeichen eingefügt.
Alle spezifizierten Zeichen werden in der Reihenfolge der Spaltenangabe
ggf. auch mehrfach aneinandergefügt und das Ergebnis in das
Listenelement eingefügt.

Ist dieser Operand nicht angegeben, wird die ganze Zeile übernommen.

MODE=legt fest, auf welche Art die Liste erweitert werden soll.

APPEND

Die Liste wird am Ende erweitert, d.h. die neuen Listenelemente werden nach dem letzten Element angefügt (Standardwert).

PREFIX

Die Liste wird am Anfang erweitert, d.h. die neuen Listenelemente werden
vor dem ersten Element eingefügt.

OVERWRITE


Zunächst wird der Inhalt der S-Listenvariablen gelöscht. Anschließend
werden die neuen Listenelemente aufgenommen.

Ist im angegebenen Zeilenbereich keine Zeile vorhanden, enthält die
S-Listenvariable anschließend keine Elemente mehr. Im F-Modus wird zur
Information die Meldung EDT0211 ausgegeben.

name

Zeichensatz, in den die zuzuweisende Zeichenfolge konvertiert werden
soll, bevor sie zugewiesen wird. Ist name nicht angegeben, wird EDF041
verwendet. Der Zeichensatzname muss in XHCS bekannt sein, andernfalls
wird die Anweisung mit der Meldung EDT4980 abgewiesen.

Das Komma vor dem Operanden MODE muss zur Unterscheidung von MARK angegeben werden, wenn außer dem Listennamen oder einer etwaigen Bereichs-Angabe kein anderer Operand angegeben wird.

Die Listenvariable muss bereits existieren, sonst wird die Meldung EDT5274 ausgegeben. Ist sie keine Listenvariable, wird die Meldung EDT4910 ausgegeben. Ist die Listenvariable nicht vom Typ STRING oder ANY wird die Anweisung mit der Meldung EDT5343 abgewiesen.

Wird eine S-Variable durch APPEND oder PREFIX erweitert, wird im F-Modus zur Information die Meldung EDT0210 ausgegeben.

Ist im L-Modus die Arbeitsdatei leer und wurde ein Zeilenbereich (keine Zeichenfolgevariable) angegeben, wird die Meldung EDT2903 ausgegeben.

Enthält die zuzuweisende Zeichenfolge Zeichen, die im angegebenen Zeichensatz ungültig sind, werden diese durch ein Ersatzzeichen ersetzt, sofern ein solches spezifiziert ist (siehe @PAR SUBSTITUTION-CHARACTER), andernfalls unterbleibt die Zuweisung und die Anweisung wird mit der Fehlermeldung EDT5453 abgebrochen.

Ist der zuzuweisende Wert länger als 4096 Bytes, werden nur die ersten 4096 Bytes als Wert zugewiesen und die Meldung EDT2403 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-Listenvariablen können dem Handbuch SDF-P [7] entnommen werden.