Lade...
 

CX_SPAN_DATE::MoveRealEndOfPeriod

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