Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

VARINF

&pagelevel(4)&pagelevel

Mit dem Makroaufruf VARINF können Variablen analysiert werden, auch zusammengesetzte Variablen, deren Elemente selbst wieder zusammengesetzte Variablen sind.

Operation

Operanden

VARINF

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

MF = D

,PREFIX = V / prefix

MF = C

,PREFIX = V / prefix

,MACID = ARI / macid

MF = L

,NAMLEN = <integer 1..255>

,NAMADR = <name 1..8>

,SCOPE = *VISIBLE / *TASKONLY

,POSIT = *CURRENT / *UP / *DOWN / *NEXT

,MAXLEN = <integer 1..4096>

,RESADR = <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 der Zeichenfolge VARINF; sie können mit PREFIX verändert werden.

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

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

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

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

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>
Bezeichnet den symbolischen Namen der Adresse des Variablennamens, von dem ausgehend die Elementnamen abgefragt werden sollen.

SCOPE
Bezeichnet den Geltungsbereich der Variablen.

= *VISIBLE
Die Variable ist eine prozedurlokale Variable.

= *TASKONLY
Die Variable ist eine taskglobale Variable.

POSIT
Bestimmt das Variablenelement, dessen Name zurückgeliefert werden soll. Es erfolgt keine absolute, sondern nur eine relative Positionierung, jeweils ausgehend von dem Variablenelement, auf das zuletzt zugegriffen wurde.

= *CURRENT
Liefert den Namen des aktuellen Variablenelements, das heißt des Variablenelements, das als Ausgangspunkt für die Positionierung dient (Existenzprüfung).

= *UP
Liefert den Namen der zusammengesetzten Variablen, zu der das aktuelle Variablenelement gehört.

= *DOWN
Wenn das aktuelle Variablenelement selbst eine zusammengesetzte Variable ist, liefert POSITION=*DOWN den Namen des ersten Elements dieser zusammengesetzten Variablen.

= *NEXT
Liefert den Namen der nächsten zusammengesetzten Variablen auf der gleichen Ebene.

MAXLEN = <integer 1..4096>
Bezeichnet die maximale Länge des Feldes, in dem der Variablenname zurückgeliefert wird.

RESADR = <name 1..8>
Symbolische Adresse des Feldes, in dem der Variablenname zurückgeliefert wird.

Die folgenden Ausgabefelder sind in der Operandenliste nach dem Aufruf zu finden:

<PR> = <prefix><macid>
<PR>VALL : Länge des Ergebnisnamens
<PR>VTYP : Variablentyp:
        Mögliche Werte: <PR>VANY: *ANY
                        <PR>VSTR: *STRING
                        <PR>VINT: *INTEGER
                        <PR>VBOO: *BOOLEAN
                        <PR>VSTU: *STRUCTURE
<PR>MULT : MULTIPLE-ELEMENTS:
        Mögliche Werte: <PR>MNO: *NONE
                        <PR>MARR: *ARRAY
                        <PR>MLIS: *LIST
<PR>SINF : STRUCTURE INFORMATION (relevant wenn: <PR>VTYP=<PR>VSTU)
        Mögliche Werte: <PR>SDYN: *DYNAMIC
                        <PR>SCMD: *BY-SYSCMD
                        <PR>SLAY: LAYOUT

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
00400003Area zu klein
00400004Variable nicht deklariert
00400005Variablenbehälter nicht verfügbar
00400007Letztes Variablenelement erreicht, kein weiteres Variablenelement vorhanden
0001FFFFUnbekannte Unit- oder Funktions-Nummer
0002FFFFFunktion nicht verfügbar
0003FFFFFalsche Version der Operandenliste