Der Nutzen der Protokollierung von Tabellenänderungen für SAP-Customizing-Daten

Warum eine Protokollierung von Tabellenänderungen?
SAP ermöglicht die Funktionalität von Änderungsbelegen für Geschäftsobjekte wie Kreditkartendaten und Bankkontoinformationen. Die Nachverfolgung von Änderungen an SAP-Customizing-Daten kann durch die Aktivierung der Tabellenänderungsprotokollierung aktiviert werden. Ab SAP S/4HANA 2021 ist diese Funktion standardmäßig aktiviert. Die beiden Hauptziele der Tabellenänderungsprotokollierung sind:
- Erkennung unbefugter Änderungen
- Einhaltung gesetzlicher Vorschriften und Prüfungsvorschriften
Im Gegensatz zum Konzept der Änderungsbelege, die in der Regel aus einer Reihe von voneinander abhängigen hierarchischen Tabellen bestehen, wird die Tabellenänderungsprotokollierung auf Tabellenebene aktiviert. Der wesentliche Vorteil der Tabellenänderungsprotokollierung gegenüber dem Konzept der Änderungsbelege besteht darin, dass Änderungen unabhängig davon erfasst werden, wie auf die protokollierten Tabellen zugegriffen wird (beispielsweise direkt über die Transaktion SM30 oder über ABAP-Reports). Die Funktionsbausteine zum Schreiben der Änderungsbelege müssen separat in jeden Report implementiert werden, der das entsprechende Geschäftsobjekt aktualisiert.
Was sollte protokolliert werden?
Die Nachverfolgung von Anpassungsdaten sollte mindestens in folgenden Bereichen aktiviert sein:
- Produktionssysteme
- Systeme, in denen Anpassungsdaten angelegt oder geändert werden
Generell kommen alle Tabellen mit den Lieferklassen „C“, „E“, „G“, „S“ und „W“ für die Tabellenprotokollierung in Frage. Tabellenänderungen sollten nur protokolliert werden, wenn die folgenden Kriterien zutreffen:
- Die Änderungshäufigkeit ist gering (weniger als 100 bis 1000 Änderungen pro Woche)
- Die Daten sind einfach strukturiert und lassen sich im jeweiligen Kontext interpretieren (Xstrings, Binärdaten usw. sind nicht geeignet)
- Es gibt keine weitere Änderungsverfolgung (Änderungsbelege, Versionen usw.)
- The table structure length is defined as fewer than 16,000 bytes (in a non-UNICODE system, < 8000 bytes)
- Die Gesamtlänge der Schlüsselfelder beträgt höchstens 256 Byte
Anwendungstabellen (Lieferklasse „A“) sollten überhaupt nicht aktiviert werden, da:
- Transaktionsdaten werden in der Regel zu häufig geändert, und eine Protokollierung würde zu erheblichen Problemen hinsichtlich der Leistung und des Datenvolumens führen
- Änderungen an Stammdaten sollten durch ausdrückliche Änderungsbelege erfasst werden, da sie komplex sind und ein besseres Berechtigungskonzept für den Zugriff, die Archivierung und das Löschen der nachverfolgten Datenänderungen bieten
Welche Tabellen protokolliert werden sollten, hängt von den länderspezifischen und branchenspezifischen Anforderungen ab. Die genaue Festlegung der Protokollierungsrelevanz von Tabellen muss in Absprache mit Ihrer Prüfungsorganisation erfolgen. Eine gute Übersicht über die zu protokollierenden Tabellen bietet der SAP-Hinweis Nr. 112388. Dieser Hinweis enthält wertvolle technische Informationen und verweist auf einige spezifische SAP-Hinweise, in denen die Protokollierungsanforderungen für einzelne Tabellen behandelt werden.
So aktivieren Sie die Protokollierung von Tabellenänderungen im SAP-System
Bevor die Tabellenänderungsprotokollierung für einzelne Tabellen aktiviert werden kann, muss sie zunächst für das gesamte System aktiviert werden. Änderungen an Customizing-Tabellen können entweder lokal auf dem System oder über Transportaufträge aus externen Systemen vorgenommen werden. Die Tabellenänderungsprotokollierung muss für beide Arten von Änderungen separat aktiviert werden:
- Protokollierung von Tabellenänderungen für lokale Änderungen aktivieren
Die Protokollierung von Tabellenänderungen für lokale Änderungen wird über den Profilparameter rec/client gesteuert. Der Standardwert dieses Parameters ist OFF (die Protokollierung von Tabellenänderungen ist deaktiviert). Ab S/4HANA setzt SAP „Security by Default“ durch und legt den Standardwert auf ALL fest (die Protokollierung von Tabellenänderungen ist für alle Mandanten aktiviert).
Stellen Sie sicher, dass der Profilparameterrec/clientaufALLgesetzt ist, oder geben Sie gemäß den SAP-Empfehlungen mindestens eine durch Kommas getrennte Liste Ihrer Produktiv- und Customizing-Mandanten an. Sie können die SAP-TabelleT000abfragen, um zu überprüfen, welche Mandanten (Spalte MANDT) Produktionsmandanten sind (Spalte CCCATEGORYgleich P) und welche Customizing-Mandanten sind (SpalteCCCATEGORYgleich C), wie unten dargestellt:

Der Wert sollte im Standardprofil festgelegt werden und muss mit der Transaktion RZ10 aus allen Instanzprofilen gelöscht werden.
- Protokollierung von Tabellenänderungen für über Transporte angewendete Änderungen aktivieren
Die Protokollierung von Tabellenänderungen, die über Transporte vorgenommen werden, wird durch den SAP-TMS-Transport-Tool-Parameter RECCLIENT gesteuert . Der Standardwert dieses Parameters ist OFF (die Protokollierung von Tabellenänderungen ist deaktiviert). Ab S/4HANA setzt SAP „Security by Default“ durch und legt den Standardwert auf ALL fest ( die Protokollierung von Tabellenänderungen ist für alle Mandanten aktiviert).
Stellen Sie sicher, dass der ProfilparameterRECCLIENT aufALLgesetztist ,odergeben Sie gemäß den Empfehlungen von SAP mindestens eine durch Kommas getrennte Liste Ihrer Produktiv- und Customizing-Mandanten an.
Der Parameterwert kann nur auf dem Transport Domain Controller über die Transaktion STMS geändert werden.
So aktivieren Sie die Protokollierung von Tabellenänderungen für eine Tabelle
Die Protokollierung von Tabellenänderungen für eine einzelne Tabelle kann in den technischen Einstellungen der entsprechenden Tabelle (Transaktion SE13) aktiviert (oder deaktiviert) werden, indem das Kennzeichen„Änderungen protokollieren“ gesetztbzw. entfernt wird. Massenänderungen an mehreren Tabellen können über den Audit-Report RDDPRCHK vorgenommen werden. Der Report bietet mehrere Vorteile. Im Kopfbereich der Reportausgabe wird Folgendes angezeigt:
- Der Wert des Profilparameters „rec/client“ auf allen Instanzen
- Der Wert des SAP-TMS-Parameters RECCLIENT
- Die Rolle des Kunden
- Die Einstellungen des Clients ändern
Die Ergebnistabelle listet alle Tabellen mit ihren wichtigsten Attributen auf, einschließlich des aktuellen Status des Kennzeichens„Änderungen protokollieren (Daten)“.Wenn der SAP-Hinweis Nr . 2579568 im System angewendet wird, enthält die Ergebnistabelle zwei zusätzliche Spalten – „Klassifizierungsstatus“ und „Beschreibung des Protokollkennzeichens“ –, die den Prüfern helfen, die aktuelle Einstellung des Protokollkennzeichens zu klassifizieren und zu verstehen. Nach der Anwendung des SAP-Hinweises enthalten die technischen Einstellungen einer Tabelle zusätzliche Attribute, die vom Ersteller der Tabelle gepflegt werden können:

Ist das Kennzeichen „Protokoll (Daten) ändern“ nicht gesetzt, sollte der Entwickler einen Bewertungswert („Nicht erforderlich“ oder „Möglicherweise erforderlich“) sowie eine Begründung angeben. Der „Klassifizierungsstatus“ im Bericht RDDPRCHK wird auf der Grundlage dieser Attribute und des aktuellen Werts des Kennzeichens „Protokoll (Daten) ändern“ berechnet:

Technisch gesehen werden die vom Entwickler festgelegte Bewertung und die Begründung in der Tabelle CLS_ASSIGNMENT gespeichert und beide automatisch in den Transportaufträgen erfasst. Die beiden Attribute können mit dem Report RDDPRCHK überschrieben werden. Die hier vorgenommenen Änderungen werden in der Tabelle LOGGINGASSESSMNT protokolliert, die ebenfalls mit dem SAP-Transportsystem verbunden ist.
Hinweis: Die Berechnung des Klassifizierungsstatus in der vorstehenden Tabelle ist nicht von der Tabellenklasse abhängig und basiert auf Tests und Codeanalysen auf einem SAP NetWeaver 7.56-System (Service Pack 0). Sie stimmt nicht mit den Angaben zum Klassifizierungsstatus im SAP-Hinweis Nr. 2579568 überein. Zudem ist die in RDDPRCHK verwendete Formulierung nicht einheitlich. Die Ergebnisse können zudem verwirrend sein, da überschriebene Bewertungswerte weder im Bericht noch in der Transaktion SE13 angezeigt werden, obwohl sie im angezeigten Klassifizierungsstatus berücksichtigt werden.
Die Werte für die Bewertung und die Begründung in SAP-Tabellen können mit dem Report RDDPRCHK_UPLD initialisiert werden ( siehe SAP-Hinweis Nr . 112388).
Auswertung des Tabellenprotokolls
Die protokollierten Datensätze werden in der Tabelle DBTABLOG gespeichert und können mit der Transaktion SCU3 ausgelesen werden.
Überlegungen zum Datenvolumen
Was kann man tun, wenn ein rascher Anstieg der Größe der Tabelle DBTABLOG festgestellt wird ?
- Ermitteln Sie die Objekte, die am häufigsten protokolliert werden, wie im SAP-Knowledge-Base-Artikel Nr. 2335086 beschrieben:
Ab dem Patch SAPKB74019 der Softwarekomponente SAP_BASIS 740 und höheren Releases führen Sie den Bericht ZSLA_SCU3_CHECK_xx aus, der dem SAP-Knowledge-Base-Artikel Nr. 2724472 beigefügt ist . (SCU3 | Automatische Prüfungen und Lösung für die häufigsten Probleme bei der Tabellenprotokollierung) - Entscheiden Sie intern, ob die Protokollierung für diese Objekte deaktiviert werden kann
- Wenn Sie sich entschieden haben, die Protokollierung zu deaktivieren, führen Sie die im SAP-Knowledge-Base-Artikel Nr. 1834803 beschriebene Vorgehensweise durch.
- Entscheiden Sie, ob die Protokolle gelöscht oder archiviert werden sollen
- Wenn die Protokolle gelöscht werden sollen, verwenden Sie den Menüpfad „Bearbeiten -> Protokolle -> Löschen“ in der TransaktionSCU3 oder den Report RSTBPDEL
Bevor Sie mit dem Löschen beginnen, implementieren Sie den SAP-Hinweis Nr. 2755908„RSTBPDEL – Leistungsverbesserung“
Wenn Sie vorhaben, Protokolle regelmäßig zu löschen, lesen Sie den SAP-Knowledge-Base-Artikel Nr. 2388295 - Wenn die Protokolle archiviert werden sollen, wählen Sie in der Transaktion SCU3 den Menüpfad „Bearbeiten“ -> „Protokolle“ -> „Archivieren“ oder verwenden Sie die Transaktion SARA mit dem ArchivierungsobjektBC_DBLOGS.
- Führen Sie eine Datenbankreorganisation durch. Weitere Informationen finden Sie im SAP-Hinweis Nr. 53062
Protokollierung von Tabellenänderungen in der Onapsis Platform
Die Onapsis Platform bietet mehrere Module, die verschiedene Aspekte der Tabellenänderungsprotokollierung überprüfen:
- Status der Protokollierung von Tabellenänderungen
Überprüft den Profilparameter rec/client
- Status der Protokollierung von Transportänderungen überprüfen
Überprüft den SAP-TMS-Parameter RECCLIENT
- Aktive Protokollierung für geschäftskritische Tabellen
Überprüft das Flag für Protokolländerungen (Daten) für eine Reihe wichtiger Geschäftstabellen
- Aktive Protokollierung für kritische technische Tabellen
Überprüft das Flag für Protokolländerungen (Daten) für eine Reihe wichtiger technischer Tabellen
- Deaktivierung der Protokollierung von Tabellenänderungen
Prüft, ob die Tabellenprotokollierung in einem Quellcodeobjekt explizit deaktiviert ist. Dies könnte dazu genutzt werden, die aktive Protokollierung zu umgehen.
- Unzureichende Tabellenprotokollierung
Prüft einen Transportauftrag auf Tabellen der Klasse A, bei denen das Kennzeichen „Log (Data) Changes“ gesetzt ist
- Tabellenänderungen werden im Zielsystem nicht protokolliert
Prüft, ob für Tabellen mit aktiviertem Kennzeichen „Log (Data) Changes“ der Wert des SAP-TMS-Parameters RECCLIENT mit dem Wert des Profilparameters rec/client im Zielsystem übereinstimmt
Fazit
Die stetig wachsende Zahl gesetzlicher Anforderungen und Compliance-Vorschriften macht es erforderlich, immer mehr Daten zu protokollieren. Die Funktion „Table Change Logging“ in SAP bietet Möglichkeiten, Änderungen an einzelnen Tabellen und einfachen benutzerdefinierten Objekten nachzuverfolgen. Sie muss global für alle Customizing- und Produktivmandanten aktiviert werden – sowohl für lokale Änderungen als auch für Änderungen, die über Transportaufträge übernommen werden. Erfahren Sie mehrüber die Platform SAP-Sicherheit und darüber, wie wir SAP-Kunden dabei unterstützen, alle wichtigen Aspekte des Table Change Logging zu überwachen.
