Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

@SET (Format 1) - Versorgen von Ganzzahlvariablen mit Werten

&pagelevel(3)&pagelevel

Mit diesem Format der Anweisung @SET wird einer Ganzzahlvariablen ein Wert zugewiesen. Dieser Wert kann als Ergebnis eines Ausdrucks, durch Umwandlung einer abdruckbaren Zahl in eine Ganzzahl, durch Umwandlung des Inhalts einer Zeilennummervariablen in eine Ganzzahl, aus der Länge einer Zeile oder aus dem Binärwert einer Zeichenfolge entstehen.

Operation

Operanden

F-Modus, L-Modus

@SET

ivar={ intex
        | lvar
        | LENGTH line
        | LENGTH svarex
        | SUBSTR string
        | STRING string [,CODE=name] }

ivar

intex

Ganzzahlvariable (#I0..#I20), der ein Wert zugewiesen werden soll.

Ganzzahliger Ausdruck. Wird bei einer Rechenoperation der negative oder
positive Maximalwert (-2 31 ,2 31 -1) überschritten, wird die Anweisung mit
der Meldung EDT4946 abgewiesen.

lvar

Zeilennummervariable (#L0..#L20), deren Wert der Ganzzahlvariablen
zugewiesen werden soll. Bei der Konvertierung in eine Ganzzahl wird der
Inhalt der Zeilennummervariablen mit 10000 multipliziert und zugewiesen.

LENGTH line

Zeilennummer einer Zeile, deren Länge der Ganzzahlvariablen zugewiesen
werden soll. Ist die Zeile leer, wird der Wert 0 zugewiesen. Existiert die Zeile
nicht, wird der Ganzzahlvariablen aus Kompatibilitätsgründen ebenfalls der
Wert 0 zugewiesen.

LENGTH svarexZeichenfolgevariable, deren Länge der Ganzzahlvariablen zugewiesen
werden soll.
SUBSTR string

Zeichenfolge, die eine Ganzzahl angibt, die der Ganzzahlvariablen
zugewiesen werden soll. Ein in der Zeichenfolge enthaltenes Plus- oder
Minuszeichen wird bei der Konvertierung berücksichtigt. Fehlt das Vorzeichen,
wird + angenommen. Enthält die Zeichenfolge Leerzeichen, werden diese
bei der Umwandlung unterdrückt.

Ist die Zeichenfolge keine Ganzzahl, wird die Anweisung mit der
Fehlermeldung EDT5477 abgewiesen. Liegt die Ganzzahl nicht im zulässigen
Bereich (-2 31 ,2 31 -1) wird die Anweisung mit der Meldung EDT4946
abgewiesen.
Die leere Zeichenfolge ist nicht erlaubt und führt zum Fehler EDT3907.

STRING string

Zeichenfolge. Der Binärwert der ersten 4 Byte der Zeichenfolge wird der
Ganzzahlvariablen zugewiesen. Enthält die Zeichenfolge weniger als 4
Byte, wird linksbündig mit Nullen aufgefüllt.
Die leere Zeichenfolge ist nicht erlaubt und führt zum Fehler EDT3907.

name

Zeichensatz, in dem die Zeichenfolge interpretiert werden soll. Sie wird vor
der Zuweisung in diesen Zeichensatz konvertiert. Die ersten 4 Byte werden
dann ohne Rücksicht auf Zeichengrenzen zugewiesen.
Enthält die Zeichenfolge Zeichen, die im Ziel-Zeichensatz ungültig sind,
werden diese durch ein Ersatzzeichen ersetzt, sofern ein solches spezifiziert
ist (siehe @PAR SUBSTITUTION-CHARACTER), andernfalls wird die
Anweisung mit der Fehlermeldung EDT5453 abgewiesen.

Fehlt der Operand, wird der Zeichensatz der angegebenen Zeichenfolge
(je nach Quelle) verwendet.

Bei dieser Anweisung darf der Anweisungsname ganz entfallen. Im F-Modus darf zusätzlich auch das Anweisungssymbol fehlen.

Beispiel

   1.     @SET #I0 = SUBSTR '123' --------------------------------------- (1)
   1.     @SET #L0 = 1.01 ----------------------------------------------- (2)
   1.     @SET #I1 = #L0 ------------------------------------------------ (3)
   1.     @CREATE 1 'AB' ------------------------------------------------ (4)
   1.     @SET #I2 = LENGTH 1 ------------------------------------------- (5)
   1.     @SET #I3 = 2124 + #I0 + #I1 - #I2 ----------------------------- (6)
   1.     @SET #I4 = STRING '123' --------------------------------------- (7)
   1.     @SET #I5 = STRING 'A',CODE=UTF16 ------------------------------ (8)
   1.     @STATUS = I --------------------------------------------------- (9)
#I00= 0000000123 #I01= 0000010100 #I02= 0000000002
#I03= 0000012345 #I04= 0015856371 #I05= 0000000065
#I06= 0000000000 #I07= 0000000000 #I08= 0000000000
#I09= 0000000000 #I10= 0000000000 #I11= 0000000000
#I12= 0000000000 #I13= 0000000000 #I14= 0000000000
#I15= 0000000000 #I16= 0000000000 #I17= 0000000000
#I18= 0000000000 #I19= 0000000000 #I20= 0000000000
(1)Der Ganzzahlvariablen #I0 wird der Wert 123 zugewiesen.
(2)Der Zeilennummervariablen #L0 wird der Wert 0001.0100 zugewiesen.
(3)Der Ganzzahlvariablen #I1 wird der Wert 10100, Zeilennummer 1.01 * 10000, zugewiesen.
(4)Die Zeile 1 wird mit dem Inhalt AB erzeugt.
(5)Der Ganzzahlvariablen #I2 wird der Wert 2, die Länge der Zeile 1, zugewiesen.
(6)Der Ganzzahlvariablen #I3 wird der Wert des Ausdrucks zugewiesen.
(7)Der Ganzzahlvariablen #I4 wird der Wert X'00F1F2F3' = 15856371 zugewiesen.
(8)Der Ganzzahlvariablen #I5 wird der Wert zugewiesen, der der Unicode-Codeposition des Zeichens 'A' entspricht.
(9)Der Inhalt der Ganzzahlvariablen wird ausgegeben.