Anwendungsgebiet: Variablenzugriff (Variablenname)
Mit der Funktion FIRST-VARIABLE-NAME( ) lässt sich der Aufbau von zusammengesetzten Variablen analysieren, vor allem in Kombination mit der Funktion NEXT-VARIABLE-NAME( ). Die Funktion FIRST-VARIABLE-NAME( ) kann auf alle Aggregate und Listen angewendet werden. Dabei geht FIRST-VARIABLE-NAME( ) vom angegebenen Variablen- oder Variablenelementnamen aus und liefert dann den Namen der ersten Variablen. Gibt es keine tiefere Ebene, liefert FIRST-VARIABLE-NAME( ) das Ergebnis *END.
Format
FIRST-VARIABLE-NAME( ) FIRST-VAR-NAME( ) |
VARIABLE-NAME = string_ausdruck |
Ergebnistyp
STRING (<composed-name 1..255> oder '*END')
Eingabeparameter
VARIABLE-NAME = string_ausdruck
Bezeichnet eine zusammengesetzte Variable oder ein Variablenelement.
Ist die zusammengesetzte Variable eine Liste, wird der Name des ersten Listenelements (liste#1) geliefert.
Ist das Variablenelement ein Listenelement, wird *END oder der Name des entsprechenden Elements ausgegeben. Der Variablenname muss in Hochkommata eingeschlossen werden, wenn man ihn direkt (als Literal) angeben will (siehe dazu das Beispiel auf der folgenden Seite).
Ergebnis
elementname, wenn „string_ausdruck“ eine zusammengesetzte Variable bezeichnet.
*END
„string_ausdruck“ bezeichnet bereits ein Variablenelement der untersten Ebene, das selbst keine zusammengesetzte Variable mehr ist; das heißt, es gibt keine tiefere Ebene.
Fehlermeldung
SDP1101 SYNTAX-FEHLER IM VARIABLEN-NAMEN
Beispiel
Die Variable FSTAT wird als Array deklariert mit dynamischen Strukturen als Elementen.
/DECLARE-VARIABLE FSTAT(TYPE=*STRUCTURE(*DYNAMIC)),MULTIPLE-ELEMENTS=*ARRAY
Die Elemente der dynamischen Strukturen werden folgendermaßen initialisiert:
/FSTAT#1.F-NAME = 'DATEI.A' /FSTAT#1.F-SIZE = 0000003 /FSTAT#2.F-NAME = 'DATEI.B' /FSTAT#2.F-SIZE = 000006
Mit FIRST-VARIABLE-NAME kann die Variable analysiert werden:
/A = FIRST-VARIABLE-NAME('FSTAT') /SHOW-VARIABLE A A = FSTAT#1 /B = FIRST-VARIABLE-NAME(A) /SHOW-VARIABLE B B = FSTAT#1.F-NAME /C = FIRST-VARIABLE-NAME(B) /SHOW-VARIABLE C C = *END