CX_SPAN_DATE::MoveRealEndOfPeriod
Beschreibung:
Diese Funktion setzt ein neues "echtes" Enddatum für die Datumsperiode,
wobei die Periodenlänge beibehalten wird. Dies bedeutet, dass sich das
Startdatum
mitverändert! Wird z.B. das Enddatum der Periode "7.5.1996 -
10.5.1996" auf den "12.5.1996" gesetzt, so wird die Datumsperiode
"9.5.1996 - 12.5.1996" erzeugt. Soll der Periodenstart nicht verändert
werden, so ist die Funktion SetRealEndOfPeriod zu
benutzen.
Anders als bei MoveEndOfPeriod wird immer das jüngere
Grenzdatum gesetzt.
Durch Übergabe eines Null-Objektes
wird das jüngere Grenzdatum gelöscht. Die Datumsperiode wird damit
halbseitig ungeschränkt (Typ FROM im validEnum)
oder unendlich. (Typ ENDLESS, falls bereits das RealStartOfPeriod
NULL ist.)
Code-Beispiele:
In dem Beispiel-Programm wird eine Datumsperiode generiert und ihr
"echtes" Enddatum 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(MoveRealEndOfPeriod)
Als Ergebnis enthält sdate die Datumsperiode "3.10.1990 - 24.9.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(MoveRealEndOfPeriod)