Lade...
 

CX_SPAN_DATE::SetNetDuration

CX_SPAN_DATE::SetNetDuration

Beschreibung:

Diese Funktion setzt gleichzeitig die Periodenlänge und den Netto-Typ

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 dieser Betrag nur für Brutto (Netto-Typ, ALL_TERMS) beibehalten. Ansonsten wird immer in Tagen umgerechnet. Eine Netto-Periodenlänge kann also nicht  Datumsperiode sein.
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 werden aus einer Brutto-definierten Datumsperiode

zunächst die Arbeitstage gewonnen und diese dann in der Datumsperiode gespeichert 

Var(sdate)                                   // erzeuge die Datumsperiode
CreateTransObject(CX_SPAN_DATE) -> sdate  

"2.10.1990 - 15.10.1990" sdate Put           // setze sie Brutto
WORKINGDAY sdate Call(NetDuration)           // ermittle Arbeitstage in der Datumsperiode (diese bleibt noch unverändert)
WORKINGDAY sdate Call(SetNetDuration)        // setze Netto(Arbeitstage) 
sdate Call(Duration)                         // liefert auch Netto-Dauer, nämlich die gespeicherte

Der Rückgabewert ist "9 Tage". (9 Arbeitstage in "2.10.1990 -

15.10.1990")

Stack
Stack Position Objekttyp Kurzbeschreibung
Stack(In) Top CX_SPAN_DATE das Datum(-sobjekt)
Top-1 INTEGER Konstante des Netto-Typs
  Top-2 CX_VALUE die neue Periodenlänge
Stack(Out) Top - -

Funktionsaufruf: Call(SetNetDuration)