Lade...
 

CX_SPAN_DATE::MoveEndOfPeriod und MovePeriodToEndDate

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
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)