Lade...
 

CX_PERIODIC_DATE::IsCompact

CX_PERIODIC_DATE::IsCompact

Beschreibung:

Diese Funktion prüft, ob ein periodisches Datum eine Datumsperiode

beschreibt. Ist dieses der Fall, so existiert kein Datum, welches nicht zu dem periodischen Datum gehört. Dieses Verhalten wird in der Folge als kompakt bezeichnet. Für ein periodisches Datum, welches ein Startdatum besitzt, ist dieses nur für Daten der Fall, die dem ersten Datum, das in das periodische Datum fällt, entsprechen bzw. nach ihm folgen. Das Ergebnis der Prüfung wird

als Wahrheitswert zurückgegeben. 

Im folgenden werden einige periodische Daten aufgeführt, die kompakt sind: 

  1. "An jedem Wochentag"
  2. "An jedem Monatsersten und die nächsten 30 Tage"
  3. "An dem 300.ten Tag im Jahr und die nächsten 365 Tage"

Im Normalfall wird ein periodisches Datum nicht kompakt sein, da man  ansonsten natürlich gleich mit einer Datumsperiode arbeiten könnte. 
Folgende Beispiele für ein periodisches Datum sind nicht kompakt: 

  1. "Montags"   
  2. "An jedem Monatsersten"   
  3. "Am letzten Sonntag im Oktober" 
Code-Beispiel:

In dem Beispiel wird geprüft, ob das periodische Datum "jeder 15.te" kompakt ist. 


Var(pdate)   CreateTransObject(CX_PERIODIC_DATE) -> pdate
1 15 1 pdate Call(NthDayFromKthMonth)
pdate Call(IsCompact)


Das Ausführen dieses Skriptes erzeugt den Wert "0" (= FALSE), da das periodische Datum nicht kompakt ist. 

Stack
Stack Position Objekttyp Kurzbeschreibung
Stack(In) Top CX_PERIODIC_DATE das periodische Datum(-sobjekt)
Stack(Out) Top INTEGER das Ergebnis der Prüfung

Funktionsaufruf: Call(IsCompact)