CX_SPAN_DATE::MoveEndOfPeriod / MovePeriodToEndDate
Beschreibung:
Diese Funktion setzt ein neues Enddatum für die Datumsperiode, wobei die
Periodenlänge beibehalten wird.
Diese bedeutet, dass sich das Startdatum mit ä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 SetEndOfPeriod zu benutzen.
Im Gegensatz zu MoveRealEndOfPeriod wird die
Datumsperiode nicht notwendigerweise so verschoben, dass das neue Datum das jüngere Grenzdatum
wird, denn auch eine nicht positive Periodenlänge bleibt erhalten. Durch Übergabe eines Null-Objektes wird der Start,
wie bei SetStartOfPeriod, gelöscht und die
Datumsperiode damit unendlich. Durch Übergabe eines Null-Objektes wird
das Ende,
wie bei SetEndOfPeriod, gelöscht und die
Datumsperiode damit (halbseitig) unbeschränkt.
Es sollte der erste Name, MoveEndOfPeriod, verwendet werden. Der letzte,
MovePeriodToEndDate wird nur noch aus Kompatibilitätsgründen unterstützt
und ist obsolet.
Code-Beispiel:
In dem Beispiel-Programm wird eine Datumsperiode generiert und ihr Enddatum
auf den "3.10.1990" gesetzt.
Var(date, sdate)
// erzeuge die Daten
CreateTransObject(CX_SPAN_DATE) -> sdate
CreateTransObject(CX_DATE) -> date
"3.10.1990" date Put
// setze das neue Startdatum
10days sdate Call(SetDuration)
//setzen der Dauer
date sdate Call(MoveEndOfPeriod)
Als Ergebnis enthält sdate die Datumsperiode "24.9.1990 - 3.10.1990"
Stack | Position | Objekttyp | Kurzbeschreibung |
---|---|---|---|
Stack(In) | Top | CX_SPAN_DATE | das Datum(-sobjekt) |
Top-1 | CX_DATE oder Null | das neue Enddatum | |
Stack(Out) | Top | - | - |
Funktionsaufruf: Call(MoveEndOfPeriod)