Lade...
 

CX_SPAN_DATE::SetDuration

CX_SPAN_DATE::SetDuration

Beschreibung:

Diese Funktion setzt eine neue Periodenlänge für die Datumsperiode. Dabei kann diese auch einen negativen Wert, wie z.B. "-3 Tage", annehmen.

Ebenso kann der übergebene Wert jede beliebige Zeiteinheit größer "Tage" sein. Im letzteren Fall spricht man dann von einem diffusen Datum. Diese Angaben werden übernommen und auch bleibt auch nach Möglichkeit bei Manipulationen erhalten. Erst bestimme Funktionen, wie z.B. AddDay, zwingen unter Umständen die Umrechnung auf Tage. Bei dieser wird dann das Startdatum herangezogen. (Wichtig, z.B. bei der Umrechnung von Monaten auf Tage (des Monats).)
Ein eventuell zuvor vorhandener Netto-Typ wird grundsätzlich beibehalten. Die übergebende Periodenlänge wird also immer die neue Brutto-Dauer.
Soll der Netto-Typ gleichzeitig mit der dazugehörigen (Netto-)Duration gesetzt werden, so ist SetNetDuration zu verwenden.
Durch Funktionen, wie z.B. SetEndOfPeriod, wird die Duration auch indirekt gesetzt. In diesem Fall wird der Netto-Typ jedoch grundsätzlich zurückgenommen, d.h. auf Brutto (ALL_TERM) gesetzt.

Code-Beispiel:

In dem Beispiel-Programm wird eine Datumsperiode generiert (Start heute) und ihre Periodenlänge auf "3 Tage" gesetzt. 

Var(val, sdate)                     // erzeuge die Datumsperiode und die Periodenlänge
CreateTransObject(CX_VALUE) -> val
CreateTransObject(CX_SPAN_DATE) -> sdate
"3 TG" val Put
val sdate Call(SetDuration)        // setze

die neue Periodenlänge

Stack
Stack Position Objekttyp Kurzbeschreibung
Stack(In) Top CX_SPAN_DATE das Datum(-sobjekt)
Top-1 CX_VALUE die neue Periodenlänge
Stack(Out) Top - -

Funktionsaufruf: Call(SetDuration)