SAP-TabelleObjektMKPFModulMM_P2P

Tabelle MKPF — Materialbelegkopf (Legacy-Zugriff in S/4HANA)

MKPF ist der klassische Tabellenname für Materialbelegköpfe, der Felder auf Belegebene wie Materialbelegnummer und -jahr, Buchungsdatum, Belegdatum, Eingabezeitstempel, Benutzer und Referenz enthält. In S/4HANA wurde die Persistenz von Materialbelegen auf MATDOC vereinfacht; der Zugriff auf die Legacy-Tabellen MKPF und MSEG wird durch Kompatibilitätsmechanismen aufrechterhalten und ist nicht das primäre Persistenzmodell für neue Belege.

MKPF ist die Kopftabelle hinter jedem Materialbeleg, der in der MM-Bestandsführung erstellt wird, und deckt Wareneingänge, Warenausgänge, Umbuchungen und Lagerkorrekturen ab. Diese Seite behandelt, wie sie mit den Positionen verknüpft wird, wie sie ohne eine uferlose Selektion gelesen wird und welche Fallstricke Berater erleben, wenn sie versuchen, eine Frage zur Lagerbewegung allein aus MKPF zu beantworten.

Veröffentlicht am 20. Sept. 2026· 1.015 Wörter

Was sie speichert

Eine Zeile in MKPF repräsentiert den Kopf eines Materialbelegs, das Objekt, das jedes Mal erstellt wird, wenn eine MM-Warenbewegung gebucht wird, sei es durch einen Wareneingang zu einer Bestellung, einen Warenausgang an eine Kostenstelle oder Reservierung, eine Umbuchung zwischen Werken oder Lagerorten oder eine Buchung einer Inventurdifferenz. Der Kopf enthält Informationen, die für den gesamten Beleg gelten: wer ihn gebucht hat, wann er gebucht wurde, wann er in das System eingegeben wurde, welches Referenzdokument oder welche externe Belegnummer angehängt wurde und welche Transaktion oder welcher Prozess die Buchung ausgelöst hat. Er enthält keine Material-, Mengen-, Werks- oder Bewegungsarteninformationen; diese befinden sich eine Ebene tiefer in der Materialbelegpositionstabelle. Ein Materialbeleg kann viele Positionen unter einem Kopf haben, daher ist MKPF immer die kleinere, gröbere Tabelle des Paares, und eine Abfrage allein sagt Ihnen, dass eine Bewegung stattgefunden hat und wer sie verursacht hat, nicht aber, was tatsächlich bewegt wurde.

Schlüsselfelder

  • MBLNR und MJAHR – Materialbelegnummer und -jahr.
  • BUDAT und BLDAT – Buchungs- und Belegdaten.
  • Eingabebenutzer, -datum, -uhrzeit und Referenzfelder – Kontext des Belegprüfpfads.
  • S/4HANA MATDOC – maßgebliche Materialbelegpersistenz für das neue S/4HANA-Design.
  • Freigegebene Materialbeleg-CDS oder API – bevorzugte Erweiterungsschnittstelle für Neuentwicklungen.

Wie sie sich in das Datenmodell einfügt

  • MKPF-MBLNR = MSEG-MBLNR und MKPF-MJAHR = MSEG-MJAHR, die Standardverbindung, um die Bewegungszeilenpositionen, Mengen, Materialien und Werke zu erreichen
  • MSEG-EBELN = EKPO-EBELN und MSEG-EBELP = EKPO-EBELP, um eine Warenbewegung auf die Bestellposition zurückzuverfolgen, zu der sie gebucht wurde
  • MSEG-EBELN/EBELP = EKBE-EBELN/EBELP, um die Bewegung mit dem erzeugten Bestellentwicklungssatz abzugleichen
  • MKPF-USNAM gegen Benutzerstammtabellen, wenn untersucht wird, wer einen verdächtigen oder doppelten Beleg gebucht hat
  • MKPF-XBLNR gegen die Referenzfelder für Kreditorenrechnungen in RBKP/RSEG, wenn eine Drei-Wege-Abweichung bis zum physischen Wareneingang zurückverfolgt wird

Wie man sie sicher liest

MANDT ist immer die erste Einschränkung. Danach wird MKPF nur sinnvoll mit einer Belegnummer und einem Jahr oder einem Buchungsdatumsbereich plus einer weiteren Einschränkung wie Benutzer oder Transaktionscode abgefragt, da sie auf jedem produktiven Livesystem eine Zeile pro Warenbewegung über jedes Werk und jedes Material hinweg ansammelt, was in einem ausgereiften System viele Millionen Zeilen bedeutet. Selektieren Sie niemals aus MKPF nur nach BUDAT über einen weiten Datumsbereich ohne einen zweiten Filter; dies würde die gesamte Tabelle scannen. Wenn die Anforderung darin besteht, Bewegungen für ein bestimmtes Material oder Werk zu finden, existiert dieser Filter in MSEG, nicht in MKPF. Beginnen Sie die Abfrage also dort und verknüpfen Sie sie mit MKPF für Datum und Benutzer, anstatt in MKPF zu beginnen und nach unten zu verknüpfen.

Wie man es in den Daten nachweist

Symptom: Ein Lagerteam behauptet, Wareneingang 5000012345 sei nie gebucht worden, aber der Lagerbestand sieht korrekt aus. Selektion: Lesen Sie MKPF nach MBLNR und MJAHR für die angegebene Belegnummer; wenn eine Zeile existiert, wurde der Beleg gebucht, notieren Sie BUDAT, CPUDT und USNAM. Verknüpfen Sie dann mit MSEG über denselben Schlüssel, um zu bestätigen, welches Werk, welcher Lagerort und welches Material tatsächlich Menge erhalten hat, da der Kopf allein nicht bestätigen kann, was bewegt wurde, sondern nur, dass etwas gebucht wurde und von wem.

ECC vs. S/4HANA

Die SAP S/4HANA MM-IM Dokumentation besagt, dass MATDOC das frühere MKPF- und MSEG-Persistenzmodell ersetzt und Kompatibilität über CDS-Kompatibilitätssichten bereitgestellt wird. Beschreiben Sie MKPF in S/4HANA nicht als normal aktualisierte physische Kopftabelle und entwerfen Sie keine neue direkte Schreib- oder Leselogik um sie herum, wenn freigegebene MATDOC/CDS-APIs verfügbar sind.

Häufige Fallstricke

  • MKPF so behandeln, als ob sie Mengen- oder Materialinformationen enthält; jedes Feld, das ein Berater tatsächlich benötigt, um eine Bestandsfrage zu beantworten, wie Bewegungsart, Menge, Werk, Lagerort oder Charge, befindet sich in MSEG, nicht in MKPF
  • Annehmen, dass BUDAT und BLDAT dasselbe Datum sind; BLDAT ist das externe Belegdatum und kann Tage oder Wochen vor BUDAT liegen, das die Perioden- und Bestandsbewertung steuert. Abweichungen zwischen beiden sind normal und zu erwarten, kein Fehler
  • Nur nach BUDAT filtern, um eine Periodenendbestandsdifferenz abzustimmen und verspätet in eine geschlossene Periode gebuchte Belege mit einem rückdatierten BUDAT zu übersehen; CPUDT (tatsächliches Erfassungsdatum) ist das Feld, das verspätete Buchungen aufdeckt, nicht BUDAT
  • Annehmen, dass eine MKPF-Zeile eine Lagerbewegung bedeutet; ein einzelner Materialbelegkopf kann viele Positionszeilen mit unterschiedlichen Bewegungsarten und sogar unterschiedlichen Werken abdecken, so dass das Zählen von MKPF-Zeilen zur Zählung von Bewegungen die Aktivität unterzählt
  • TCODE2 mit der Transaktion verwechseln, die der Endbenutzer tatsächlich eingegeben hat; Hintergrundbuchungen von IDocs, Batch-Jobs oder Schnittstellenprogrammen können dieses Feld mit einem generischen oder unerwarteten Wert füllen, so dass es allein kein zuverlässiger Beweis für manuelle Eingriffe ist
  • Versuchen, die Auswirkung eines stornierten Belegs allein aus MKPF zu rekonstruieren; eine Stornierung erzeugt einen eigenen neuen Materialbelegkopf, der auf den ursprünglichen verweist, sie löscht oder kennzeichnet die ursprüngliche Zeile nicht

Wessen Problem das ist

Eine Frage zu einem bestimmten Belegkopf, wie z.B. wer ihn wann gebucht hat, ist eine funktionale Frage der MM-Bestandsführung, die in der Verantwortung desjenigen liegt, der die Warenbewegungsprozesse konfiguriert hat. Fragen zur zugrunde liegenden Tabellenstruktur, Indizierung oder dem Migrationsverhalten in MATDOC gehören in den technischen/Basis- oder ABAP-Entwicklungsbereich, insbesondere während eines S/4HANA-Konvertierungsprojekts.

Verwandte SAP-Objekte

Geprüfte Seiten, mit denen dieses Objekt im ERPClimb-Wissensgraphen verbunden ist.

Quelle: ERPClimb — https://erpclimb.com/sap-tables/mkpfERPClimb ist eine unabhängige Plattform und steht in keiner Verbindung zur SAP SE. Die Referenzseiten werden von SAP-Beratern für Lernen und Fehleranalyse verfasst und geprüft.