CX_SPAN_DATE::MoveRealStartOfPeriod
Beschreibung:
Diese Funktion setzt ein neues "echtes" Startdatum für die Datumsperiode,
wobei die Periodenlänge beibehalten wird. Dies bedeutet, dass sich das Enddatum
mitverändert! Wird z.B. das Startdatum der Periode "7.5.1996 -
10.5.1996" auf den "3.5.1996" gesetzt, so wird die Datumsperiode
"3.5.1996 - 6.5.1996" erzeugt. Soll das Periodenende nicht verändert
werden, so ist die Funktion SetRealStartOfPeriod zu
benutzen.
Anders als bei MoveStartOfPeriod wird immer das jüngere
Grenzdatum gesetzt.
Durch Übergabe eines Null-Objektes wird das ältere
Grenzdatum gelöscht. Die Datumsperiode wird damit halbseitig ungeschränkt (Typ
TO im validEnum) oder unendlich (Typ ENDLESS,
falls bereits das RealEndOfPeriod NULL ist) .
Code-Beispiele:
In dem Beispiel-Programm wird eine Datumsperiode generiert und ihr
"echtes" Startdatum auf den "3.10.1990" verschoben.
Var(date, sdate)
// erzeuge die Daten
CreateTransObject(CX_SPAN_DATE) -> sdate
CreateTransObject(CX_DATE) -> date
"10.10.1990 - 1.10.1990" sdate Put
// setze Datumsperiode
"3.10.1990" date Put
// setze das neue Startdatum
date sdate Call(MoveRealStartOfPeriod)
Als Ergebnis enthält sdate die Datumsperiode "12.10.1990 -
3.10.1990". Die Periodenlänge bleibt also negativ.
Stack | Position | Objekttyp | Kurzbeschreibung |
---|---|---|---|
Stack(In) | Top | CX_SPAN_DATE | das Datum(-sobjekt) |
Top-1 | CX_DATE oder Null | das neue Startdatum | |
Stack(Out) | Top | - | - |
Funktionsaufruf: Call(MoveRealStartOfPeriod)