Vertiefung der Spalte STOCK_IND_L2 in der SAP-Tabelle MATDOC_EXTRACT
Verständnis der Materialbelegdaten in SAP S/4HANA
Die SAP-Tabelle MATDOC_EXTRACT ist ein zentraler Bestandteil des neuen vereinfachten Datenmodells (New Simplified Data Model - NSDM) für die Bestandsführung in SAP S/4HANA. Sie wurde eingeführt, um die Performance bei der Berechnung von Bestandszahlen "on the fly" zu verbessern. Innerhalb dieser Tabelle spielt die Spalte STOCK_IND_L2 eine spezifische Rolle im Kontext der Datenvorverdichtung.
Wichtige Erkenntnisse zur MATDOC_EXTRACT und STOCK_IND_L2
- MATDOC_EXTRACT als Performance-Optimierer: Diese Tabelle ist eine verdichtete Version der MATDOC-Tabelle und dient dazu, die Abfrageleistung für Bestandsberechnungen zu beschleunigen.
- STOCK_IND_L2 und Vorverdichtung: Die Spalte
STOCK_IND_L2kennzeichnet Materialbelegpositionen, die für die Vorverdichtung von Bestandsdaten auf Ebene 2 nicht relevant sind. - Vereinfachtes Datenmodell: MATDOC_EXTRACT ist Teil des NSDM in S/4HANA, das die Komplexität alter Tabellen wie MKPF, MSEG und MARD reduziert.
Die Rolle von MATDOC_EXTRACT im Neuen Vereinfachten Datenmodell (NSDM)
Mit der Einführung von SAP S/4HANA wurde das Datenmodell für die Bestandsführung grundlegend überarbeitet. Das Ziel war eine Vereinfachung und Leistungssteigerung, insbesondere durch die Nutzung der In-Memory-Fähigkeiten der SAP HANA-Datenbank. Die traditionellen Tabellen wie MKPF (Materialbelegkopf) und MSEG (Materialbelegpositionen), die Materialbelegdaten speicherten, sowie Bestandstabellen wie MARD, MARC und MBEW, die Bestandsinformationen auf verschiedenen Ebenen hielten, wurden durch ein neues Modell ersetzt oder in ihrer Funktion angepasst.
Im Zentrum dieses neuen Modells steht die Tabelle MATDOC. Sie vereint die Kopf- und Positionsdaten von Materialbelegen und enthält alle Informationen, die für die Berechnung von Beständen erforderlich sind. Allerdings kann die schiere Menge an Materialbelegdaten in MATDOC über die Zeit sehr groß werden, was Abfragen zur Bestandsermittlung verlangsamen könnte, wenn sie direkt aus dieser Tabelle aggregiert werden müssten.
Hier kommt MATDOC_EXTRACT ins Spiel. Diese Tabelle ist eine "kondensierte" Version der MATDOC und wurde speziell dafür entwickelt, die Performance bei der Berechnung von Bestandszahlen "on the fly" zu verbessern. Daten werden gleichzeitig in MATDOC und MATDOC_EXTRACT eingefügt, wenn ein Materialbeleg gebucht wird. MATDOC_EXTRACT enthält eine Teilmenge von Feldern aus MATDOC, die für die Bestandsaggregation relevant sind.
Die Nutzung von MATDOC_EXTRACT ermöglicht eine schnelle Aggregation von aktuellen und historischen Periodenendbeständen über Core Data Services (CDS) Views. Diese CDS Views sind die primäre Schnittstelle für den Zugriff auf Bestandsdaten im S/4HANA-System und ersetzen den direkten Zugriff auf viele der alten Tabellen.
Verständnis der Spalte STOCK_IND_L2
Zweck und Bedeutung
Die Spalte STOCK_IND_L2 in der Tabelle MATDOC_EXTRACT ist ein Indikator, der angibt, ob die Bestandsmenge und der Wert einer bestimmten Materialbelegposition für die Vorverdichtung auf Level 2 relevant sind oder nicht. Die Vorverdichtung ist ein Prozess, bei dem Materialbelegdaten in MATDOC_EXTRACT komprimiert und aggregiert werden, um die Anzahl der Datensätze zu reduzieren, die für Bestandsberechnungen verarbeitet werden müssen. Dies trägt maßgeblich zur Leistungsoptimierung bei.
Wenn das Feld STOCK_IND_L2 für einen Datensatz gesetzt ist, bedeutet dies, dass diese spezifische Bestandsänderung nicht in den Aggregationsprozess der Vorverdichtung auf Level 2 einbezogen wird. Dies kann verschiedene Gründe haben, beispielsweise weil die Bestandsbewegung bestimmter Kategorien angehört, die separat behandelt werden müssen oder für bestimmte Aggregationsebenen nicht relevant sind.
Ein Beispiel für ein Bestandsübersichts-Dashboard, das auf aggregierten Daten basiert.
Füllung der Spalte STOCK_IND_L2
Die Füllung der Spalte STOCK_IND_L2 erfolgt automatisch durch das SAP-System während der Buchung von Materialbelegen. Basierend auf der Art der Bestandsbewegung und den damit verbundenen Konfigurationen wird entschieden, ob eine Materialbelegposition für die Vorverdichtung auf Level 2 relevant ist oder nicht. Dies wird durch interne Logik und Customizing-Einstellungen gesteuert.
Die genauen Kriterien, wann STOCK_IND_L2 gesetzt wird, hängen von den spezifischen Geschäftsprozessen und der Konfiguration des Systems ab. Im Allgemeinen sind jedoch Materialbewegungen, die sich auf bestimmte Bestandskategorien oder spezielle Bestände beziehen, potenziell Kandidaten dafür, dass STOCK_IND_L2 gesetzt wird, wenn sie von der Standardvorverdichtung auf Level 2 ausgenommen werden sollen.
Es ist wichtig zu verstehen, dass die Spalte STOCK_IND_L2 Teil des internen Mechanismus ist, den SAP S/4HANA verwendet, um die Performance der Bestandsführung zu optimieren. Sie ist in erster Linie für technische Zwecke und die interne Datenverarbeitung relevant und wird in der Regel nicht direkt von Endanwendern manuell gepflegt.
Zusammenspiel von MATDOC und MATDOC_EXTRACT
Das neue Datenmodell in SAP S/4HANA sieht vor, dass MATDOC die vollständigen Materialbelegdaten enthält, während MATDOC_EXTRACT eine optimierte Teilmenge für schnelle Bestandsaggregationen bereithält. Wenn ein Materialbeleg gebucht wird, werden Datensätze in beide Tabellen geschrieben. Die Daten in MATDOC_EXTRACT werden periodisch durch einen Prozess der Vorverdichtung komprimiert.
Dieser Vorverdichtungsprozess, der oft im Rahmen des Periodenabschlusses (z.B. über die Transaktion MMPV) ausgeführt wird, aggregiert die Bestandsänderungen aus mehreren Materialbelegpositionen in MATDOC_EXTRACT zu weniger, verdichteten Datensätzen. Die Spalte STOCK_IND_L2 spielt hier eine Rolle, indem sie bestimmte Datensätze von dieser spezifischen Aggregation auf Level 2 ausschließt.
Das Ergebnis der Vorverdichtung sind weniger Datensätze in MATDOC_EXTRACT, die dennoch die notwendigen Informationen für die schnelle Berechnung aktueller Bestände über CDS Views enthalten. Dadurch wird die Performance bei Berichten und Analysen, die Bestandsdaten aggregieren, erheblich verbessert.
SAP Analytics Cloud nutzt aggregierte Daten für Berichte und Analysen.
Kompatibilitätssichten und Altsysteme
Für die Abwärtskompatibilität und um sicherzustellen, dass bestehende Berichte und Programme, die auf alte Tabellen zugreifen, weiterhin funktionieren, hat SAP Kompatibilitätssichten (Compatibility Views) eingeführt. Beispielsweise wird die alte Tabelle MARDH (Bestandshistorie nach Lagerort) in S/4HANA über eine Kompatibilitätssicht aus Daten in MATDOC_EXTRACT generiert. Dies ermöglicht es Systemen und Berichten, die auf MARDH zugreifen, weiterhin korrekte Bestandsdaten zu erhalten, obwohl die Daten physisch anders gespeichert sind.
Auch Extraktoren für SAP Business Warehouse (BW), wie die 2LIS_03*-Extraktoren, funktionieren in S/4HANA weiterhin durch die Nutzung dieser Kompatibilitätssichten. Sie greifen auf die Daten in MATDOC und MATDOC_EXTRACT über die entsprechenden Views zu, um Bestandsdaten für das BW-System zu extrahieren.
Struktur der MATDOC_EXTRACT Tabelle
Die MATDOC_EXTRACT Tabelle enthält eine Reihe von Feldern, die für die schnelle Bestandsaggregation relevant sind. Dazu gehören Identifikatoren wie Materialnummer, Werk, Lagerort, Charge, Bestandsart sowie Mengen- und Wertfelder. Die Spalte STOCK_IND_L2 ist eines dieser Felder, das spezifische Steuerinformationen für den Aggregationsprozess liefert.
| Feldname | Beschreibung | Relevanz |
|---|---|---|
| MATERIAL | Materialnummer | Schlüssel zur Identifizierung des Materials. |
| WERKS | Werk | Schlüssel zur Identifizierung des Werks. |
| LGORT | Lagerort | Schlüssel zur Identifizierung des Lagerorts. |
| CHARGE | Charge | Schlüssel zur Identifizierung der Charge. |
| STOCK_IND_L2 | Stock Qty and Value not Relevant for Pre-Compaction (Level2) | Indikator für die Relevanz zur Vorverdichtung auf Level 2. |
| MENGE | Menge | Menge der Bestandsbewegung. |
| MEINS | Basiseinheit | Einheit der Menge. |
| BPMNG | Menge in Bestandseinheit | Menge umgerechnet in die Bestandseinheit. |
Ausgewählte Felder der MATDOC_EXTRACT Tabelle, einschließlich STOCK_IND_L2.
Technische Details
MATDOC_EXTRACT ist eine transparente Tabelle im ABAP Dictionary. Sie ist als Anwendungstabelle (Delivery Class A) klassifiziert, was bedeutet, dass sie Master- und Bewegungsdaten enthält. Die Daten in dieser Tabelle können mit Standard-SAP-Transaktionen wie SE11, SE16 oder SE80 sowie über die ABAP Development Tools (ADT) in Eclipse eingesehen werden. Die Struktur der Tabelle und die Details der einzelnen Felder sind im ABAP Dictionary definiert.
Auswirkungen auf Reporting und Analyse
Die Einführung von MATDOC und MATDOC_EXTRACT sowie die Nutzung von CDS Views für den Zugriff auf Bestandsdaten haben erhebliche Auswirkungen auf das Reporting und die Analyse in SAP S/4HANA. Anstatt direkt auf physische Tabellen zuzugreifen, basieren moderne Berichte und Analysetools, wie z.B. SAP Analytics Cloud, auf den optimierten CDS Views, die Daten aus MATDOC und MATDOC_EXTRACT aggregieren.
Die Spalte STOCK_IND_L2 beeinflusst indirekt das Reporting, indem sie steuert, welche Daten in die vorverdichteten Aggregate in MATDOC_EXTRACT einfließen. Berichte, die auf diesen Aggregaten basieren, profitieren von der verbesserten Performance, die durch die reduzierte Datenmenge in MATDOC_EXTRACT ermöglicht wird.
Für Entwickler und Analysten ist es wichtig, das neue Datenmodell und die Rolle von Tabellen wie MATDOC und MATDOC_EXTRACT zu verstehen, um effiziente Abfragen und Berichte zu erstellen. Die Nutzung der von SAP bereitgestellten CDS Views wird dringend empfohlen, da diese die optimale Methode für den Zugriff auf Bestandsdaten in S/4HANA darstellen und die Komplexität des zugrundeliegenden Datenmodells abstrahieren.
Dieses Video erläutert das Konzept von MATDOC und MATDOC_EXTRACT in SAP S/4HANA.
Häufig gestellte Fragen (FAQ)
Was ist der Hauptzweck der MATDOC_EXTRACT Tabelle?
Der Hauptzweck der MATDOC_EXTRACT Tabelle in SAP S/4HANA ist die Verbesserung der Performance bei der Berechnung von Bestandszahlen "on the fly". Sie ist eine verdichtete Version der MATDOC Tabelle, die für schnelle Aggregationen optimiert ist.
Wie unterscheidet sich MATDOC_EXTRACT von MATDOC?
MATDOC enthält die vollständigen Kopf- und Positionsdaten aller Materialbelege. MATDOC_EXTRACT enthält eine Teilmenge dieser Daten, die speziell für die Bestandsaggregation ausgewählt und für die Vorverdichtung aufbereitet ist. MATDOC_EXTRACT wird verwendet, um die Abfrageleistung für Bestandsberichte zu beschleunigen.
Was bedeutet die Spalte STOCK_IND_L2 genau?
Die Spalte STOCK_IND_L2 in MATDOC_EXTRACT gibt an, ob die Bestandsmenge und der Wert einer Materialbelegposition für die Vorverdichtung auf Level 2 relevant sind oder nicht. Wenn das Feld gesetzt ist, wird der Datensatz von dieser spezifischen Aggregation ausgenommen.
Wie wird die Spalte STOCK_IND_L2 gefüllt?
Die Füllung der Spalte STOCK_IND_L2 erfolgt automatisch durch das SAP-System während der Buchung von Materialbelegen basierend auf der Art der Bestandsbewegung und der Systemkonfiguration.
Ersetzen MATDOC und MATDOC_EXTRACT alle alten Bestandstabellen?
MATDOC und MATDOC_EXTRACT sind die zentralen Tabellen für Materialbeleg- und Bestandsdaten in S/4HANA. Viele alte Bestandstabellen wie MARD, MARC und MBEW existieren weiterhin, aber sie enthalten in der Regel nur noch Stammdaten. Bestandsinformationen aus diesen alten Tabellen werden über Kompatibilitätssichten bereitgestellt, die Daten aus MATDOC und MATDOC_EXTRACT aggregieren.
Referenzen
Last updated May 9, 2025