AsysWiki-Startseite

verwandte Themen
Anzeigemaske

Historisieren

Historisierung bedeutet, dass sich ein Datensatz (z.B. ein Entsorgungsnachweis) in mehreren zeitlich aufeinander folgenden Versionen in der Datenbank verwalten lässt. Die historisierbaren Datenkategorien enthalten Datenobjekte, für die nicht nur ein aktueller Zustand bedeutsam ist, sondern auch ein Zustand in der Vergangenheit. Gibt es diese Historie, kann z.B. ein Begleitschein in der fachlichen Prüfung gegen den Entsorgungsnachweis zum Zeitpunkt der Übergabe oder Annahme geprüft werden. Zwischenzeitlich können sich am Entsorgungsnachweis Änderungen ergeben haben, die prüfungsrelevant sind und in der Version zum Begleitscheindatum noch nicht gegolten haben. Eine Prüfung des Begleitscheins gegen den aktuellen Zustand des Entsorgungsnachweises liefert daher eventuell ein verfälschtes Ergebnis.

Zu den Grundlagen der Historisierung siehe den Abschnitt am Ende dieser Seite.

Die Erstellung einer historischen Version kann einige Zeit in Anspruch nehmen, da eine vollständige Kopie des Datensatzes inklusive der unmittelbar und mittelbar abhängigen Daten1) angelegt werden muss.

Bei Stammdaten ist ergänzend zu beachten, dass nicht nur der ausgewählte Betrieb (Erzeuger, Beförderer, Entsorger usw.) historisiert wird, sondern die übergeordnete Firma (FKB) mit allen an ihr hängenden Betriebsstätten! Je mehr Betriebsstätten an einer FKB hängen, desto umfangreicher ist der zu historisierende Datensatz.

Der Button zur Auslösung der manuellen Historisierung steht nur auf Masken zur Verfügung, deren Datensätze sich historisieren lassen. Wo dies nicht der Fall ist, fehlt er.

Wird der Button geklickt, erscheint ein Dialog mit der Aufforderung zur Eingabe eines Datums für den Gültigkeitsbeginn einer neuen Historienversion:

Beispiel eines Historisierungsdialogs

In die Einzelangabe wir das Datum des Gültigkeitsbeginns des neuen Datensatzes eingegeben oder mit dem Kalendertool ausgewählt. Standardwert ist das aktuelle Tagesdatum.

Im Fußbereich des Dialogs befinden sich drei Buttons:

Schaltfläche Bezeichnung Erläuterung
Hilfe-Button Es erscheint diese Hilfeseite.
Historisieren-Button Die Historisierung wird mit dem angezeigten Datum für den Gültigkeitsbeginn durchgeführt, wenn das Datum gültig ist.
Abbrechen-Button Der Dialog der erweiterten Filterbedingungen wird geschlossen. Vorgenommene Änderungen an den Suchbedingungen werden verworfen. Für die Einzelangabe gelten die Suchbedingungen vor dem Aufruf des Dialogs.

Auf Masken historisierbarer Datenkategorien finden Sie an einer Teilmenge der Datenfelder ein kleines Historisierungsymbol: Historisierungsauszeichnung einer Einzelangabe.

Wenn Sie den Inhalt einer derart ausgezeichneten Einzelangabe ergänzen oder ändern, werden Sie automatisch beim Speichern gefragt, ob Sie das betreffende Datenobjekt historisieren wollen.
Hinweis: Je Datenbereich kann eine automatische Historisierung konfiguriert sein. In diesem Fall wird automatisch mit dem aktuellen Tagesdatum historisiert, wenn historisierungsrelevante Angaben verändert wurden und am gleichen Tag noch nicht historisiert wurde.

In die Einzelangabe wir das Datum des Gültigkeitsbeginns des neuen Datensatzes eingegeben oder mit dem Kalendertool ausgewählt. Standardwert ist das aktuelle Tagesdatum.

Beispiel einer Historisierungsaufforderung für die Datenkategorie Firma, Körperschaft, Betreiber

Schaltfläche Bezeichnung Erläuterung
Hilfe-Button Es erscheint diese Hilfeseite.
Historisieren-Button Der Zustand des historisierbaren Datenobjekts vor Ihren Änderungen und Ergänzungen bleibt erhalten. Ihre Änderungen und Ergänzungen werden in eine neue Historienversion übernommen, deren Gültigkeit mit dem angezeigten Datum beginnt.
Nicht Historisieren-Button Die Änderungen und Ergänzungen werden ohne Historisierung übernommen.

Die Historisierung eines kompletten Datenbereichsobjektes kann einige Zeit in Anspruch nehmen. Aus diese Grund erscheint am Fuß des Rahmens ein animierter Fortschrittsbalken, welcher der nachfolgenden Abbildung ähnlich ist (die konkrete Anzeige kann ggf. abweichen):

Beispiel eines Fortschrittsbalkens beim Historisieren oder Speichern.

Ist die Historisierung abgeschlossen, verschwindet der Fortschrittsbalken. Das Programm wird auf den Datensatz mit dem neuen Gültig-von-Datum positioniert.

Erfolgt die Historisierung im Zuge der Speicherung des Datenobjektes (also im Zuge der automatischen Historisierungsaufforderung), so wird das Datenobjekt gegen den zugehörigen Prüfplan geprüft und nach Abschluss der Prüfungen mit einem Dialog über die höchste ermittelte Prüfstufe informiert.

Nach Abschluss der Historisierung wird auf den Masken der Hauptdatenkategorien der Stammdaten

  • Firma, Körperschaft, Betreiber,
  • Erzeuger,
  • Beförderer, Sammler,
  • Entsorger,
  • Makler, Händler,
  • Bevollmächtigter und
  • Behörde

gefragt, ob eine Übergabe von Namens-, Adress- und Kontaktdaten an die anderen Stammdatenobjekte des gleichen FKB-Datenbaums erfolgen soll.

Dialog nach Historisierung zum Einstieg in den Dialog zur Adress- und Kontaktdatenabgleich

Der Dialog kann über zwei Buttons verlassen werden:

Schaltfläche Bezeichnung Erläuterung
Ja Der Dialog zum Kopieren von Adress- und Kontaktdaten wird mit dem nach der Historisierung in der Maske angezeigten Datenobjekt2) als Quelle und allen anderen zum gleichen FKB-Datenbaum gehörenden Datenobjekten als Zielen aufgerufen.
Nein Der vorstehend genannte Dialog wird nicht aufgerufen.

Grundsätzlich gilt:

  • Historisierbare Datenkategorien besitzen ein Datumspärchen 'Datensatz gültig von' und 'bis' als (A)nfang und (E)nde ihrer Gültigkeit.
  • Jede Historienversion hat zumindest ein 'Gültig von'-Datum.
  • Die jüngste Version einer Historie (= aktuelle Version) hat kein 'Gültig bis'-Datum. Alle Vorgänger dieser Version haben ein 'Gültig bis'-Datum.
  • Der minimale Zeitraum für die Gültigkeit einer Historienversion ist ein Tag, d.h. die Werte von 'Datensatz gültig von' und 'bis' sind gleich. Je Datensatz kann pro Tag also nur einmal historisiert werden!
  • An jedem Datum kann es nur maximal eine Historienversion geben, die gültig ist (keine Überlappung der Gültigkeitszeiträume).
  • Eine Historienreihe beginnt zu einem bestimmten Datum - der ersten Historienversion - und läuft im Prinzip bis in alle Zukunft, da die letzte Version einer Historienreihe kein 'Gültig bis'-Datum besitzt.
  • In einer Historie darf es keine Lücken geben, d.h. das Enddatum einer Vorgängerversion und das Anfangsdatum einer Nachfolgerversion schließen direkt aneinander an (das Enddatum des Vorgängers liegt einen Tag vor dem Anfangsdatum des Nachfolgers).
  • Damit diese Regeln automatisiert eingehalten werden können, ist das Enddatum niemals durch den Nutzer änderbar, sondern wird immer automatisch vergeben. Das Anfangsdatum kann - außer bei einer manuellen Erfassung eines ersten Datensatzes einer neuen Historie - ebenfalls nicht durch den Anwender direkt bearbeitet werden, sondern immer nur über den Historisierungsdialog (s.o.).

Bei der Historisierung wird von der zu historisierenden Version eine Kopie angefertigt. Wird die aktuelle Version historisiert, so hat anschließend die Kopie den neu erstellten Gültigkeitszeitraum und die aktuelle Version ein neues 'Gültig von'-Datum (und weiterhin kein 'Gültig bis'-Datum). Bei der Historisierung

  • bleibt die Vorgangssteuerung an der aktuellen Version. Historische Versionen haben kein Vorgangsprotokoll, wenn für sie keine eigenen Vorgänge angelegt wurden.
  • wird das Empfangs- und Versandprotokoll an die historisierte Version umgehängt. Die Protokolle der aktuellen Version sind direkt nach der Historisierung leer.
  • wird die Dokumentenliste mit historisiert.
Voraussetzung Historisierungsdatum (H) Ergebnis
Der zu historisierende Datensatz ist der einzige in seiner Historie (kein Vorgänger, kein Nachfolger). Der Datensatz hat eine Datensatzgültigkeit 'Datum gültig von' mit dem Wert A H liegt vor A (H < A) Das 'Datum gültig von' wird von A auf H korrigiert; die Historie fängt also zu einem früheren Zeitpunkt an. Es wird keine neue Historienversion angelegt.
H = A ungültig, da die neue Version das gleiche 'Datum gültig von' erhielte, wie die vorhandene.
H liegt nach A (H > A) Es wird eine neue historische Version angelegt, deren 'Datum gültig von' = H ist. Die Vorgängerversion behält das Anfangsdatum A der Gültigkeit, ihr Enddatum E der Gültigkeit wird auf einen Tag vor dem Historisierungsdatum H (E = H - 1) gesetzt.
Der zu historisierende Datensatz ist der letzte in seiner Historie (mindestens ein Vorgänger, kein Nachfolger). Der Datensatz hat eine Datensatzgültigkeit 'Datum gültig von' mit dem Wert A H liegt vor A (H < A) ungültig, da eine Verschiebung der Gültigkeit der Version in die Vergangenheit eine Überlappung mit zumindest der direkten Vorgängerversion verursachen würde.
H = A ungültig, da die neue Version das gleiche 'Datum gültig von' erhielte, wie die vorhandene.
H liegt nach A (H > A) Es wird eine neue historische Version angelegt, deren 'Datum gültig von' = H ist. Die Vorgängerversion behält das Anfangsdatum A der Gültigkeit, ihr Enddatum E der Gültigkeit wird auf einen Tag vor dem Historisierungsdatum H (E = H - 1) gesetzt.
Der zu historisierende Datensatz ist der erste in seiner Historie (kein Vorgänger, mindestens ein Nachfolger) oder befindet sich in der Mitte der Historie (mindestens ein Vorgänger und ein Nachfolger). Der Datensatz hat eine Datensatzgültigkeit 'Datum gültig von' mit dem Wert A H liegt vor A (H < A) ungültig. Auch wenn es die erste Version einer Historie ist, so ist in diesem Falle eine Verschiebung des Historienanfangs nicht zulässig. Ist es eine Version aus der Mitte der Historie ergäbe sich eine unzulässige Überlappung der Gültigkeit mit dem Vorgänger.
H = A ungültig, da die neue Version das gleiche 'Datum gültig von' erhielte, wie die vorhandene.
H liegt nach A (H > A) und nicht nach dem Enddatum E (H <= E) Es wird eine neue historische Version angelegt, deren 'Datum gültig von' = H und deren Enddatum E ist. Die Vorgängerversion behält das Anfangsdatum A der Gültigkeit, ihr Enddatum E der Gültigkeit wird auf einen Tag vor dem Historisierungsdatum H (E = H - 1) gesetzt.
H liegt nach A (H > A) und nach E (H > E) ungültig, da dies eine unzulässige Überlappung der Gültigkeit mit dem Nachfolger zur Folge hätte.
Legende
A = Anfangsdatum der Datensatzgültigkeit = 'Datum gültig von'
E = Enddatum der Datensatzgültigkeit = 'Datum gültig bis'
H = Historisierungsdatum

Bei der Historisierung wird von der zu historisierenden, vorhandenen Version eine Kopie angefertigt. Wird die vorhandene Version historisiert, so hat anschließend die Kopie den neu erstellten Gültigkeitszeitraum und die vorhandene Version ein neues Gültig-Von-Datum (und im Falle der aktuellen Version weiterhin kein Gültig-Bis-Datum).

Bei der Historisierung

  • bleibt die Protokollierung der Vorgangssteuerung an der vorhandenen Version erhalten. Historische Versionen - also die neu angelegten Kopien - haben ein leeres Vorgangsprotokoll, so lange für sie keine eigenen Vorgänge angelegt werden3).
  • verbleibt die Empfangs- und Versandprotokollierung an der vorhandenen (aktuellen) Version. Die Protokolle werden nicht historisiert.
  • wird die Dokumentenliste mit historisiert4). Neue automatisch ergänzte Dokumentverweise werden in die Liste der aktuellen Version eingetragen.

Wird in einer historisierbaren Datenkategorie ein Datensatz gelöscht, betrifft diese Löschung nicht nur den konkreten Datensatz - also die Version in einer Historie - sondern auch die Historie mit all ihren Versionen. Dabei ist insbesondere sicherzustellen, dass

  1. durch die Löschung einer Historienversion kein 'Löcher' in der Historie entstehen,
  2. der Beginn der Historie nicht verändert wird und
  3. die aktuelle, jüngste Historienversion kein 'Gültig bis'-Datum besitzt, damit die Historienreihe nicht plötzlich endet.

Wenn Sie eine Historienversion löschen, werden Sie daher im zweiten Bestätigungsdialog gefragt, ob Sie die Version löschen wollen oder ob Sie die komplette Historie löschen wollen.

Um eine komplette Historie oder eine Version zu löschen, müssen Sie sich auf der Maske der Hauptdatenkategorie befinden, also der obersten Maske eines Datenbereichs. In den Masken abhängiger Datenbereiche können Sie immer nur den aktuellen abhängigen Datensatz löschen. Dies gilt insbesondere auch für die Betriebsstätten der Stammdaten, deren Hauptdatenkategorie die Maske 'Firma, Körperschaft, Betreiber' darstellt!

Beispiel eines Löschdialogs für Historien

In dem Dialog, der sich nach einem Klick auf den Löschen-Button öffnet, wird Ihnen angezeigt, aus wie vielen Versionen die Historie besteht. Der Dialog enthält ein Eingabefeld für eine Löschbegründung. Diese ist aus einer Vorschlagsliste auszuwählen oder von Ihnen einzugeben.

Im Fußbereich des Dialog befinden sich drei Buttons:

Schaltfläche Bezeichnung Erläuterung
Historie löschen Löscht die komplette Historie, also alle Versionen, die die Historie bilden inklusiver aller unmittelbar und mittelbar abhängigen Daten.
Nur aktuellen löschen Löscht die aktuell in der Maske angezeigte Version der Historie. Alle anderen Versionen in dieser Historie bleiben erhalten.
Dabei wird wie folgt verfahren:
Die zu löschende Version ist die älteste (erste) in der Historie. Die Nachfolgeversion der zu löschenden Version erhält das 'Datensatz gültig von'-Datum der zu löschenden Version. Damit ist sichergestellt, dass die Historie weiterhin zum gleichen Zeitpunkt beginnt. Ein Informationsdialog weist Sie auf diesen Umstand hin.
Die zu löschende Version liegt in der Mitte der Historie. Sie müssen in einem Auswahldialog entscheiden, ob die Vorgänger- oder die Nachfolgeversion den Gültigkeitszeitraum der zu löschenden Version 'erben' soll:
Entscheidungsdialog, ob der Vorgänger oder der Nachfolger einer zu löschenden Version den Zeitraum übernehmen soll

bedeutet, dass der Vorgänger den Zeitraum der gelöschten Version übernimmt. Der Vorgänger erhält also das 'Datensatz gültig bis'-Datum der zu löschenden Version.
bedeutet, dass der Nachfolger den Zeitraum der gelöschten Version übernimmt. Der Nachfolger erhält also das 'Datensatz gültig von'-Datum der zu löschenden Version.
Die zu löschende Version ist die jüngste (letzte) in der Historie. Diese jüngste Version besitzt kein 'Datensatz gültig bis'-Datum. Beim Vorgänger wird daher das Enddatum der Versionsgültigkeit gelöscht, wodurch diese Version zu jüngsten wird. Ein Informationsdialog weist Sie auf diesen Umstand hin.
Abbrechen Bricht den Löschvorgang ab, ohne Daten zu löschen.

1)
Für einzelne abhängige Daten gelten spezielle Regeln, s. Grundlagen der Historisierung
2)
Dies ist das Datenobjekt, welches im Zuge der Historisierung ein neues Gültig-von-Datum erhalten hat.
3)
Falls eine historische Version nachträglich bearbeitet wird, werden ggf. automatisch Vorgänge und Arbeitsschritte angelegt. Dies hängt von der konkreten Konfiguration der jeweiligen Vorgangssteuerung ab.
4)
Direkt nach der Historisierung sind daher die Dokumentenliste der vorhandenen Version und der Kopie identisch.
  • a7funk/funk_historisieren.txt
  • Zuletzt geändert: 2020/03/19 08:40
  • von eflor