Anfang des Inhaltsbereichs

konzeptionelle Dokumentation Konzept   Dokument im Navigationsbaum lokalisieren

Um Änderungen zu einem betriebswirtschaftlichen Objekt in einem Änderungsbeleg protokollieren zu können, muß dieses Objekt als Änderungsbelegobjekt im System definiert worden sein. Ein Änderungsbelegobjekt faßt in seiner Definition Tabellen zusammen, die ein betriebswirtschaftliches Objekt im System darstellen. In der Definition kann ferner festgelegt werden, ob bei Löschungen die einzelnen Felder dokumentiert werden sollen. Falls eine Tabelle Felder enthält, deren Werte sich auf Einheiten- und Währungsfelder beziehen, so kann die entsprechende Tabelle, in der die Einheiten und Währungen hinterlegt sind, mitangegeben werden.

Für jede Tabelle muß entschieden werden, ob jeweils nur eine Zeile (Single Case) oder mehrere Zeilen (Multiple Case) zu einem betriebswirtschaftlichen Objekt gehören. Beispielsweise gehören zu einem Auftrag ein Auftragskopf sowie mehrere Auftragspositionen. Bei einer Auftragsänderung werden deshalb in der Regel jeweils eine Zeile für den Auftragskopf und mehrere Zeilen für die Auftragspositionen an die Änderungsbelegerstellung übergeben.

Der Name, unter dem ein Änderungsbelegobjekt angelegt ist, stellt eine Objektklasse dar.

Beispiel

Für das Änderungsbelegobjekt "Bestellanforderung" wurde die Objektklasse BANF definiert, die aus den Tabellen EBAN (Bestellanforderung) und EBKN (Bestellanforderung-Kontierung) besteht.

Änderungen zu diesem betriebswirtschaftlichen Objekt können dann unter den einzelnen Objektwerten dieses Änderungsbelegobjekts, d.h. der Objekt-ID und einer Änderungsbelegnummer im System abgelegt werden. Die Objekt-ID ist der Schlüssel der Objektausprägungen, d.h. aller Sätze, die laut Definition zu einem Änderungsbelegobjekt gehören.

Unter diesem Schlüssel werden alle Änderungen zu einem betriebswirtschaftlichen Objekt als Objektausprägung zusammengefaßt. Dies ist beispielsweise bei Bestellanforderungen die Bestellanforderungsnummer oder bei Nummernkreisobjekten der Name des Nummernkreisobjekts. So kann auf alle Änderungen zu einer bestimmten Bestellanforderung oder einem bestimmten Nummernkreisobjekt zugegriffen werden.

Beispiel

Die Objektausprägung BANF mit der Objekt-ID "3000000000" besteht aus den Zeilen der Tabellen EBAN und EBKN mit der Bestellanforderungsnummer "3000000000".

Sollen Änderungen noch nicht durchgeführt werden, jedoch als Änderungsvorhaben festgehalten werden, so können diese Änderungsvorhaben als geplante Änderungen protokolliert werden. Hierbei ist es möglich, einen geplanten Termin mitanzugeben. Die geplanten Änderungen können ausgewertet und in die eigentlichen Tabellen übernommen werden. Die Übernahme muß jedoch von Ihnen selbst programmiert werden.

Alle Aufgaben zur Protokollierung werden von SAP-Funktionsbausteinen übernommen. Voraussetzung ist die Einbindung bestimmter INCLUDE-Programme in die Anwendungsentwicklung. Die Übergabe an die Änderungsbelegerstellung erfolgt mit der Angabe alter Stand/neuer Stand. Die eingebundenen Funktionsbausteine ermitteln die Änderungen für alle Tabellenfelder, die im Dictionary als änderungsbelegrelevant gekennzeichnet sind.

Änderungsbeleg

Ein Änderungsbeleg stellt die Protokollierung von Änderungen zu einem betriebswirtschaftlichen Objekt dar. Die Belegerstellung erfolgt in einem von der tatsächlichen Änderung auf der Datenbank unabhängigen Schritt. Der Änderungsbeleg ist folgendermaßen aufgebaut:

Im Änderungsbelegkopf werden die Kopfdaten des Änderungsvorgangs zu einer Objekt-ID innerhalb einer bestimmten Objektklasse abgelegt. Hierbei wird automatisch eine Änderungsbelegnummer vergeben.

Die Änderungsbelegposition enthält den alten und den neuen Wert zu einem Feld eines bestimmten Änderungsvorgangs sowie ein Änderungskennzeichen.
Für das Änderungskennzeichen gelten folgende mögliche Werte:

Daten wurden geändert (Protokolleintrag für jedes geänderte Feld, das im Dictionary als "änderungsbelegrelevant" gekennzeichnet wurde)

Daten wurden eingefügt

Änderungen:

Protokolleintrag für den ganzen Tabelleneintrag

gepl. Änderungen:

Protokolleintrag für jedes Feld des Tabelleneintrags

Daten wurden gelöscht (Protokolleintrag für den ganzen Tabelleneintrag)

Löschen eines Tabelleneintrags mit Einzelfelddokumentation 1 Protokolleintrag pro Feld des gelöschten Tabelleneintrags, der gelöschte Text wird aufbewahrt

Die Änderungsbelegnummer wird beim Protokollieren eines Änderungsvorgangs, d.h. beim Anlegen des Änderungsbelegkopfes durch die Funktionsbausteine der Änderungsbelegerstellung (Funktionsgruppe SCD0) vergeben.

Achtung

Die Änderungsnummer ist nicht mit der Änderungsbelegnummer zu verwechseln. Die Änderungsbelegnummer wird automatisch von den Funktionsbausteinen der Funktionsgruppe SCD0 bei der Erstellung eines Änderungsbelegs zu einem Änderungsbelegobjekt vergeben. Die Änderungsnummer wird bei der Planung von Änderungen vom Anwender vergeben. Hierbei kann für verschiedene Änderungsbelegobjekte die gleiche Änderungsnummer verwendet werden.

Interner Ablauf

Beim Aufruf des objektspezifischen Verbuchers wird die objektspezifische Änderungsbelegerstellung aufgerufen. Es wird der objektspezifische Änderungsbelegkopf mit einer Änderungsbelegnummer geschrieben. Für jede zur Objektdefinition gehörende Tabelle wird im Dictionary nachgesehen, welche Felder protokolliert werden sollen. Für diese Felder werden dann gemäß der Objektdefinition die Protokollsätze als Änderungsbelegpositionen erfaßt.