Änderungsprotokoll in Navision bzw. Business Central

Nav123: Navision, Showare, OrderApp

Print Friendly, PDF & Email

Voraussichtliche Lesedauer: 8 Minuten

Wer hat den Artikel 4711 zuletzt geändert? Von wem wurden bei dem Debitor 0815 die Zahlungsbedingung geändert? Warum wurde bei dem Kreditoren Müller die Lieferbedingung gelöscht? Es wäre doch schön, wenn Navision/Business Central die Änderungen an bestimmten Daten mitschreiben (protokollieren) könnte. Nicht nur mit „Geändert am“ oder „Korrigiert am“ und einem nicht weiterhelfenden Datum…

Sie kennen sicher diese Fragen… und haben doch keine Antwort darauf. Oder doch? Doch! Navision oder Business Central kann Ihnen diese Fragen beantworten! Und das schon seit der Version 2009! Und natürlich auch unter RTC und Business Central 365. Das macht Nachverfolgungen von Änderungen sehr viel einfacher als nur „Korrigiert am“.

Anschalten des Änderungsprotokolls (Changelog)

Wenn Navision/Business Central sie zukünftig beim Suchen nach der Ursache für gerechtfertigten/ungerechtfertigten Änderungen unterstützen soll, müssen Sie das Änderungsprotokoll erst einmal aktivieren (anschalten). Beim Navision Classic Client (also z.B. die Versionen von 2.01, 370, 5.00, 2009 R2) gehen Sie bitte über
Verwaltung/IT-Verwaltung/Allgemeine Einrichtung/Änderungsprotokoll Einrichtung:

im RTC ab NAV 2013, 2015, 2016, 2017) drücken Sie bitte Strg+F3. Im „richtigen“ Webclient (Nav/Business Central ab 2018, V14,V15 usw) Alt+Q, und geben änd pro einr ein, und wählen den gleichen Pfad (Verwaltung/IT-Verwaltung/Allgemeine Einrichtung/Änderungsprotokoll Einrichtung) wie beim Classic Client aus:


In Navision Classic Client gehen Sie dann auf den Button Einrichtung, bei RTC und Webclient gehen Sie auf den Ribon-Menüpunkt „Tabellen“. Ab hier lassen sich alle 3 Versionen gleich einstellen.

Welche Tabellen/Veränderungen überwachen?

Stammdaten und Einrichtungstabellen!

Hinweis: Alle Daten in Navision/Business Central werden einzig und allein in Tabellen gespeichert. Egal wo Sie stehen: Im Classic Client können Sie mit STRG+F8, im RTC oder Webclient mit STRG+Alt+F1 (wenn kein Intel Grafikkartentreiber dazwischen funkt…) nachsehen, in welcher Tabelle Sie sich gerade befinden.
Protokollieren Sie bitte keine Änderungen in Postentabellen! Möglichst auch keine Bewegungstabellen! Konzentrieren Sie sich auf die Stammdatentabellen, und grundsätzlich auf die Einstellung „Einige Felder“, wie z.B. in diesem Screenshot:

Screenshot aus dem Navision/Business Central RTC Client, Abbildung in dem Classic Client und dem Webclient von Business Central 365 ähnlich.
Ansicht Navision/Business Central RTC Client, Abbildung im Classic Client und dem Webclient von Business Central 365 ähnlich. Tipp: Stellen Sie von Anfang an in jeder für das Änderungsprotokoll (Changelog) interessanten Tabelle alle 3 Spalten auf „Einige Felder“.


Lassen Sie bitte unbedingt die Finger von z.B. folgenden PostenTabellen:

17 Sachposten
21 Debitorenposten
25 Kreditorenposten
32 Artikelposten

Und auch diese Tabellen sollten Sie nur mit Samthandschuhen Protokollieren:
36 Verkaufskopf
37 Verkaufszeile
38 Einkaufskopf
39 Einkaufszeile
43,44,

Speichern Sie auch keine Änderungen in Puffertabellen oder gebuchte Belegen, z.B. aus den Tabellen 110,111,112,113,114,115,120,121,122,123,124,125,126…
Eine Ausnahme darf dabei evtl. die bearbeiten Protokollierung von dem Feld Trackingcode in dem gebuchten Verkaufslieferungskopf Tabelle 110 sein.


Warum?


Postentabellen und gebuchte Belege

lassen sich eh nicht oder nur in ganz wenig Ausnahmen verändern („Ausgleich mit Belegart“, „Trackingcode“). Eine Überwachung macht daher keinen Sinn, und belastet nur unnötig ihren nativen oder SQL Server.


Puffertabellen

haben im Normalfall keinen Inhalt, und werden vom System intensiv genutzt, um Daten zu verdichten und dann zeitsparend in die Datenbank zu schreiben. Eine Protokollierung von Änderungen auf diesen Tabellen macht also die damit verbundene Optimierung zunichte. Meistens (immer, wenn kein schlechter Programmierer dran war) werden diese Buffertabellen auch nur im RAM und nicht auf dem Server zwischengespeichert. In diesem Falle greift die Logfunktion gar nicht.


Hottables wie Tabelle 36 Verkaufskopf, Tabelle 37 Verkaufszeile, Fibu Buchungsblattzeile, Artikel Buchungsblattzeile

erfahren so viele Änderungen, dass ein Protokoll darauf schnell Millionen von Datensätzen in dem Änderungsprotokoll generiert und ihnen ihre Datenbank zumüllt und ihren Server zusätzlich belastet bzw. Transaktionen unnötig verlangsamt. Daher heißen diese auch Hottables. Meist ist eine dringend nötige Datenbankbereinigung das Ergebnis solch eines Versuchs.


Wie überwachen?

Hier gilt, wie so oft in Navision/Business Central 365: Weniger ist mehr.

Vermeiden Sie bitte unbedingt die scheinbar so bequeme Einstellung „Alle Felder“, um eine Tabelle komplett zu überwachen. Dies müllt Ihnen im Nu das Änderungsprotokoll (Changelog) und damit die Navision-Datenbank voll. Das Protokoll wird so viel zu groß zum Auswerten, und die für Sie relevanten Veränderungen an den Stammsätzen in ihrer Datenbank gehen im Rauschen unter.
Ich habe bereits Navision/Business Central Datenbanken vorgefunden, in denen nur das Änderungsprotokoll 90% der Datenbank eingenommen hat, mit Millionen von Einträgen. So eine Datenbank muss schleunigst bereinigt werden.

Screenshot von Navision/Business Central RTC mit den empfohlenen Einstellungen für das Änderungsprotokoll
Anzeige aus Navision/Business Central RTC für die empfohlenen Einstellungen im Änderungsprotokoll

Einfügen protokollieren

Hier macht i.d.R. nur einzig der Primärschlüssel Sinn! Bei Debitoren z.B. die Debitorennummer.
Warum? Sobald eine Debitorennummer (Lieferbedingungscode, Zahlungsbedingungscode, Sachkontonummer…) vergeben wurde, ist der Datensatz technisch angelegt, und Navision befindet sich nun im Modus „Bearbeiten“.

Bearbeiten Protokollieren

Hier markieren Sie die Felder, die wirklich für eine Nachverfolgung relevant sind. Zahlungsbedingungscode, Zahlungsformcode, Name & Adresse, Verkäufercode, Kreditlimit, Buchungsgruppe, Verkäufercode, Preisgruppencode… Das sind die Felder, die bei einer Falschänderung weh tun. Und dann wollen Sie ja jemanden dafür an den Ohren ziehen. Oder Fehler in ihrer Unternehmensorganisieren erkennen und abstellen. Es gibt aber in nahezu jeder größeren Tabelle auch viele Felder, deren Änderung Sie vermutlich nicht interessiert. In meinen Einrichtungen gibt es oft nur eine einzige Debitorenbuchungsgruppe und nur eine Mahnmethode. Diese Felder zu überwachen macht dann also wenig Sinn. Sie erhalten so gerade für gar nicht genutzte Felder („Alle Felder“) schnell hunderte von Änderungsprotokolleinträgen ohne Inhalt.

Löschen Protokollieren

Hier markieren Sie die Spalten / Felder, welche bei einem versehentlichen Löschen dabei helfen, die wichtigsten Eigenschaften des Datensatzes wieder herzustellen. Das sind in aller Regel weniger, als bei Bearbeiten Protokollieren.

Denken Sie daran: Weniger ist mehr! Navision und die Datenbank haben richtig Arbeit damit, Protokollierungen wegzuschreiben. Machen Sie es Navision bzw. Financials/Business Central nicht zu schwer.

Auswerten / Recherchieren von Änderungen

Hier kann man, neben der fahrlässigen oder vorsätzlich falschen Einrichtung, den nächsten groben Fehler machen.
Denn das Protokoll ist für Schreiben optimiert, nicht für recherchieren/nachforschen von Änderungen.
Daher gibt es in von mir betreuten Navision an der gleichen Stelle einen kleinen, aber wichtigen Menüeintrag:

Verwaltung/IT-Verwaltung/Allgemeine Einrichtung/Änderungsprotokoll Einrichtung/Tabellen/Änderungsprotokollposten:

Screenshot der vorgefilterten und vorsortierten Änderungsprotokollposten in Navision/Business Central, erreichbar direkt über die Änderungsprotokoll Einrichtung.
Ansicht der vorgefilterten und vorsortierten Änderungsprotokollposten in Navision/Business Central RTC, erreichbar direkt (auch über STRG+F5/Strg+F7) über die Änderungsprotokoll Einrichtung.


Über diesen Menüeintrag erhalten Sie die Änderungsprotokollposten direkt vorgefiltert für die ausgewählte Tabelle. Auf diese Weiße machen Sie Navision (bzw. genauer: dem Datenbankserver) die Arbeit (Filtern & Suchen) in dieser Tabelle deutlich einfacher. Bitte gehen Sie NICHT direkt über die Änderungsprotokollposten, jede Abfrage, die Sie dort stellen dauert (bei einer gut gefüllten Änderungsprotokollpostentabelle) eine gefühlte Ewigkeit.

In der Luxusvariante haben Sie auch noch pro relevante Stammdatentabelle (Debitoren, Kreditoren, Artikel, Sachkonto) einen vereinfachten Aufruf:

Diese Funktion ist generisch. Sie können Sie daher in alle Stammdatentabellen-Pages einfach in die Page Actions kopieren. Wenn die Funktion den eindeutigen Primärschlüssel erkennt, wird das Änderungsprotokoll sofort auf den aktuellen Satz gefiltert. Wird dieser nicht erkannt, so wird automatisch auf die korrekte Tabelle gefiltert.