CX_SPAN_DATE::SetGrossDuration
Beschreibung:
Diese Funktion setzt gleichzeitig die Periodenlänge und den Netto-Typ
auf Brutto (ALL_TERMS) für eine Datumsperiode. Wie bei SetDuration kann diese auch einen negativen Wert, wie z.B. "-3 Tage", annehmen.
Bei Übergabe einer Zeiteinheit gröber als "Tage", wird die
Datumsperiode diffus.
Durch Funktionen, wie z.B. SetEndOfPeriod, wird die
Duration auch indirekt gesetzt. Auch in diesem Fall wird der Netto-Typ auf Brutto (ALL_TERM)
zurückgesetzt.
Code-Beispiel:
In dem Beispiel-Programm
zunächst die Bruttolänge berechnet und dann in der Datumsperiode gespeichert
Var(sdate)
// deklariere Variable
CreateTransObject(CX_SPAN_DATE) -> sdate // erzeuge eine Datumsperiode
"1.10.1990" sdate Put
// setze das Startdatum der Periode
9days WORKINGDAY sdate Call(SetNetDuration) // setze die Länge auf
(Netto) 10 Arbeitstage
sdate Call(GrossDuration)
// ermittle die Bruttolänge
sdate Call(SetGrossDuration)
// speichere die Bruttolänge
sdate Call(Duration)
// liefert Dauer, ungeachtet dem Netto-Typ
Der Rückgabewert ist "12 Tage". (12 Brutto-Tage in "1.10.1990 -
12.10.1990" (Nur bis 12.10.1990, da beide Grenzen inklusive gelten und am 12.10.1990 bereits 9 Tage erreicht waren.))
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(SetGrossDuration)