Lade...
 

CX_SPAN_DATE::Duration

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