Lade...
 

CX_SPAN_DATE::MoveStartOfPeriod und MovePeriodToStartDate

CX_SPAN_DATE::MoveStartOfPeriod / MovePeriodToStartDate

Beschreibung:

Diese Funktion setzt ein neues 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 SetStartOfPeriod zu benutzen.
Im Gegensatz zu MoveRealStartOfPeriod wird die Datumsperiode nicht notwendigerweise  so verschoben, dass das neue Datum das ältere 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.
Es sollte der erste Name, MoveStartOfPeriod, verwendet werden. Der letzte, MovePeriodToStartDate wird nur noch aus Kompatibilitätsgründen unterstützt und ist obsolet.

Code-Beispiel:

In dem Beispiel-Programm wird eine Datumsperiode generiert und ihr Startdatum

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

Als Ergebnis enthält sdate die Datumsperiode "3.10.1990 - 12.10.1990"

Stack
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(MoveStartOfPeriod)