Mit diesem Modul kann die zeitliche Gültigkeit eines Objekts gesetzt werden. Dieses zeitliche Gültigkeitsfenster wird bei jeder Verarbeitung mit diesem Objekt gegen das im System vorgegebene Gültigkeitsdatum verglichen. Ist ein Objekt demnach "ungültig", dann wird es z.B. in Listen standardmäßig nicht angezeigt oder ein Zugreifen auf Daten dieses Objektes ist nicht mehr möglich.
Im betriebswirtschaftlichem Umfeld sind Daten in der oben beschriebenen Weise
durchaus sehr häufig zeitlich limitiert (z.B. Kunde gibt es nicht mehr, Produkt
soll nicht mehr verkauft werden), im Regelfall wird aber eine Information nur
durch eine andere, zeitlich "neuere" Information ersetzt: der Mehrwert
Steuersatz ist ab dem 1.1. erhöht, eine Preistabelle ändert sich
ab einem bestimmten Datum, usw. Für diese Fälle ist es möglich, eine zeitliche
Verkettung von Informationen bzw. Objekten vorzunehmen. Dieses wird durch
die Box "Austauschobjekte" ermöglicht. In dieser Box stehen alle die
Objekte, die zeitlich in einer logischen Reihenfolge stehen, je nach Gültigkeit
ersetzt das eine das andere Objekt automatisch. Dabei ist es unerheblich, an
welchem Objekt man gerade steht, man erhält immer nur die zeitlich richtige
Information.
Die folgende Liste gibt eine Reihe von Ausnahmen an, bei denen die Gültigkeit
nicht gesetzt werden kann:
| Objekttyp | Gültigkeit kann nicht gesetzt werden, wenn... |
|---|---|
| Partner (Firma, Person) | irgendeine Partnerrolle nicht auch in ihrer Gültigkeit beschränkt ist |
| Partnerrolle (Kunde, Lieferant, Mitarbeiter, usw.) | offene Posten noch vorhanden sind |
| Teil | irgendeine Teilerolle nicht auch in ihrer Gültigkeit beschränkt ist |
Ein Gültigkeitszeitraum kann in drei verschiedenen Arten angegeben sein:
Um eine zeitliche Verkettung von Objekten vorzunehmen, müssen die in Frage kommenden Objekte in die Box "Austauschobjekte" per Drag&Drop gezogen werden. Danach ist der OK-Knopf zu drücken.
Es stehen folgende Optionen zur Verfügung die Gültigkeit eines Objekts als
Suchkriterium anzugeben.
Aus den Radiobuttons ergeben sich 4 mögliche Kombinationen, die unten beschrieben
sind. Es kann immer nur 1 Radiobutton aus jeder Gruppe selektiert sein, da diese
bedingt sind.
Es werden alle gültigen Objekte dargestellt. Falls ein Objekt ungültig ist und ein gültiges Austauschobjekt hat so wird das Austauschobjekt dargestellt. Auf ungültige Objekte hat man hier keinen Zugriff.
| Anzeige in der Liste | Objekt 1 (Ursprungsobjekt) | Objekt 2 (Austauschobjekt) |
|---|---|---|
| Objekt 1 | gültig | nein |
| - | ungültig | nein |
| Objekt 2 | ungültig | gültig |
| - | ungültig | ungültig |
Darstellung aller gültigen Objekte und allen ungültigen Objekten, die kein gültiges Austauschobjekt haben. Es ist nicht möglich auf das ursprüngliche Objekt zuzugreifen, wenn es zum Zeitpunkt der Suche ein gültiges Austauschobjekt besitzt. In diesem Fall wird immer das Austauschobjekt gefunden. Bei ungültigen Objekten mit ungültigen Austauschobjekten wird das ursprüngliche Objekt dargestellt. Ist diese Einstellung selektiert so wird in der Liste eine Spalte hinzugefügt, welche die Gültigkeit der Objekte anzeigt.
| Anzeige in der Liste | Objekt 1 (Ursprungsobjekt) | Objekt 2 (Austauschobjekt) |
|---|---|---|
| Objekt 1 | gültig | nein |
| Objekt 1 | ungültig | nein |
| Objekt 2 | ungültig | gültig |
| Objekt 1 | ungültig | ungültig |
Das gesuchte Objekt muss zum Zeitpunkt der Suche gültig sein um gefunden zu werden. Ist es ungültig und hat ein gültiges Austauschobjekt so wird das Austauschobjekt ignoriert.
| Anzeige in der Liste | Objekt 1 (Ursprungsobjekt) | Objekt 2 (Austauschobjekt) |
|---|---|---|
| Objekt 1 | gültig | nein |
| - | ungültig | nein |
| - | ungültig | gültig |
| - | ungültig | ungültig |
Das gesuchte Objekt muss zum Zeitpunkt der Suche gültig sein um gefunden zu werden. Ist es ungültig und hat ein gültiges Austauschobjekt so wird dieses ignoriert. Sucht man nach einem ungültigen Objekt mit einem gültigen Austauschobjekt so wird das ursprüngliche sprich ungültige Objekt dargestellt. Ist diese Einstellung selektiert so werden in der Liste 2 Spalten hinzugefügt. Die Spalte "Gültigkeit" zeigt die Gültigkeit der Objekte, die andere "Austauschobjekt" gibt an ob ungültige Objekte gültige Austauschobjekte besitzen und zeigt dessen Nummer an. Existiert kein gültiges oder kein Austauschobjekt bleibt die Spalte leer.
| Anzeige in der Liste | Objekt 1(Ursprungsobjekt) | Objekt 2(Austauschobjekt) |
|---|---|---|
| Objekt 1 | gültig | nein |
| Objekt 1 | ungültig | nein |
| Objekt 1 | ungültig | gültig |
| Objekt 1 | ungültig | ungültig |
Teil1 ist gültig und hat kein Austauschobjekt
| Option | Suchergebnis |
|---|---|
| Mit Austauschobjekt & gültige Teile | Teil1 |
| Mit Austauschobjekt & alle Teile | Teil1 |
| Ohne Austauschobjekt & gültige Teile | Teil1 |
| Ohne Austauschobjekt & alle Teile | Teil1 |
Teil1 ist ungültig und hat kein Austauschobjekt
| Option | Suchergebnis |
|---|---|
| Mit Austauschobjekt & gültige Teile | - |
| Mit Austauschobjekt & alle Teile | Teil1 |
| Ohne Austauschobjekt & gültige Teile | - |
| Ohne Austauschobjekt & alle Teile | Teil1 |
Teil1 ist ungültig und hat gültiges Austauschobjekt Teil2
| Option | Suchergebnis |
|---|---|
| Mit Austauschobjekt & gültige Teile | Teil2 |
| Mit Austauschobjekt & alle Teile | Teil2 |
| Ohne Austauschobjekt & gültige Teile | - |
| Ohne Austauschobjekt & alle Teile | Teil1 |
Teil1 ist ungültig und hat ungültiges Austauschobjekt Teil2
| Option | Suchergebnis |
|---|---|
| Mit Austauschobjekt & gültige Teile | - |
| Mit Austauschobjekt & alle Teile | Teil1 |
| Ohne Austauschobjekt & gültige Teile | - |
| Ohne Austauschobjekt & alle Teile | Teil1 |
| Feld | Beschreibung |
|---|---|
| Objekt | Objekt auf das sich die Gültigkeitsangaben beziehen |
| Zeitraum | Zeitspanne in der das Objekt gültig ist |
| : Gültig ab | Startdatum |
| : Gültig bis | Enddatum |
| Austauschobjekte | Definiert die Objekte, welche das Originalobjekt im ungültigen Zeitraum ersetzen sollen. |
| Knopf | Beschreibung |
|---|---|
| Einfügen | Austauschobjekt einfügen |
| Entfernen | Austauschobjekt entfernen |
| OK | Änderungen an der Gültigkeit werden gespeichert. Wenn keine Änderungen getätigt wurden ist der Knopf gesperrt. |
| Schließen | Das Fenster wird geschlossen, ohne Änderungen zu speichern. Wenn Sie die Änderungen sichern wollen, so müssen Sie den Knopf "OK" drücken. |
validity.mod
-
Neben der Beschränkung der Zugriffsrechte über die Klasse und deren Datenfelder kann das Modul über einige der empfangenen Messages in seiner Nutzung beschränkt werden.
| Message | Parameter | Funktion | Security |
|---|---|---|---|
| Message | Parameter | Funktion | Empfangs-Modul |
|---|---|---|---|
LIST_INVALID
Normally, an object box only adopts valid objects. This flag
though, allows to adopt and display invalid objects, too.
LIST_ORIGIN
If an invalid object is inserted into a ListView, while there is a valid
exchange object, the valid exchange object is generally adopted. This flag
prevents this, so only the valid original object can be adopted. This is
explained further down with LIST_INVALID.
Zusammenspiel LIST_INVALID mit LIST_ORIGIN
Ohne Flags werden nur gültige Objekte aufgenommen, bei ungültigen Objekte das gültige Austauschobjekt. LIST_INVALID erlaubt es, auch ungültige Objekt aufzunehmen, LIST_ORIGIN nimmt nur das Originalobjekt auf, nicht das Austauschobjekt.
| Darstellung | Flag |
|---|---|
| U U mit A |
kein Flag |
| U U mit A U |
LIST_INVALID |
| U | LIST_ORIGIN |
| U U U mit A |
LIST_ORIGIN & LIST_INVALID |
U /
U ... ursprüngliches
Objekt gültig / ungültig
_ ... das unterstrichene Objekt wird angezeigt
A ... gültiges Austauschobjekt
| Option | LIST_INVALID | LIST_ORIGIN |
|---|---|---|
| Mit Austauschobjekt & gültige Teile | nein | nein |
| Mit Austauschobjekt & alle Teile | ja | nein |
| Ohne Austauschobjekt & gültige Teile | nein | ja |
| Ohne Austauschobjekt & alle Teile | ja | ja |