Lade...
 

CX_PERIODIC_SPAN_TIME - Periodische Zeitspanne

CX_PERIODIC_SPAN_TIME

Klassenhierarchie
Beschreibung:

Mit dieser Klasse wird eine Menge von Zeitpunkten, die sich in einer bestimmten Zeitspanne befinden und in genau gleichen Abständen aufeinander folgen, abgebildet.

Es ist in jedem Fall eine Startzeit erforderlich. Falls kein Ende der Zeitspanne angegeben ist, wird dieses automatisch auf 24:00/0:00 festgelegt. Zeitspannen ohne Start, sowie ohne Start und Ende führen zu einer Fehlermeldung.

Beispiel:

Die periodische Zeitspanne "von 10.00 bis 11.00 Uhr alle 20 Minuten" beinhaltet die Zeitspanne "von 10.00 bis 11.00 Uhr", die in der folgenden Grafik visualisiert ist.

Zusätzlich hält sie noch den Abstand "20 Minuten", der bestimmte Zeitpunkte innerhalb der Zeitspanne beschreibt. Es werden durch diese Zeitangabe die Zeitpunkte "10.00, 10.20, 10.40 und 11.00 Uhr", wie aus der folgenden Abbildung ersichtlich, beschrieben.

Code-Beispiel:

Folgendes Beispiel erstellt eine Collection, die Zeitpunkte im Intervall "1 h" (jede Stunde) innerhalb der Zeitspanne "10.00 - 12.00" beinhaltet.

Zur weiteren Verarbeitung kann ein CX_TIMED_TRIGGER verwendet werden.

 

Var(sdate, ptime, value, term, trigger)
CreateTransObject(CX_SPAN_DATE) -> sdate
"24.5.1996-30.5.1996" sdate Put
CreateTransObject(CX_PERIODIC_SPAN_TIME) -> ptime
"10.00 - 12.00" ptime Put
CreateTransObject(CX_VALUE) -> value
"1 h" value Put
value ptime Call(SetFrequency)


CreateTransObject(CX_DATETIME) -> term
sdate term SetReference(date)
ptime term SetReference(time)
1 term Put (time.validEnum)
CreateTransObject(CX_TIMED_TRIGGER) -> trigger
term trigger Call(SetActionTerm)

trigger Call(TimeToNextEvent)

Darstellung am Bildschirm

Da diese Klasse von CX_SPAN_TIME abgeleitet ist, können die dort beschriebenen Möglichkeiten zur Ein-/Ausgabe des Zeitraums benutzt werden. Des weiteren muss noch die Frequenz, d.h. der Abstand zwischen den einzelnen Zeitpunkten, festgelegt werden. Da dieses Feld vom Typ CX_VALUE ist, kann die Ein-/Ausgabe in der dort gezeigten Weise erfolgen.

Im Zusammenhang mit diesen Darstellungsmöglichkeiten und bestimmten InstantView®- Anweisungen spielen die zum Objekt gehörigen Flags eine wichtige Rolle, da mit Ihnen die Darstellung des Objektes modifiziert werden kann.

Operatoren

Die folgenden Operatoren stehen für ein Objekt dieser Klasse zur Verfügung:

Operator Kurzbeschreibung
+, - Arithmetik
>, <, = Vergleiche

 

Methodenverzeichnis (MDI)
Funktion MA* Parameter Rückgabe Kurzbeschreibung
Frequency     OBJECT Intervall zwischen zwei Zeitpunkten 
GenerateTimes     COLL Erzeugen aller Zeitpunkte
SetFrequency   OBJECT   Setzen eines neuen Intervalls
SetPeriodicSpanTime
231532
  STRING, INTEGER   Periodische Zeitspanne aus der übergebenen Zeichenkette importieren
AddHundredthSecond       Hundertstel-Sekunden-Addition
AddSecond       Sekunden-Addition
AddMinute       Minuten-Addition
AddHour       Stunden-Addition
DayTime     STRING Tageszeit des Zeitpunktes
Duration     OBJECT Rückgabe der Zeitdauer
Encompassed   (OBJECT) INTEGER "Enthalten in"-Test
EndOfPeriod     OBJECT Endzeitpunkt berechnen
ExportTimeNumber   INTEGER STRING Zeitangabe exportieren
HourOfTime     INTEGER Stundenanteil der Zeit 
HundredthSecondOfTime     INTEGER Hunderstel-Sekundenanteil der Zeit
ImportTimeNumber   STRING, INTEGER   Zeitangabe importieren
JoinPeriods   OBJECT OBJECT zwei übergebene Zeitspannen zu einer verbinden 
MinuteOfTime     INTEGER Minutenanteil der Zeit
MLDayTime     MLSTRING Mehrsprachige Tageszeit des Zeitpunktes
MovePeriodToEndTime   OBJECT   Setzen der Startzeit ohne Verändern der Periode
MovePeriodToStartTime   OBJECT   Setzen der Startzeit ohne Verändern der Periode
NextTerm   OBJECT OBJECT der Zeitpunkt innerhalb des Zeitpunktes
Overlap   OBJECT INTEGER Überlappungstest
OverlappingPeriod   OBJECT OBJECT die Schnittmenge (Disjunktion) zweier Zeitspannen berechnen  
RealEndOfPeriod     OBJECT "echten" Endzeitpunkt berechnen 
RealStartOfPeriod     OBJECT "echten" Startzeitpunkt berechnen 
SecondOfTime     INTEGER Sekundenanteil der Zeit
SetDuration   OBJECT   Setzen der Zeitdauer
SetEndOfPeriod   OBJECT   Setzen der Endzeit mit Verändern der Periode
SetHour   INTEGER   Setzen einer neuen Stunde
SetHundredthSecond   INTEGER   Setzen einer neuen Hundertstel-Sekunde
SetMinute   INTEGER   Setzen einer neuen Minute
SetPeriodBorders   OBJECT, OBJECT   Setzen der Start- und Endzeit
SetSecond   INTEGER   Setzen einer neuen Sekunde
SetSpanTime
231532
  STRING, INTEGER   Zeitspanne aus der übergebenen Zeichenkette importieren
SetStartOfPeriod   OBJECT   Setzen der Startzeit mit Verändern der Periode
SetTime
231532
  STRING, INTEGER   Basiszeitpunkt der Zeitspanne aus der übergebenen Zeichenkette importieren
StartOfPeriod     OBJECT Startzeitpunkt berechnen
string   INTEGER CX_STRING Liefert die String-Darstellung des Objektes
ValueInMinutes     INTEGER Startzeit in Minuten
ValueInSeconds     INTEGER Startzeit in Sekunden
ValueOfTime     INTEGER Startzeit in hundertstel Sekunden

* MA = Member-Access-Funktion

 

Datenverzeichnis (DDI)
Datenfeld Typ Referenz-Klasse I* Kurzbeschreibung
this CX_TIME     Der Basiszeitpunkt
frequency CX_VALUE     Der Abstand, in dem die gewünschten Zeitpunkte aufeinander folgen.
validEnum ENUMCHAR     Der Typ der Zeitspanne: "0" = eine Zeitspanne mit Start und Ende; "1" = Start, aber es existiert kein Ende; "2" = Ende, aber es existiert kein Start; "3" = unendlicher Zeitraum ohne Start und Ende.
duration CX_VALUE     Die eigentliche Periode. Dabei wird bei einem Wert von "0" ein Zeitpunkt abgebildet. Des weiteren sind auch negative Perioden erlaubt.

* I = Indizierbares Datenfeld

 

Verwendung in AppsWH
Modul Kurzbeschreibung