Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

VARIABLE-ATTRIBUTE( ) Variableneigenschaften abfragen

&pagelevel(3)&pagelevel

Anwendungsgebiet: Variablenzugriff (Variableneigenschaften)

Die Funktion VARIABLE-ATTRIBUTE( ) liefert für die angegebene Variable den Wert des angegebenen Attributs. Attribute sind die Variableneigenschaften, die mit dem SDF-P-Kommando DECLARE-VARIABLE definiert werden. Schlüsselwörter für die Abfrage sind dabei in der Regel die Operandennamen des Kommandos.

Detailinformationen über Strukturen müssen über ATTRIBUTE = *STRUCTURE-INFO (nicht über ATTRIBUTE = *TYPE) abgefragt werden.

Format

VARIABLE-ATTRIBUTE( )

VAR-ATTR( )

VARIABLE-NAME = string_ausdruck

,ATTRIBUTE = *TYPE / *CONTAINER / *CONTAINER-NAME / *CONTAINER-SCOPE /

*MULTIPLE-ELEMENTS / *SCOPE / *STRUCTURE-INFO

Ergebnistyp

STRING

Eingabeparameter

VARIABLE-NAME = string_ausdruck
Bezeichnet eine Variable. Der Variablenname muss in Hochkommata eingeschlossen werden, wenn man ihn direkt (als Literal) angeben will (siehe dazu das folgende Beispiel sowie das letzte Beispiel bei IS-DECLARED( ) ).

ATTRIBUTE =
Bezeichnet ein Variablenattribut.

ATTRIBUTE = *TYPE
Liefert den Variablentyp.
Wenn die mit „string_ausdruck“ bezeichnete Variable eine Struktur ist, wird der Wert „*STRUCTURE“ zurückgeliefert.

ATTRIBUTE = *CONTAINER
Liefert den Typ des Variablenbehälters.

ATTRIBUTE = *CONTAINER-NAME
Liefert den Namen des Variablenbehälters.

ATTRIBUTE = *CONTAINER-SCOPE
Liefert den Geltungsbereich des Variablenbehälters.

ATTRIBUTE = *MULTIPLE-ELEMENTS
Liefert den Typ der zusammengesetzten Variablen.

ATTRIBUTE = *SCOPE
Liefert den Geltungsbereich der Variablen.

ATTRIBUTE = *STRUCTURE-INFO
Liefert die Eigenschaften der mit „string_ausdruck“ bezeichneten zusammengesetzten Variablen vom Typ Struktur. Diese Eigenschaften werden im Kommando DECLARE-VARI-ABLE mit dem Operanden TYPE = *STRUCTURE(DEFINITION = ...) definiert.

Ergebnis

Wert des Attributs als String

Eingabeparameter
ATTRIBUTE =

Ergebnis

*TYPE

'*ANY' / '*BOOLEAN' / '*INTEGER' / '*STRING'
Variablentyp

'*STRUCTURE'
„string_ausdruck“ bezeichnet eine Struktur.

*CONTAINER

'*STD' / '*VARIABLE' / '*JV' / 'composed-name'
Typ des Variablenbehälters

*CONTAINER-NAME

'name' / ''
Name der Behältervariable oder Jobvariable

wenn die Variable keinen Container hat:
Fehlermeldung

*CONTAINER-SCOPE

'*INCLUDE' / '*PROCEDURE' / '*TASK'
Geltungsbereich des Variablenbehälters

wenn die Variable keinen Container hat:
Fehlermeldung

*MULTIPLE-ELEMENTS

'*ARRAY' / '*LIST'
Typ der zusammengesetzten Variablen

'*NO'
„string_ausdruck“ ist weder ein Array noch eine Liste

*SCOPE

'*INCLUDE'

Geltungsbereich der mit „string_ausdruck“ bezeichneten
Variablen

*STRUCTURE-INFO

'*BY-SYSCMD'
„string_ausdruck“ bezeichnet eine statische Struktur.

'*DYNAMIC'
„string_ausdruck“ bezeichnet eine dynamische Struktur.

'name'
Name des Strukturlayouts

Fehlermeldung

SDP0424   VARIABLER '(&00)' KEIN BEHAELTER ZUGEWIESEN
SDP0425   BUILTIN-FUNKTION VAR-ATTRIBUTES: VARIABLE IST KEINE STRUKTUR
SDP1007   NOCH KEINE VARIABLE ANGELEGT 
SDP1101   SYNTAX-FEHLER IM VARIABLEN-NAMEN 

Beispiel 1

/BEGIN-STRUCTURE PERSON
...
/END-STRUCTURE
/DECLARE-VARIABLE A (TYPE = *STRUCTURE(PERSON))
...
/B = VARIABLE-ATTRIBUTE(VARIABLE-NAME = 'A', ATTRIBUTE = *TYPE)
/SHOW-VARIABLE B
B = *STRUCTURE 
/B = VARIABLE-ATTRIBUTE(VARIABLE-NAME = 'A', ATTRIBUTE = *STRUCTURE-INFO)
/SHOW-VARIABLE B
B = PERSON 

Beispiel 2

/OPEN-VARIABLE-CONTAINER mycontainer,*LIB(mylibrary)
/DECLARE-VARIABLE myvar, CONTAINER= mycontainer
/A = VARIABLE-ATTRIBUTE('myvar',*CONTAINER)
/SHOW-VARIABLE A
A = MYCONTAINER
/A = VARIABLE-ATTRIBUTE('myvar',*CONTAINER-NAME)
/SHOW-VARIABLE A
A = "leerer String"