Anwendungsgebiete: Variablenzugriff/Prüffunktionen
Die Funktion IS-DECLARED( ) prüft, ob die angegebene einfache oder zusammengesetzte Variable bereits deklariert ist.
Format
IS-DECLARED( ) |
VARIABLE-NAME = string_ausdruck ,SCOPE = *BY-HIERARCHY / *TASK / *CALLING-PROCEDURES |
Ergebnistyp
BOOLEAN
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 Beispiel auf der folgenden Seite).
SCOPE =
Bezeichnet den Geltungsbereich, in dem die Variable gesucht wird.
SCOPE = *BY-HIERARCHY
Zuerst wird im INCLUDE-, dann im PROCEDURE- und schließlich im Task-Bereich gesucht. Task-Variable sind nur sichtbar, wenn sie importiert wurden.
SCOPE = *TASK
Es wird nur im Taskbereich gesucht.
SCOPE = *CALLING-PROCEDURES
Prüft, ob die angegebene Variable schon - und zwar mit IMPORT-ALLOWED = *YES - deklariert ist. Die Variable wird von der Aufrufer-Prozedur aufwärts zur Dialogebene (bei Vordergrund-Prozeduren) oder bis zur ersten Prozedur (in einer Hintergrund-Prozedur) gesucht. Wenn die gefundene Variable mit IMPORT-ALLOWED = *NO deklariert ist, wird die Suche wieder aufgenommen, solange noch nicht der gesamte Bereich geprüft wurde. Wird bei dieser Prüfung irgendwann eine Variable mit dem angegebenen Namen gefunden, die mit IMPORT-ALLOWED = *YES deklariert wurde, wird TRUE zurückgegeben, ansonsten FALSE.
Ergebnis
TRUE
Die im Parameter VARIABLE-NAME bezeichnete Variable ist im angegebenen Geltungsbereich deklariert (bzw. in der gesuchten Weise deklariert).
FALSE
Die im Parameter VARIABLE-NAME bezeichnete Variable ist im angegebenen Geltungsbereich nicht deklariert (bzw. in der gesuchten Weise nicht deklariert).
Fehlermeldungen
SDP0010 TYP DES PARAMETERS '(&00)' FALSCH SDP1101 SYNTAX-FEHLER IM VARIABLEN-NAMEN
Beispiel
In Prozedur „Proz1“ wird die Variable „A“ deklariert und die Prozedur „Proz2“ aufgerufen:
/DECLARE-VARIABLE VARIABLE-NAME=A(TYPE=*INTEGER,INITIAL-VALUE=12),- /SCOPE=*PROCEDURE(IMPORT-ALLOWED=*YES) /CALL-PROCEDURE Proz2
In Prozedur „Proz2“ ist Folgendes geschrieben:
/B=IS-DECLARED(VARIABLE-NAME='A',SCOPE=*CALLING-PROCEDURES) /SHOW-VARIABLE VARIABLE-NAME=B
Ausgabe
B=TRUE