DataItem socSecNum INT {
displayName = "Social Security Number"}
end
In dieser Dokumentation wird der Begriff 'Eigenschaften' breitgefasst für alle vorstehenden Varianten verwendet.
Sie können alle diese Eigenschaften in einem SET-Werteblock setzen. Eine ausführlichere Beschreibung hierzu finden Sie unter SET-Werteblöcke. Weitere Informationen zu den Eigenschaften und Werten, die für einen bestimmten Abschnitt oder eine bestimmte Anweisung verfügbar sind, finden Sie in den einschlägigen Themen zu den Eigenschaften dieser Abschnitte und Anweisungen.
Ist ein Abschnitt stereotypisiert, sind zusätzliche Eigenschaften verfügbar (siehe Stereotype), und zwar möglicherweise nicht nur für den Abschnitt selbst, sondern auch für die enthaltenen Felder. Weitere Informationen finden Sie in den Themen zu den speziellen Datenzugriffs- und Benutzerschnittstellentechnologien, für die der Stereotyp den betreffenden Abschnitt anpasst.
DataItem IDNumber CHAR(9)
{
minimumInput = 9, // erfordert 9 Eingabezeichen
isDecimalDigit = yes, // erfordert Ziffern
column = "SSN" // bezieht sich auf eine Spalte
}
end
Die folgende Anweisung deklariert ein Benutzerschnittstellenfeld des Typs
IDNumber, wobei nicht erforderlich ist, dass der Benutzer Ziffern eingibt: myID IDNumber { isDecimalDigit = no };
In diesem Beispiel hat die Überschreibung keine Auswirkung auf die Eigenschaften 'minimumInput' und 'column'.
Record TestRecord
y int {color = red};
end
Wenn Sie eine Variable auf der Basis dieser Definition deklarieren, können Sie den Wert der Eigenschaft
color (Farbe) überschreiben:myRec TestRecord {y{color = black}};
Auf einfache und komplexe Eigenschaften kann zur Ausführungszeit nicht zugegriffen werden. (Möglicherweise können Sie auf implizite Felder zugreifen.) Wenn Sie beispielsweise Variablen erstellen, die für relationale Datenbanksätze stereotypisiert sind, kann die von Ihnen geschriebene Logik keine Namen abrufen oder ändern, die der Eigenschaft 'tableNames' zugeordnet sind, mit der die Datenbanktabellen angegeben werden, auf die der Datensatz zugreift. Selbst wenn Sie einen Eigenschaftswert in einer Variablendeklaration überschreiben, kann Ihre Programmlogik den Wert, den Sie zur Entwicklungszeit angeben, nicht ändern.
Der fehlende Zugriff auf solche Eigenschaftswerte zur Ausführungszeit bedeutet, dass bei der Zuordnung des Inhalts einer Variablen oder bei der Verwendung der Variablen als Parameter der entsprechende Eigenschaftswert nicht zusammen mit dem Inhalt übertragen wird. Ebenso gilt: Wenn Sie einen Datensatz an eine EGL-Funktion übergeben, empfängt der Parameter zwar den Feldinhalt, behält jedoch die Eigenschaften bei, die zur Entwicklungszeit zugeordnet wurden. Mit anderen Worten: Die Funktion kann keine Überschreibungen erkennen, die das Programm an Datensatzeigenschaften vorgenommen hat.
myService ExampleService {
@xml {
name="HelloWorld",
namespace="http://my.website/services"} }
...
end
Zur Ausführungszeit kann weder auf die komplexe Eigenschaft selber noch auf ihre Eigenschaftsfelder zugegriffen werden.
myVar1 INT {color = red} = 5;
myVar2 INT {color = blue} = 2;
myVar1 = myVar2;
Nach der Zuordnung hat myVar1 den Wert 2 und rot als Farbe.
Dasselbe wird erreicht, wenn Sie eine Variable als Argument an eine Funktion übergeben. Die Funktion empfängt den Wert der Variablen, aber keine ihrer Eigenschaften.
myDictionary1 Dictionary { caseSensitive=NO };
myDictionary2 Dictionary { caseSensitive=YES };
myDictionary1 = myDictionary2;
Nach der Zuordnung zeigt myDictionary1 auf denselben Wörterverzeichnisabschnitt (Dictionary) wie myDictionary2, sodass bei myDictionary1 nun die Groß-/Kleinschreibung beachtet werden muss.