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 3) - Versorgen von Zeilennummervariablen mit Werten

&pagelevel(3)&pagelevel

Mit diesem Format der Anweisung @SET wird einer Zeilennummervariablen ein Wert zugewiesen. Dieser Wert kann entstehen aus: der Angabe einer Zeilennummer, dem Wert einer Ganzzahlvariablen, der Angabe einer Zeilennummer als Zeichenfolge oder dem Binärwert der ersten 4 Byte einer Zeichenfolge.

Operation

Operanden

F-Modus, L-Modus

@SET

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

lvar

line

ivar

Zeilennummervariable (#L0..#L20), der ein Wert zugewiesen werden soll.

Zeilennummer, die der Zeilennummervariablen zugewiesen werden soll.

Ganzzahlvariable (#I0..#I20), deren Inhalt der Zeilennummervariablen in
umgewandelter Form zugewiesen werden soll. Der zulässige Wertebereich
für ivar beträgt dabei 1 bis 99999999. Dies führt zu den Zeilennummern
0.0001 bis 9999.9999. Bei der Konvertierung wird also der Wert der Ganzzahl
durch 10000 dividiert und der entsprechende Wert der Zeilennummervariablen
zugewiesen. Liegt der Wert der Ganzzahlvariablen nicht im gültigen
Bereich, wird die Anweisung mit der Meldung EDT5475 abgewiesen.

SUBSTR stringZeichenfolge, die nach Umwandlung in eine Zeilennummer der
Zeilennummervariablen zugewiesen werden soll. Stellt die Zeichenfolge keine gültige Zeilennummer dar, wird die Anweisung mit der Meldung EDT5477 abgewiesen. Enthält die Zeichenfolge Leerzeichen, werden diese bei der Umwandlung unterdrückt.
Die leere Zeichenfolge ist nicht erlaubt und führt zum Fehler EDT3907.
STRING string

Zeichenfolge, deren Binärwert als Zeilennummer interpretiert und der
Zeilennummervariablen zugewiesen wird. Dabei werden die 8 Halbbytes, der ersten 4 Bytes der Zeichenfolge, jeweils als Dezimalziffer interpretiert.

Enthält die Zeichenfolge nach dem Konvertieren weniger als 4 Byte, wird linksbündig mit Nullen aufgefüllt.

Entspricht der Binärwert eines Halbbytes in den ersten 4 Bytes der Zeichenfolge
nicht einer Dezimalziffer 0..9, wird die Anweisung mit der Meldung
EDT4928 abgewiesen.
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 #L0 = 1.01 ----------------------------------------------- (1)
   1.     @SET #I0 = #L0 ------------------------------------------------ (2)
   1.     @SET #L1 = #I0 ------------------------------------------------ (3)
   1.     @SET #L2 = SUBSTR '1.01' -------------------------------------- (4)
   1.     @SET #L3 = STRING X'00010100' --------------------------------- (5)
   1.     @STATUS = L --------------------------------------------------- (6)
#L00=   1.0100    #L01=   1.0100    #L02=   1.0100 
#L03=   1.0100    #L04=   0.0000    #L05=   0.0000 
#L06=   0.0000    #L07=   0.0000    #L08=   0.0000 
#L09=   0.0000    #L10=   0.0000    #L11=   0.0000 
#L12=   0.0000    #L13=   0.0000    #L14=   0.0000 
#L15=   0.0000    #L16=   0.0000    #L17=   0.0000 
#L18=   0.0000    #L19=   0.0000    #L20=   0.0000 
(1)Der Zeilennummervariablen #L0 wird der Wert 0001.0100 zugewiesen.
(2)Der Ganzzahlvariablen #I1 wird der Wert 10100, Zeilennummer 1.01 * 10000, zugewiesen.
(3)Der Zeilennummervariablen #L1 wird der Wert 0001.0100 zugewiesen.
(4)Der Zeilennummervariablen #L2 wird der Wert 0001.0100 zugewiesen.
(5)Der Zeilennummervariablen #L3 wird der Wert 0001.0100 zugewiesen.
(6)Der Inhalt der Zeilennummervariablen wird ausgegeben.