Lade...
 

CX_DATE::SpecialNameOfDay

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 Datumstyp-Tabelle zu entnehmen.

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

(8=VACATION) zurückgeben.

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
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
Funktionsaufruf: Call(SpecialNameOfDay)