Lade...
 

CX_SPAN_DATE::RealDuration

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
Stack Position Objekttyp Kurzbeschreibung
Stack(In) Top CX_SPAN_DATE die Datumsperiode
Stack(Out) Top CX_VALUE die Periodenlänge
Funktionsaufruf: Call(RealDuration)