CX_DATE::SpecialNameOfDay
Beschreibung:
Diese Funktion gibt einen bestimmten (Feiertags-) Namen des Tages eines Datums in der eingestellten Landessprache
zurück. Diese Funktion ist dann notwendig, wenn ein Datum zu mehreren Datumstypen
gehört und folglich auch mehrere Namen besitzt.
In diesem Fall liefert die
Funktion NameOfDay einen unbestimmten Namen, d.h. es wird der zurückgeliefert,
der zuerst gefunden wird. Diese Funktion erlaubt dagegen den kontrollierten Zugriff auf einen bestimmten Namen.
Ein Beispiel hierfür kann z.B. der "25.12" eines Jahres sein. Dieser Tag ist sowohl ein Feiertag
("1. Weihnachtstag"), als auch meistens ein Ferientag, da die Weihnachtsferien üblicherweise vor
Weihnachten beginnen und nach Silvester enden. In diesem Fall handelt es sich bei diesem Tag sowohl um einen
Feier-, als auch einen Ferientag, so dass er zwei Bezeichnungen hat.
Um nun beide Bezeichnungen abfragen zu können,
wird der Funktion der gewünschte Datumstyp als Zahl codiert oder als Konstante übergeben. Die Werte sind
Der Rückgabewert ist allerdings nur korrekt, wenn die Einträge in den Locales
richtig sind. Wurden, z.B. für ein zukünftiges Datum, noch keine Ferientage erfasst, so wird folglich der betroffene Tag wie ein normaler Arbeitstag
behandelt.
Wird statt der Datumstyp-Konstanten eine Kombination von diesen übergeben, wird
ebenfalls (irgend) einer dieser Typen in den Locales für das Datum gesucht und
zurückgegeben.
Im unteren Fall würde der Wert 12 (VACATION+HOLIDAY) ebenfalls die Ferien
Code-Beispiel:
Um den Feiertagsnamen des "25.12.1996" zu bekommen, wird die Funktion folgendermaßen aufgerufen:
Var(date) CreateTransObject(CX_DATE) -> date // erzeuge Objekt
"25.12.1996" date
Put
// setze den Wert des Datums
VACATION date Call(SpecialNameOfDay)
// ermittle den Namen für den Ferientyp
HOLIDAY date Call(SpecialNameOfDay)
// ermittle den Namen des Feiertagtyps
Als Resultat erhält man die Strings "Weihnachts-Ferien" und "1. Weihnachtstag".
Stack | Position | Objekttyp | Kurzbeschreibung |
---|---|---|---|
Stack(In) | Top | CX_DATE oder CX_SPAN_DATE | das Datum(-sobjekt) |
Top-1 | INTEGER | der Datumstyp | |
Stack(Out) | Top | STRING | der Name des Tages |