Funktionsweise des Änderungsprotokolls in AG-VIP SQL (ab der Version 2.03.001)

Martin Richter [Grutzeck Software GmbH]
26.04.2021 12:36

Beschreibung:

Mit Einführung der Version 2.03.001 wurde die Möglichkeit geschaffen, dass Änderungen in bestimmten Feldern einer Datenbank protokolliert werden.

Dies geschieht direkt auf der Datenbankebene und schließt alle Änderungen durch jede Operation in AG-VIP SQL ein. Egal ob es sich um das direkte Arbeiten mit AG-VIP SQL, mit Änderungen über Massendatenänderungen (Ändern/Ergänzen) den Datenimport, Hintergrundprozesse oder auch Änderungen durch externe  SQL Befehle handelt.

Das ist ein entscheidender Vorteil gegenüber der bisherigen Implementierung, die über Makros funktionierte. Damit mussten Protokollierungen in Hintergrundprozessen und allen Workflowbereichen extra programmiert werden. Massendatenänderungen und der Datenimport konnten bisher gar nicht protokolliert werden.

Bei Adressentabellen werden Neuerfassen und Änderungen an Datenfeldern protokolliert.
Wird eine Adresse gelöscht werden auch alle Einträge des Änderungsprotokolls gelöscht.
Wird ein Feld gelöscht, dann werden auch alle Einträge im Änderungsprotokoll gelöscht. Das gilt auch für den Fall, dass der Datentyp eines Feldes sich ändert.
Wird eine Spalte aus dem Änderungsprotokoll entfernt, hat dies keinen Einfluss auf die bisher gespeicherten Daten. Diese bleiben erhalten und werden auch weiter angezeigt und können auch ausgewertet werden. Das Änderungsprotokoll wird nur durch zeitlichen Ablauf gelöscht.
Wird ein Benutzer gelöscht bleiben dessen Datensatzänderungen auch im Änderungsprotokoll erhalten, wie das auch für Historieneinträge gilt.

Bei Tickets und Zusatztabellen werden das Anlegen, das Ändern und auch das Löschen von Datensätzen protokolliert.
D.h. wird ein Ticket angelegt geändert und gelöscht finden sich alle Datenänderungen zu diesem Ticket weiterhin im Änderungsprotokoll, solange, die Adresse nicht gelöscht wird.
Gleiches gilt auch für Einträge in Zusatztabellen, die protokolliert werden.

Einschränkungen und wichtige Hinweise:

  1. Nicht alle Datenbanktypen werden durch das Änderungsprotokoll unterstützt. Nicht unterstützt werden Kennzeichenlisten, Benutzerlisten und Memofelder.
  2. Es ist nicht angeraten zu viele Felder in das Änderungsprotokoll aufzunehmen. Jede Feldänderung führt letzten Endes zu einem zusätzlichen Eintrag in einem Änderungsprotokoll (je Feld eine Zeile in einer speziellen Tabelle) und dies kann das Ändern und Speichern von Datensätzen extrem beeinflussen.
  3. In jedem Fall ist das neue Verfahren, gegenüber der alten Makro Lösung schneller, effektiver und genauer. Werden bei Umstellung, die gleichen Felder wie bisher protokolliert, sollte die neue Lösung mit dem automatischen Änderungsprotokoll schneller und effektiver sein.
  4. Bei Massendatenänderungen, kann ein Änderungsprotokoll zu einer starken Performanceeinbuße führen. Allerdings ist dies im Allgemeinen zu vernachlässigen, da Massendatenänderungen selten erfolgen. Jedoch kann die Datenmenge erheblich sein, die durch solch eine Änderung erzeugt wird.
  5. Das alte Verfahren, dass Datensatzänderungen über Makros verwaltet sollte unbedingt abgeschaltet und deaktiviert werden. Die entsprechenden Makroincludes sollten zur Sicherheit komplett entfernt werden um eine missbräuchliche Änderung zu vermeiden.

Einrichtung:

Datensatzänderungen werden über 200 Tage gespeichert, wenn keine anderen Einstellungen vorgenommen werden. Die maximale Vorhaltezeit für Datensatzänderungen beträgt 2000 Tage (das sind ca. 5,5 Jahre).
Diese Einstellung kann über die Globalen Einstellungen der Datenbank (Abschnitt Sonstiges) geändert werden. 

Die Protokollierung ist nach einem Update oder einer Neuinstallation grundsätzlich erst einmal für alle Felder ausgeschaltet. Das betrifft alle bisherigen Datenbanken als auch neue Tabellen, die angelegt werden.

Um die Protokollierung einzuschalten, muss über die Administration in der Verwaltung der Tabellen Struktur, die Protokollierung je Feld eingeschaltet werden. Dies geschieht über die Checkbox in der Spalte Änderungsprotokoll.

Rechte auf das Änderungsprotokoll:

Die Rechte auf das Änderungsprotokoll können je Datenbank je Benutzer/Gruppe in der Benutzerverwaltung eingestellt werden. 
Es gibt nur Leserechte auf das Änderungsprotokoll. Das Löschen erfolgt ja automatisch oder mit dem entsprechenden Datensatz. Einzelne Zeilen können nicht auf normalen Weg über AG-VIP SQL aus dem Änderungsprotokoll entfernt werden.

Tipp: Grundsätzlich benötigen Agenten oder normale Mitarbeiter keinen Einblick in Datensatzänderungen. Dies sollte nur Teamleitern gewährt werden. 

Anzeigen des Protokolls für einen Datensatz:

Im Fenster Aktivitäten gibt es einen neuen Karteireiter, der die Anzeige der Datensatzänderungen erlaubt.
In der Anzeige der Aktivitäten, können die Änderungen je Tabelle angezeigt werden. D.h. man sieht nur die Änderungen in dem Tabellenkontext, den man auswählt. In anderen Worten: Werden Datensatzänderungen der Adresse angezeigt, sind die Änderungen an Zusatztabellen nicht sichtbar und umgekehrt.

Auswerten von Datensatzänderungen:

  1. Alle Datensatzänderungen anzeigen
    Datensatzänderungen lassen sich auswerten wie auch alle anderen Tabellen oder die Historie. Dazu öffnen Sie den Auswertungsdialog (Fernglas) und wählen Sie als primäre Tabelle das Änderungsprotokoll und klicken auf OK.
    Die Liste der Datensätze, die nun angezeigt wird, ist die Liste aller Datenänderungen, die noch im System gespeichert sind.
  2. Liste der Adressen mit Änderungen ab einem bestimmten Datum
    Gleichfalls ist es möglich alle Adressen zu suchen zu denen Datensätze im Änderungsprotokoll ab einem bestimmten Datum vorliegen. Öffnen Sie den Auswertungsdialog (Fernglas) und wählen als primäre Tabelle, die Adressentabelle aus. Suchen Sie nun in der Feldliste das Änderungsprotokoll und erweitern Sie auf die Feldliste. Geben Sie nun ein Datum für das Feld Zeit an. Sie erhalten eine Liste, aller Adressen mit Feldänderungen, die protokolliert wurden. 

  3. Anzeige aller Änderungen zu einer Liste von Datensätzen
    Um die Liste aller Änderungen zu einer Gruppe von Datensätzen anzuzeigen führen Sie die entsprechende Auswertung durch. Klicken Sie nun auf den Schalter n:m und wählen Sie das Änderungsprotokoll. Die Liste wird umgewandelt und nun sehen Sie alle Änderungen zu Feldern, der zuvor angezeigten Datensätze.

Anmerkung:

Sollte das neue Änderungsprotokoll genutzt werden sollte unbedingt das bisherige Verfahren, das über Makros funktioniert, abgeschaltet werden.

Tags: Änderungsprotokoll, Datenbank
Durchschnittliche Bewertung: 5 (1 Abstimmung)

Kommentieren nicht möglich