CX_SPAN_DATE::SetPeriodBorders
Beschreibung:
Diese Funktion setzt die Grenzen einer Datumsperiode. Im Gegensatz zu den
Funktionen SetStartOfPeriod, SetEndOfPeriod,
MoveStartOfPeriod und MoveEndOfPeriod
wird aber nicht nur eine, sondern beide Grenzen auf einmal festgelegt.
Liegt das designierte neue Startdatum hinter dem neuen Enddatum, wird die
Periodendauer negativ.
(Siehe auch: SetRealStartOfPeriod,SetRealEndOfPeriod.)
Durch Übergabe eines Null-Objektes
wird das jeweilige Grenzdatum gelöscht. Je Nachdem welches Grenzdatum
gewissermaßen gelöscht wird, erhält die Datumsperiode den entsprechenden Typ
(in validEnum).
Code-Beispiel:
1. In dem Beispiel-Programm wird die Datumsperiode "3.5.1996 -
5.5.1996" generiert.
Var(date1, date2, sdate)
// erzeuge die Daten
CreateTransObject(CX_SPAN_DATE) -> sdate
CreateTransObject(CX_DATE) -> date1
"3.5.1996" date1 Put
// das neue Startdatum
CreateTransObject(CX_DATE) -> date2
"5.5.1996" date2 Put
// das neue Enddatum
date1 date2 sdate Call(SetPeriodBorders)
2. Alternativ kann eine Datumsperiode auch mit Put gesetzt werden. Das
entsprechende Programm sieht folgendermaßen aus:
Var(sdate)
// erzeuge die Datumsperiode
CreateTransObject(CX_SPAN_DATE) -> sdate
"3.5.1996 - 5.5.1996" sdate Put
// setze das neue Startdatum
Stack | Position | Objekttyp | Kurzbeschreibung |
---|---|---|---|
Stack(In) | Top | CX_SPAN_DATE | das Datum(-sobjekt) |
Top-1 | CX_DATE oder Null | das neue Enddatum | |
Top-2 | CX_DATE oder Null | das neue Startdatum | |
Stack(Out) | Top | - | - |
Funktionsaufruf: Call(SetPeriodBorders)