Anfang des Inhaltsbereichs

Konstanten Dokument im Navigationsbaum lokalisieren

Konstanten sind benannte Datenobjekte, die statisch mit einer deklarativen Anweisung erzeugt werden. Konstanten dienen dazu, nichtänderbare Daten unter einem bestimmten Namen im Arbeitsspeicher eines Programms zu halten. Der Wert einer Konstanten kann zur Laufzeit des Programms nicht mehr geändert werden. Beim Versuch eine Konstante zu ändern kommt es zu einem Syntax- oder Laufzeitfehler.

Konstanten werden mit der Anweisung CONSTANTS deklariert. Innerhalb eines Programms können in Prozeduren mit CONSTANTS nochmals lokale Konstanten definiert werden. Für die Sichtbarkeit von Konstanten gilt hierbei Sinngemäß das gleiche, wie für die Sichtbarkeit von Datentypen unter Der TYPE-Zusatz. Lokale Konstanten in Prozeduren verschatten gleichnamige Variablen im Rahmenprogramm. Konstanten leben solange wir ihr Kontext.

Die Syntax der Anweisung CONSTANTS entspricht vollständig der Syntax der Anweisung DATA mit folgenden Ausnahmen:

Beispiel

Elementare Konstanten:

CONSTANTS: pi TYPE P DECIMALS 10 VALUE '3.1415926536'.

           ref_c1 TYPE REF TO C1 VALUE IS INITIAL.

Die letzte Zeile verdeutlicht den Sinn des Arguments IS INITIAL beim VALUE-Zusatz. Da der VALUE-Zusatz in der CONSTANTS-Anweisung zwingend erforderlich ist, kann nur mit IS INITIAL einer Konstanten explizit ihr typspezifischer Initialwert zugewiesen werden.

Komplexe Konstanten:

CONSTANTS: BEGIN OF myaddress,
           name(20)    TYPE c  VALUE 'Fred Flintstone',
           street(20)  TYPE c  VALUE 'Cave Avenue',
           number      TYPE p  VALUE  11,
           postcode(5) TYPE n  VALUE  98765,
           city(20)    TYPE c  VALUE  'Bedrock',
           END OF myaddress.

Dies ist die Deklaration einer konstanten Struktur MYADDRESS. Die Komponenten können mit MYADDRESS-NAME, MYADDRESS-STREET usw. angesprochen, jedoch nicht mehr geändert werden.

Ende des Inhaltsbereichs