Der Makroaufruf GETVAR liest den Inhalt einer Variablen.
GETVAR kann auf einfache Variablen und Elemente zusammengesetzter Variablen angewendet werden.
Operation | Operanden |
GETVAR | MF = E |
MF = D ,PREFIX = G / prefix | |
MF = C ,PREFIX = G / prefix ,MACID = ETV / macid | |
MF = L ,NAMLEN = <integer 1..255> ,NAMADR = <name 1..8> ,SCOPE = *VISIBLE / *TASKONLY ,MAXLEN = <integer 1..4096> ,VALADR = <name 1..8> |
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 G; sie können mit PREFIX verändert werden.
PREFIX = G / prefix
Definiert das erste Zeichen der generierten Namen.
Voreinstellung: Die generierten Namen beginnen mit dem Buchstaben G.
MF = C
C-Form des Makroaufrufs; erzeugt eine Operandenliste, deren symbolische Namen mit der Zeichenfolge GETV beginnen. Sie können durch PREFIX und MACID verändert werden.
PREFIX = G / prefix
Definiert das erste Zeichen der generierten Namen.
Voreinstellung: Die generierten Namen beginnen mit dem Buchstaben G.
MACID = ETV / macid
Bis zu drei Zeichen langer String, der die Zeichen 2 bis 4 der generierten Namen ersetzt. Voreinstellung: ETV
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
Bezeichnet den Geltungsbereich der Variablen.
= *VISIBLE
Die Variable ist eine prozedurlokale Variable.
= *TASKONLY
Die Variable ist eine taskglobale Variable.
MAXLEN = <integer 1..4096>
Länge des bei VALADR angegebenen Feldes und damit die maximale Länge des Variablenwerts.
VALADR = <name 1..8>
Symbolische Adresse des Feldes, in das der einzulesende Variablenwert übertragen wird.
Returncodes
Die folgende Tabelle listet die Returncodes in hexadezimaler Schreibweise auf.
Subcode2 | Subcode1 | Maincode | Bedeutung |
00 | 00 | 0000 | Makroaufruf war erfolgreich; kein Fehler |
00 | 01 | 0001 | Parameter-Fehler |
00 | 01 | 0002 | Syntaxfehler im Variablennamen |
00 | 40 | 0003 | Area zu klein |
00 | 40 | 0004 | Variable nicht deklariert |
00 | 40 | 0005 | Variablenbehälter nicht verfügbar |
00 | 40 | 0006 | Datentyp und Variablenwert nicht vereinbar |
00 | 40 | 0008 | Variable hat keinen Wert |
00 | 01 | FFFF | Unbekannte Unit- oder Funktions-Nummer |
00 | 02 | FFFF | Funktion nicht verfügbar |
00 | 03 | FFFF | Falsche Version der Operandenliste |