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