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.

customerBalance DECIMAL(9,2);
myCustomer CustomerRecord;
myDictionary Dictionary
{
empnum=0005,
lastName="Twain",
firstName="Mark",
birthday="021460"
};
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). |
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.
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;