CX_SPAN_DATE::RealDuration
Beschreibung:
Diese Funktion liefert die Periodenlänge einer Datumsperiode konvertiert in
eine positive Zahl. Ist die Periodenlänge schon positiv wird diese zurückgegeben. Ist sie nicht positiv, wird der Wert
2 Tage - Periodenlänge
zurückgegeben (nicht etwa der Absolutbetrag). Diese Berechnung ergibt sich
aus der Interpretation einer Datumsperiode als Vorgang: Ein Vorgang, der, z.B., heute beginnt und 0 Tage dauern darf, müsste gestern schon fertig sein. Zwischen den "realen" Grenzen gestern und heute liegt ein "reales" Intervall (gestern bis einschließlich heute) der Länge "2 Tage".
Wie bei der Funktion Duration wird das Datenfeld
duration als Grundlage verwendet, ungeachtet eines eventuell gesetzten Netto-Typs.
Code-Beispiel:
In dem Beispiel-Programm wird die "reale" Periodenlänge des Datumsperiode
"Vom 5.10.1990 bis zum 3.10.1990" bestimmt.
Var(date, sdate)
// deklariere Variable
CreateTransObject(CX_SPAN_DATE) -> sdate // erzeuge eine Datumsperiode
"5.10.1990 - 3.10.1990" sdate Put // setze
die Datumsperiode
sdate Call(Duration)
// liefere die relative Periodenlänge
sdate Call(RealDuration)
// liefere "echte" Periodenlänge
Das Ausführen dieses Skriptes erzeugt die Werte "-1 Tage" und
"3 Tage" auf dem S2tack.
Stack | Position | Objekttyp | Kurzbeschreibung |
---|---|---|---|
Stack(In) | Top | CX_SPAN_DATE | die Datumsperiode |
Stack(Out) | Top | CX_VALUE | die Periodenlänge |