Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

PUTVAR

&pagelevel(4)&pagelevel

Der Makroaufruf PUTVAR weist einer Variablen einen Wert zu. PUTVAR kann auf einfache Variablen und Elemente zusammengesetzter Variablen angewendet werden.

Wenn eine einfache Variable bei der Zuweisung noch nicht existiert, dann wird sie angelegt, falls IMPLICIT-DECLARATION=*YES und IMPDEC = *STD gilt oder im Makroaufruf IMPDEC=*YES angegeben ist.

Elementen zusammengesetzter Variablen kann ein Wert zugewiesen werden, wenn sie vom Typ Integer, Boolean, String oder Any sind.

Operation

Operanden

PUTVAR

MF = E

,PARAM = <name 1..8> / (<integer 1..15> )

MF = D

,PREFIX = P / prefix

MF = C

,PREFIX = P / prefix

,MACID = UTV / macid

MF = L

,NAMLEN = <integer 1..255>

,NAMADR = <name 1..8>

,SCOPE = *VISIBLE / *TASKONLY

,IMPDEC = *YES / *NO / *STD

,VALLEN = <integer 0..4096>

,VALADR = <name 1..8>

,VALTYPE = *INTEGER / *BOOLEAN / *STRING

Operandenbeschreibung

MF = E
Execute-Form des Makroaufrufs; erzeugt einen SVC.

PARAM
Bezeichnet die Adresse der Operandenliste, die für den Makroaufruf ausgewertet wird (Adresse des Makroaufrufs mit MF=L).

= <name 1..8>
Bezeichnet die symbolische Adresse der Operandenliste.

= (<integer 1..15>)
Bezeichnet das Register, das die Adresse der Operandenliste enthält.

MF = D
DSECT-Form des Makroaufrufs: erzeugt eine DSECT für die Operandenliste. Die generierten Namen beginnen mit dem Buchstaben P; sie können mit PREFIX verändert werden.

PREFIX = P / prefix
Definiert das erste Zeichen der generierten Namen.
Voreinstellung: Die generierten Namen beginnen mit dem Buchstaben P.

MF = C
C-Form des Makroaufrufs: erzeugt eine Operandenliste, deren symbolische Namen mit der Zeichenfolge PUTV beginnen. Sie können durch PREFIX und MACID verändert werden.

PREFIX = P / prefix
Definiert das erste Zeichen der generierten Namen.
Voreinstellung: Die generierten Namen beginnen mit dem Buchstaben P.

MACID = UTV / macid
Bis zu drei Zeichen langer String, der die Zeichen 2 bis 4 der generierten Namen ersetzt. Voreinstellung: UTV

MF = L
LIST-Form des Makroaufrufs: erzeugt die Operandenliste für den Makroaufruf mit MF=E (Execute-Form). Der Makroaufruf muss über eine symbolische Adresse adressierbar sein.

NAMLEN = <integer 1..255>
Bezeichnet die Länge des Variablennamens.

NAMADR = <name 1..8>
Symbolische Adresse eines Feldes, das den Variablennamen enthält.

SCOPE
Definiert den Geltungsbereich der Variablen.

= *VISIBLE
Die Variable wird als prozedurlokale Variable angelegt.

= *TASKONLY
Die Variable wird als taskglobale Variable angelegt.

IMPDEC = *YES / *NO / *STD
Legt fest, ob die Variable implizit angelegt wird, wenn sie noch nicht vorhanden ist, unabhängig von der Einstellung in der umgebenden Prozedur.

= *STD
Gibt an, dass die Prozeduroption IMPLICIT-DECLARATION der gegenwärtigen Prozedur verwendet wird.

VALLEN = <integer 0..4096>
Wird nur bei Angabe von VALTYPE=*STRING ausgewertet.
Bezeichnet die Länge des Strings.

VALADR = <name 1..8>
Bezeichnet die symbolische Adresse des Werts, der in die Variable zu schreiben ist.

VALTYPE
Legt den Datentyp des Werts fest.

= *INTEGER
Der Wert hat den Typ INTEGER. Entsprechend muss die Variable vom Typ INTEGER oder ANY sein, sonst tritt ein Fehler auf.

= *BOOLEAN
Der Wert hat den Typ BOOLEAN. Es tritt ein Fehler auf, wenn
- der Wert an der Adresse VALADR weder TRUE noch FALSE ist.
- die Variable weder vom Typ BOOLEAN noch vom Typ ANY ist.

= *STRING
Der Wert hat den Typ STRING. Entsprechend muss die Variable vom Typ STRING oder ANY sein, sonst tritt ein Fehler auf.
Die Länge des Strings wird mit VALLEN definiert.

Returncodes

Die folgende Tabelle listet die Returncodes in hexadezimaler Schreibweise auf.

Subcode2

Subcode1

Maincode

Bedeutung

00000000Makroaufruf war erfolgreich; kein Fehler
00010001Parameter-Fehler
00010002Syntaxfehler im Variablennamen
00400004Variable nicht deklariert
00400005Variablenbehälter nicht verfügbar
00400006VALTYPE passt nicht zu Wert oder Variablentyp
0001FFFFUnbekannte Unit- oder Funktions-Nummer
0002FFFFFunktion nicht verfügbar
0003FFFFFalsche Version der Operandenliste