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
mehrEndOfPeriod = 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 | 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 |