CX_SPAN_DATE::Duration
Beschreibung:
Diese Funktion liefert die Periodenlänge (Dauer) einer Datumsperiode.
Dies entspricht dem Datenfeld duration, das auch vom Typ
CX_VALUE ist.
Die Periodenlänge ist unabhängig vom eventuell gesetzten Netto-Typen.
Soll die Dauer speziell nach einem bestimmten Netto-Typ berechnet werden, so
ist die Funktion NetDuration zu verwenden. Soll die
Periodenlänge die absolute Länge unabhängig eines Netto-Typs enthalten, so
liefert GrossDuration das gewünschte Ergebnis.
Die Duration kann auch negativ sein. Soll die Länge in jedem Fall positiv sein
(im Sinne eines Intervalls, das durch die Datumsperiode überdeckt wird), so ist
die Funktion RealDuration zu verwenden.
Die Periodenlänge kann auch von einem Tagesdatum bestimmt
werden. Dies folgt dem Prinzip, ein Tagesdatum immer auch wie eine Datumsperiode behandeln zu können. Entsprechend liefert Duration für ein Tagesdatum immer einen Tag.
Code-Beispiel:
In dem Beispiel-Programm wird die Periodenlänge des Datumsperiode
"Vom 3.10.1990 bis zum 5.10.1990" bestimmt.
Var(date, sdate)
// deklariere Variable
CreateTransObject(CX_DATE) -> date
// erzeuge ein Tagesdatum
CreateTransObject(CX_SPAN_DATE) -> sdate // erzeuge eine Datumsperiode
"3.10.1990" sdate Put
// setze das Startdatum der Periode
"5.10.1990" date Put
// setze das Tagesdatum
date sdate Call(SetEndOfPeriod)
// setze das Enddatum der Periode
sdate Call(Duration)
// liefere Periodenlänge
Das Ausführen dieses Skriptes erzeugt den Wert "3 Tage".
Stack | Position | Objekttyp | Kurzbeschreibung |
---|---|---|---|
Stack(In) | Top | CX_SPAN_DATE | die Datumsperiode |
Stack(Out) | Top | CX_VALUE | die Periodenlänge |