Um das Problem zu verdeutlichen, hier ein Beispiel, wie es bei uns im System abläuft (meiner Meinung nach eben falsch):
(Hinweis vorab: bei den Stützstellen (Sätze mit Datum 31.12.9999) wird die Menge immer unter "Zugang" mit dem entsprechendem Vorzeichen abgelegt)
Initialbeladung Material 4711 mit 500 ST Bestand zum 01.01.18.
Komprimierung der Initialbeladung, Datensatz in 0IC_C03:
MATNR----Materialbeleg----Kalendertag----Abgangsmenge----Zugangsmenge
4711-------- - --------------------31.12.9999-----0----------------------500
Bewegungen von Material 4711:
200 ST Abgang am 02.01.18
100 ST Zugang am 03.01.18
Datenbeladung in den Cube. Datensätze vor dem Komprimieren:
MATNR----Materialbeleg----Kalendertag----Abgangsmenge.----Zugangsmenge.
4711-------- - ---------------------31.12.9999------0----------------------500
4711--------123------------------02.01.2018-----200-------------------0
4711--------456------------------03.01.2018-----0----------------------100
Komprimierung der Bewegungen. Datensätze nach dem Komprimieren im Cube:
MATNR----Materialbeleg----Kalendertag----Abgangsmenge----Zugangsmenge
4711-------- - -------------------31.12.9999------0---------------------500
4711--------123------------------02.01.2018-----200------------------0
4711--------456------------------03.01.2018-----0---------------------100
4711--------123------------------31.12.9999-----0-------------------- -200
4711--------456------------------31.12.9999-----0---------------------100
Um jetzt z.B. den Bestand vom 04.01.18 zu berechnen, werden anscheinend alle Stützstellen addiert und es kommt der richtige Wert raus:
500 + (-200) + 100 = 400
Um den Bestand vom 02.01.18 zu berechnen werden vermutlich auch erst die Stützstellen aufaddiert (siehe oben), und dann noch der Zugang vom 03.01.18 (100 ST) abgezogen. Und man hat auch den richtigen Wert von 300 ST für den 02.01. So ist das ja auch von SAP beschrieben.
Aber bei sehr vielen Material-Bewegungen führt das einfach zu langen Query-Laufzeiten, da alle Materialbewegungen (da sie ja als Stützstellen abgelegt wurden) aufaddiert werden müssen. Das sollte ja eigentlich während der Komprimierung passieren, oder? Nach Komprimierung der der Material-Bewegungen sollte der Cube eigentlich so aussehen:
MATNR----Materialbeleg----Kalendertag----Abgangsmenge----Zugangsmenge
4711-------- - -------------------31.12.9999------0----------------------400
4711--------123------------------02.01.2018-----200-------------------0
4711--------456------------------03.01.2018-----0-----------------------100
Der aktuelle Bestand ist als Stützstelle abgelegt und errechnet sich aus dem Initialbestand (500) und den Bewegungen (-200 +100), zusammen also 400. Die Bewegungen mit Belegdatum sind zur Berechnung vergangener Bestände vorhanden.
Oder habe ich das Konzept doch falsch verstanden?
Ich hoffe, das Beispiel hilft etwas :)