CX_SCHEDULE
Klassenhierarchie
- CX_CLASS
- CX_SIMPLE
- CX_TERMED
- CX_EXPANDABLE
- CX_SCHEDULE
- CX_EXPANDABLE
- CX_TERMED
- CX_SIMPLE
Beschreibung:
Mit einem Objekt dieser Klasse kann ein Termin verwaltet werden.
Diese Klassen sind zeitgebundene Container, sie beschreiben
termingebundene Vorgänge. Sie kennen daher die Zeitdimension
und können in dieser hierarchisieren und organisieren.
Mit einem CX_SCHEDULE beschreibt man
etwas, was zu einem bestimmten DAYTIME passiert ist, passieren
soll oder wird. Mit CX_SCHEDULED_TRANSACTION kann direkt eine
Transaktion angegeben werden. CX_CALENDAR trägt der Tatsache Rechnung,
dass periodische oder zeitlich andauernde Vorgänge in sich unterteilbar
sind, daher auch zeitliche Sub-Vorgänge beinhalten können.
CX_SCHEDULE
Zeitlicher Vorgang. scheduleTypeEnum bestimmt Typ (abgleichen mit Typ
HOLIDAY, VACATION, ... in cxbsystm !).
Der zeitliche Zustand des Vorganges wird in scheduleStatusEnum gehalten.
dayTime bestimmt die zeitliche Dimension des Vorganges.
links dazu da, um den gleichen Eintrag von verschiedenen Objekten
gemeinsam führen zu können. (z.B. Workgroup-Period(Kalender))
CX_CALENDAR
Mittels mainPeriod und subPeriods Hierarchisierung eines Kalenders.
Insbesondere für Geschäftsperioden. Wenn mainPeriod == NULL, dann oberste
"Verwaltungs"-Periode, dann auch dayTime = NULL.
CX_ACCOUNT_PERIOD
Periodenabhängige Nummern, Journalseiten (eventuell auch in ACCOUNT_DOMAIN),
Journalsaldo, etc.
CX_STATE_PERIOD
monitors und controls (??)
CX_SCHEDULED_TRANSACTION
Einerseits um best. Transaktionen zur zukünftigen Abarbeitung in einem
Kalender festzuhalten, zum anderen um durchgeführte Transaktionen terminlich
geordnet führen zu können
OFFEN:
======
GenerateSubPeriods(durationUnit, classID):
Einsetzen Wochen unterhalb von Monaten. Automatisches Drüber/Druntersetzen
von Perioden, z.B. Quartale einsetzen nachdem Monate bereits eingesetzt
wurden.
LookUpDate(date) führt dazu, dass 1. Eintrag (zB Januar) nicht erscheint.
Wahrscheinlich CX_SPAN_DATE::Compare() falsch !
GEÄNDERT
==
termEnum -> scheduleTypeEnum
termStatusEnum -> scheduleStatusEnum
periods -> links
Code-Beispiel:
Funktion | MA* | Parameter | Rückgabe | Kurzbeschreibung |
---|---|---|---|---|
After | OBJECT, INTEGER | OBJECT | Test, ob dieser Termin nach einem anderen liegt | |
Before | OBJECT, INTEGER | OBJECT | Test, ob dieser Termin vor einem anderen liegt | |
Comprise | OBJECT | OBJECT | Prüfen, ob ein Datum im Termin enthalten ist | |
EarliestTerm | INTEGER | OBJECT | Prüfen des Datums des Termins | |
Encompassed | OBJECT | INTEGER | "Enthalten in"-Test | |
EndTerm | OBJECT | Ende des Termins | ||
LatestTerm | INTEGER | OBJECT | Prüfen des Datums des Termins | |
Predecessor | COLLECTION, INTEGER | OBJECT | Sucht aus einer Menge von Terminen den Vorgänger zum angegebenen Termin | |
SanityCheck | INTEGER | Prüfung auf Konsistenz des Objektes | ||
SetTermStatus | INTEGER | Status des Termins setzen | ||
StartTerm | OBJECT | Beginn des Termins | ||
Successor | COLLECTION, INTEGER | OBJECT | Sucht aus einer Menge von Terminen den Nachfolger zum angegebenen Termin | |
ClassFilter | STRING, INTEGER | OBJECT | Dieses Objekt, wenn es einer bestimmten Klasse entspricht | |
Deleted | INTEGER | Objekt als gelöscht markiert? | ||
Description | STRING | Bezeichnung dieses Objektes | ||
GetDomain | INTEGER | Domain dieses Objektes | ||
GetSiblings | COLLECTION | Alle Siblings dieses Objektes | ||
GetSiblings2 | COLLECTION | Alle Siblings dieses Objektes | ||
GetSlotEntries | VECTOR |
Rückgabe von internen Informationen zu Slots | ||
LastUpdate | OBJECT | Datum des letzten Schreibzugriffs | ||
LastUser | INTEGER | User, der zuletzt schreibend auf das Objekt zugegriffen hat | ||
Link | OBJECT | Dieses Objekt in die Liste der Objekte mit Gültigkeit einfügen | ||
NextValidObject | OBJECT | Zeitlich nachfolgendes Gültigkeitsobjekt | ||
PreviousValidObject | OBJECT | Zeitlich vorangehendes Gültigkeitsobjekt | ||
RestrictedValidity | * | Gültigkeitsbereich eingeschränkt? | ||
SetDomain | INTEGER, INTEGER | Domain setzen | ||
ShortName | STRING | Kurzbezeichnung dieses Objektes | ||
Siblings | * | Objekte mit Gültigkeit | ||
SpanDateValidity | * | Gültigkeitsspanne | ||
string | INTEGER | CX_STRING | Liefert die String-Darstellung des Objektes | |
UniqueID | STRING | Inhalt des festen Datenfeldes "uniqueID" | ||
Unlink | Dieses Objekt aus der Liste der Objekte mit Gültigkeit entfernen | |||
Unlink2 | Dieses Objekt aus der Liste der Objekte mit Gültigkeit entfernen | |||
Valid | OBJECT | INTEGER | Gültigkeit prüfen | |
ValidSince | OBJECT | Beginn der Gültigkeitsspanne | ||
ValidToday | INTEGER | Heute gültig? | ||
ValidUntil | OBJECT | Ende der Gültigkeitsspanne | ||
VerifySiblings | INTEGER | Ring der Austauschobjekte prüfen |
* MA = Member-Access-Funktion,
grau unterlegt = geerbte Funktion
Datenfeld | Typ | Referenz-Klasse | I* | Kurzbeschreibung |
---|---|---|---|---|
scheduleStatusEnum | ENUMCHAR | Status: 0 = angelegt 1 = wartend 2 = gestartet 3 = unterbrochen 4 = beendet 5 = aufgehoben 6 = archiviert |
||
scheduleType | INTEGER | Termintyp (Flagkombinationen möglich): 0x01 = Termin 0x02 = Gedenktag 0x04 = Feiertag 0x08 = Ferien 0x10 = Periode 0x20 = Abrechnungsjahr |
||
term | POINTER | CX_TERM | Ein Termin | |
uniqueID | STRING | * | Eindeutiger Schlüssel | |
validity | POINTER | CX_VALIDITY | Gültigkeitszeitraum des Objektes |
* I = Indizierbares Datenfeld,
grau unterlegt = geerbtes Datenfeld
Modul | Kurzbeschreibung |
---|---|
salebase.mod | Verkaufswaren Basismodul |
saleedt.mod | Verkaufswaren Editiermodul |