Lade...
 

CX_SPAN_DATE::MoveRealStartOfPeriod

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