Dieses How-To zeigt, welche Einstellungen notwendig sind, um für ein Objekt und seine Positionen Änderungsbelege zu schreiben.

Die Änderungsbelege werden nach dem Persistieren der Daten der Objekte auf der Datenbank ("speichern") synchron oder asynchron geschrieben. Das QPPD verwendet ausschließlich insgesamt 12 Datenbanktabellen (P) im /SCT/-Namensraum zur Speicherung von Daten zu einem Objekt und seinen Positionen. Die Änderungsbelege dokumentieren auf der technischen Ebene der Datenbanktabellen, welche Einträge hinzugefügt, gelöscht oder welche Felder sich für bestehende Einträge geändert haben. Für jedes Feld dieser Datenbanktabellen, welches nicht als Primärschlüssel verwendet wird, können Änderungsbelege geschrieben werden. Dabei werden diejenigen Änderungen dokumentiert, welche seit dem Laden oder seit dem letzten Speichern des Objekts entstanden sind. 

Das QPPD verwendet den Standard SAP für die Änderungsbelege. Dies bedeutet, dass es für einen Änderungsbeleg genau eine Kopfinformation und beliebig viele Positionsinformationen geben kann, welche in den drei Standard-SAP Tabellen CDHDR, CDPOS und CDPOS_UID gespeichert werden. Es können generell Änderungsbelege für das Erstellen, Ändern und Löschen von Werten geschrieben werden. Dies bedeutet, dass für eine Änderung eines Wertes in einem Datenbankfeld genau ein Eintrag auf der Positionsebene der Änderungsbelege entsteht. Die Änderungen auf einem Knoten werden in genau einem Änderungsbeleg erfasst und ein Änderungsbeleg bezieht sich immer auf genau einen Knoten. Besteht bspw. das Objekt aus insgesamt 20 Knoten und es werden 10 Knoten geändert, dann entstehen nach dem Speichern 10 Änderungsbelege.

Wenn ein Objekt oder ein Knoten gelöscht wird, werden die zugehörigen Änderungsbelege (Kopf- und Positionsinformationen) ebenfalls gelöscht. Wenn ein Wert, ein Text oder ein Dokument eines Knotens gelöscht wird, der Knoten selber aber erhalten bleibt, werden diese Löschungen durch die Änderungsbelege dokumentiert.

Über das Customizing-Objekt Änderungsbelegprofil wird festgelegt, für welche Felder der verschiedenen Datenbanktabellen Änderungsbelege geschrieben werden. Dieses Änderungsbelegprofil wird je nach Bedarf der Vorschriftenart und/oder den Positionstypen zugeordnet. Die Zuordnung des Änderungsbelegprofils kann an der Hierarchie redefiniert werden.

Wenn das Customizing für die Änderungsbelegprofile geändert wird und dieses bereits verwendet wird, können evtl. entstehende, überflüssige Änderungsbelege über ein Programm gelöscht werden. 

Die verschiedenen Einstellungen werden im folgenden Text erklärt.