Eigenschaften definieren bestimmte Optionen für Abschnitte. Die Eigenschaften werden im Allgemeinen bei der Erstellung des Abschnitts angegeben und sind dann statisch. Unter bestimmten Umständen kann eine Eigenschaft jedoch dynamisch geändert werden.
Die verfügbaren Eigenschaften sind bei jedem Abschnitt und bei jedem Stereotyp unterschiedlich. Prüfen Sie daher bei der Erstellung eines Abschnitts, welche Eigenschaften geeignet sind. Einige Abschnitte besitzen erforderliche Eigenschaften. Die meisten Eigenschaften sind jedoch optional.
DataItem cost money(10,2)
{Currency = yes,
CurrencySymbol = "$"}
end
Der Codeblock, der mit der linken geschweiften Klammer beginnt und mit der rechten geschweiften Klammer endet (also die Liste der Eigenschaften und ihrer Werte) wird als Wertfestlegungsblock bezeichnet.Eigenschaften sind nur in bestimmten Situationen zweckmäßig. Beispielsweise können Datenelementabschnitte Eigenschaften enthalten, die nur für bestimmte Typen von Benutzerschnittstellen gelten. Sie können die Eigenschaften currency und currencySymbol aus dem obigen Beispiel zu jedem beliebigen Datenelement zuordnen, um anzugeben, dass das Datenelement einen Währungswert darstellt, und um das Währungssymbol zu definieren, das beim Anzeigen des Wertes verwendet werden soll. Im Abschnitt 'currencySymbol' der EGL-Sprachreferenz ist erläutert, dass diese Eigenschaft bei Verwendung auf einer Webseite wirksam ist, aber auf eine Anwendung für eine Konsolenbenutzerschnittstelle keinen Einfluss hat.
Sie müssen für jede Eigentschaft einen gültigen Wert angeben. Einige Eigenschaften akzeptieren Zeichenfolgeliterale, andere den Wert 'yes' oder 'no', manche Eigenschaften akzeptieren Werte aus einer Liste von Optionen (so genannte Aufzählungen) und wieder andere akzeptieren Feldgruppenliterale. In den meisten Fällen kann eine Variable oder Konstante nicht als Wert einer Eigenschaft verwendet werden. Anders ausgedrückt können Sie keine boolesche Variable oder eine auf 'yes' bzw. 'no' gesetzte Zeichenfolgevariable als Wert der Eigenschaft currency verwenden, sondern müssen stattdessen ein Literal angeben, also einen Wert 'yes' oder 'no' ohne Anführungszeichen.
handler myPage type JSFHandler
{onPreRenderFunction = refreshFunction}
function refreshFunction()
end
end
In diesem Beispiel ist für onPreRenderFunction der Name
der Funktion refreshFunction angegeben.
Der Handler muss eine Funktion dieses Namens enthalten, da EGL andernfalls einen Gültigkeitsfehler ausgibt.Einige Eigenschaften werden zur Kompatibilität mit Vorgängerversionen oder migriertem Code bereitgestellt und für neue EGL-Anwendungen nicht benötigt. Die EGL-Sprachreferenz enthält Themen zu den einzelnen Abschnitten und deren Eigenschaften. Dort können Sie ermitteln, welche Eigenschaften für neuen Code bereitgestellt werden und welche Eigenschaften der Kompatibilität dienen.
DataItem myRedVar int {color = red} end
Record myRedRecord type BasicRecord
myField myRedVar;
end
In diesem Fall verhält sich das Feld myField so, als ob Sie die
Eigenschaft color für das Feld angegeben hätten.myRedInt int {color = red};
myBlueInt int {color = blue};
myBlueInt = myRedInt;
In diesem Fall ist für myBlueInt die Eigenschaft
color weiterhin mit blue definiert.Eine Ausnahme für die Übertragung von Eigenschaften besteht bei Verweisvariablen. Weitere Informationen finden Sie in der EGL-Sprachreferenz im Abschnitt über Eigenschaften.
DataItem myRedVar int {color = red} end
Record myBlueRecord type BasicRecord
myField myRedVar {color = blue};
end
In diesem Fall überschreibt das Feld myField den Wert
red durch den Wert blue.myBlueVar int {color = red, color = blue};
In diesem Fall
wird die Eigenschaft color der Variablen auf den Wert
blue gesetzt, weil die zweite Definition die erste überschreibt.