Variablen und Konstanten deklarieren
Variablen und Konstanten reservieren Speicher in einem EGL-Programm. Konstante Werte können zur Ausführungszeit nicht geändert werden.
Sie müssen alle EGL-Variablen explizit deklarieren. In bestimmten anderen Sprachen können Variablen ohne Deklaration verwendet werden, nicht jedoch in EGL.
Syntax

- Variablenname
- Der Name der Variablen, für die Sie Speicher reservieren.
- Typ
- Entweder ein Basiselementtyp (primitiver Typ) oder ein benutzerdefinierter Abschnitt, auf dem die Variable basiert.
- Eigenschaft
- Optionale Eigenschaft/Wert-Paare für die Variablen.
- Initialisierungsoperator
- Sie können einen Anfangswert für die Variable angeben.
Variablen
- Sie können eine Variable auf der Basis eines der EGL-Basiselementtypen deklarieren (siehe 'Basiselementtypen), wie im folgenden Beispiel:
customerBalance DECIMAL(9,2); - Sie können eine Variable auf der Basis eines Datenelementabschnitts (DataItem) oder Datensatzabschnitts (Record) deklarieren, wie im folgenden
Beispiel:
myCustomer CustomerRecord; - Sie können eine Variable auf der Basis eines der vordeklarierten Abschnitte deklarieren, wie im folgenden Beispiel eines Wörterverzeichnisses
(Dictionary):
myDictionary Dictionary { empnum=0005, lastName="Twain", firstName="Mark", birthday="021460" }; - Sie können Eigenschaften (Informationen zu einem Abschnitt oder einer Variablen) angeben, wenn Sie eine Variable auf der Basis eines Abschnitts deklarieren. In bestimmten Fällen werden Eigenschaften, die Sie beim Definieren des Abschnitts selbst deklariert haben, durch diese Eigenschaften überschrieben. Weitere Informationen hierzu finden Sie in Eigenschaften.
- Sie können einen Datensatz deklarieren, der den Speicherbereich neu definiert, der von einem anderen Datensatz deklariert wurde. Weitere Informationen finden Sie unter redefines.
- Ein Programm oder ein anderer Hauptabschnitt kann auf die Felder einer Datentabelle zugreifen, die als eine Variable behandelt wird, die entweder für das Programm oder die Ausführungseinheit global ist. Sie können eine einfachere Syntax für den Zugriff auf diese Felder verwenden, wenn die Datentabelle in einer Anweisung 'use' aufgeführt wird. Siehe use.
- Ein Programm kann auf die Felder eines Text- oder Druckformulars zugreifen. Das Programm behandelt das Formular als eine Variable, die für das Programm global ist. Das Programm muss die zugehörige Formulargruppe (formGroup) in einer Anweisung 'use' einschließen. Siehe use.
- Ein Programm oder ein anderer Hauptlogikabschnitt kann auf die Bibliotheksvariablen zugreifen, die außerhalb einer Bibliotheksfunktion deklariert sind. Diese Variablen sind für die Ausführungseinheit global. Sie können eine einfachere Syntax für den Zugriff auf diese Felder verwenden, wenn die Bibliothek in einer Anweisung 'use' aufgeführt wird. Siehe use.
Typerweiterungszeichen
Das Konzept eines Typs beschreibt, wie eine bestimmte Variable oder ein bestimmter Ausdruck einen Wert darstellt. Anhand von Typen wird auch die Kompatibilität bestimmt. So können Sie beispielsweise die Zeichendarstellung einer Zahl zu einer Zeichenfolge hinzufügen und Sie können eine Zahl zur ganzzahligen Codepunktdarstellung eines Zeichens hinzufügen. Andererseits ist es nicht möglich, eine Zahl zu einem Zeichen hinzuzufügen.
EGL verfügt über Basiselementdatentypen wie beispielsweise INT und CHAR, die einfach zu handhaben sind. Darüber hinaus verfügt die Sprache über komplexere Abschnitte, die auch als Typen fungieren. So können Sie beispielsweise einen Handlerabschnitt vom Typ 'JSFHandler' (auch als JSF-Handler bezeichnet) verwenden. Zusätzlich verwendet EGL einige Sonderzeichen als Typerweiterungen beim Definieren von Variablen, wie in der folgenden Tabelle beschrieben wird:
| Zeichen | Beispiel | Bedeutung |
|---|---|---|
| anInt INT; | Einzelinstanz dieses Typs. Wenn es sich um eine Wertetypvariable (nicht um eine Verweisvariable) handelt, ist dies ein benannter Speicherbereich mit den Daten. | |
| [] | anIntArray INT[]; | Eine Feldgruppe dieses Typs; siehe Feldgruppen. |
| ? | aNullableInt INT?; | Eine Variable, die einen Nullwert enthalten kann; siehe Nullwerte und der Typ 'nullable' (nullfähig). |
Werte zu Variablen zuordnen
customerBalance DECIMAL(9,2) = 1001.22;
Nachdem Sie eine Variable deklariert haben, können Sie ihr jederzeit anhand der regulären Zuordnungssyntax einen neuen Wert zuordnen. Weitere Informationen zu diesem Thema finden Sie unter Zuordnungen. Informationen zur Verwendung von Literalen in Zuordnungen finden Sie unter Literale.
Konstanten
const copyrStr String = "Copyright 2007 by CompanyB";
const myArray BIN[] = [36, 49, 64];
const myArray02 BIN[][] = [[1,2,3],[5,6,7]];
Sie können keine Konstante in einen Datensatz oder eine andere komplexe Struktur einschließen.
Sie können das reservierte Wort 'const' als Änderungswert in Funktionsparametern einschließen. Weitere Informationen finden Sie unter Parameteränderungswerte.
const myString01, myString02 STRING = "INITIAL";
myVar01, myVar02, myVar03 CHAR(5);
myRecord01, myRecord02 ExampleRecord;