
Ein Bestand ist eine nicht summierbare Kennzahl auf der Ebene eines oder mehrerer Objekte, die immer in Bezug auf die Zeit dargestellt wird. Beispiele für Bestände sind Personalbestand, Kontostand und Materialbestand.
Wie Sie die Ablage von Beständen im BW-System modellieren, hängt von Ihrem Szenario ab. Je nachdem, wie häufig sich die Bestände ändern und für welche Gesamtanzahl von Objekten sie Bestände ermitteln wollen, sollten Sie sich für eine der zwei Möglichkeiten entscheiden:
Bestandsführung mit Bestandskennzahlen:
Wenn sich die Bestände selten ändern, dann sollten Sie sich für die Bestandsführung mit Bestandskennzahlen entscheiden.
Durch die Verwendung von Bestandskennzahlen werden in den Faktentabellen des InfoCubes ein absoluter Bestandswert (die Stützstelle) und alle Bestandsveränderungen gespeichert. Dadurch wird die Datenhaltung und das Datenvolumen im Datenladeprozess optimiert. Denn nur dann, wenn sich ein Bestand aufgrund einer Bewegung verändert hat, wird ein Datensatz dazu in den InfoCube geladen. Eine Auswertung von Beständen zu einem beliebigen Zeitpunkt erfolgt dann in Queries über Bestandskennzahlen.
Die Faktentabelle des InfoCubes mit Bestandskennzahlen sieht z.B. so aus (vereinfacht):
|
Periode |
Material |
Delta |
|---|---|---|
|
2003001 |
AAA |
1400 |
|
2003001 |
AAA |
100 |
|
2003002 |
AAA |
-150 |
|
2003003 |
AAA |
-50 |
|
2003004 |
AAA |
400 |
|
2003006 |
AAA |
-300 |
|
2003009 |
AAA |
1400 |
In der Faktentabelle sind die Bewegungsdaten enthalten. Der erste Satz in der Tabelle ist die Initialisierung. Dieser Eintrag bleibt zwar nicht physisch bestehen, er ist aber zum Neuaufbau der Bestände vorhanden.
Der letzte Satz ist in diesem Fall die Stützstelle (der InfoCube wurde nach diesem Request komprimiert). Der Bestand für die Periode 2003005 wird folgendermaßen berechnet: 1400 - (-300) = 1700. Diese Berechnung findet zur Laufzeit der Query statt. Damit können auch Bestände zu Zeitpunkten angezeigt werden, zu denen keine Bewegungsdaten geladen worden sind.
Die Verwendung von Bestandskennzahlen empfiehlt sich, wenn die Anzahl der Bewegungsdaten 20% geringer ist als die Granularität des InfoCubes.
Vorteile dieser Lösung:
Die Faktentabelle wird kleiner gehalten.
Die Historie bleibt erhalten.
Nachteile dieser Lösung:
Der administrative Aufwand ist größer (z.B. muss der InfoCube öfter komprimiert werden, um die Stützstelle aktuell zu halten).
Die Query-Laufzeit kann durch die Berechnung des Bestands beeinträchtigt werden.
Das Löschen von Bewegungsdaten zu nicht mehr aktuellen Materialien ist nicht möglich, da beim Löschen nicht auf die Zeit eingeschränkt werden kann.
Siehe dazu die ausführliche Dokumentation Modellierung von Beständen mit Bestandskennzahlen.
Bestandsführung mit normalen Kennzahlen (Flusskennzahlen):
Wenn sich die Bestände häufig ändern, dann sollten Sie sich für die Bestandsführung mit normalen Kennzahlen, also Flusskennzahlen entscheiden. Dabei werden absolute Bestände zu allen Objekten zu gewissen Stichtagen (z.B. Ende des Monats) in InfoCubes gehalten. Diese absoluten Bestände können dabei aus einem DataStore-Objekt ermittelt werden, das laufend mit Bestandsveränderungen versorgt wird.
In diesem Fall erfolgt die Bestandsberechnung zur Laufzeit der Query und die Aktualisierung der Stützstelle durch Komprimierung innerhalb der Administration eines InfoCubes mit Bestandskennzahlen.
Die Faktentabelle des InfoCubes mit normalen Kennzahlen sieht z.B. so aus (vereinfacht):
|
Periode |
Material |
(Delta) |
Bestandswert |
|---|---|---|---|
|
2003001 |
AAA |
(100) |
1500 |
|
2003002 |
AAA |
(-150) |
1350 |
|
2003003 |
AAA |
(-50) |
1300 |
|
2003004 |
AAA |
(400) |
1700 |
|
2003005 |
AAA |
(-) |
1700 |
|
2003006 |
AAA |
(-300) |
1400 |
In der Faktentabelle befinden sich die Bestandswerte, aber kein Delta (ist hier nur der Verständlichkeit wegen mit enthalten). Der Bestandswert einer bestimmten Periode kann durch die Verwendung einer Kennzahl mit einer Ausnahmeaggregation über die Periode ermittelt werden.
Die Werte zu jeder Kennzahl werden in der Granularität des InfoCubes gespeichert. Wenn die Menge der Bewegungsdaten fast gleich der Anzahl der granularsten InfoObjects ist (z.B. Woche multipliziert mit Material), dann empfiehlt sich die Verwendung von normalen Kennzahlen.
Vorteile dieser Lösung:
Die Query-Laufzeit wird nicht durch die Berechnung des Bestands beeinträchtigt.
Das Löschen von Bewegungsdaten zu nicht mehr aktuellen Materialien ist problemlos möglich.
Nachteile dieser Lösung:
Die Faktentabelle wird größer als bei einer Verwendung von Bestandskennzahlen.
Um Buchungen in der Zukunft und Vergangenheit richtig fortzuschreiben, müssen die Daten zuerst in ein DataStore-Objekt geladen werden, dann erst in den InfoCube.
"How to..."-Paper für Bestandsführungsszenarios im BW
SAP stellt ein Dokument zur Verfügung, das sich ausführlicher mit den technischen Besonderheiten der Bestandsführung im BW befasst.
Wählen Sie zur Anzeige dieses Dokuments im SAP Developer Network (SDN) unter der Internetadresse
https://www.sdn.sap.com/irj/sdn/howtoguides
.