Lade...
 

CX_SPAN_DATE::IsNet

CX_SPAN_DATE::IsNet

Beschreibung:

Diese Funktion kann geprüft werden, ob der Netto-Typ

einer Datumsperiode dem übergebenden Netto-Typ entspricht. In dem Fall, dass IsNetto(ALL_TERMS) nicht gilt, gilt auch nicht

mehr

EndOfPeriod = StartOfPeriod + Duration -1

Vielmehr wird die Netto-Dauer dadurch ermittelt, dass die Tage zwischen Start und Ende, die zum jeweiligen Netto-Typ gehören, gezählt werden.

Für Datumsperioden, die a priori nur Brutto sein können (z.B. (halbseitig-)unbeschränkt)

liefert diese Funktion 0 (bzw. FALSE).

Code-Beispiel:

In dem Beispiel-Programm wird überprüft, ob setzen der Dauer die

Datumsperiode "Netto" bleibt.

Var(sdate)                                    // deklariere Variable
CreateTransObject(CX_SPAN_DATE) -> sdate      // erzeuge eine Datumsperiode

"3.10.1990" sdate Put                         // setze das Startdatum der Periode
9days WORKINGDAY sdate Call(SetNetDuration)   // setze Netto-Periodenlänge
5days sdate Call(SetDuration)                 // setze Periodenlänge unabhängig Netto-Typ
WORKINGDAY sdate Call(IsNet)                  // teste, ob Datumsperiode von diesem Netto-Typ ist

Das Ausführen dieses Skriptes erzeugt den Wert TRUE auf dem Stack, da das

Setzen der Dauer alleine den Netto-Typ nicht zurück setzt.

Stack
Stack Position Objekttyp Kurzbeschreibung
Stack(In) Top CX_DATE oder CX_SPAN_DATE das Datum(-sobjekt)
Top-1 INTEGER Konstante des Netto-Typs
Stack(Out) Top INTEGER das Ergebnis der Überprüfung
Funktionsaufruf: Call(IsNet)