Tabelle EKPO — Positionstabelle für Einkaufsbelege
EKPO speichert eine Zeile pro Position eines Einkaufsbelegkopfs, der in EKKO enthalten ist: Bestellungen, Kontrakte, Lieferpläne, Anfragen. Sie enthält Material, Werk, Menge, Preis, Kontierung, Positionstyp und Erledigungskennzeichen für diese Zeile. Kumulierte Wareneingangs- oder Rechnungs-Mengen werden nicht gespeichert; diese befinden sich in EKBE.
EKPO ist die Positionstabelle unter jedem Einkaufsbelegkopf in EKKO. Diese Seite behandelt, welche Felder tatsächlich die Antwort auf eine Statusfrage liefern, die Joins, die Berater täglich gegen EKET, EKKN und EKBE schreiben, und den wiederkehrenden Fehler, Bestellzeitwerte oder Erledigungsflags so zu lesen, als ob sie den aktuellen Logistikstatus widerspiegeln würden.
Veröffentlicht am 15. Sept. 2026· 1.103 Wörter
Was sie speichert
Eine Zeile in EKPO repräsentiert eine einzelne Position eines Einkaufsbelegs: Material oder Dienstleistung, Werk, Lagerort, Bestellmenge, Preiskonditionen auf Kopf- und Positionsebene, Kontierung und Positionstyp sowie eine Reihe von Statuskennzeichen, die zeigen, ob die Position gelöscht, lieferabgeschlossen oder rechnungsabgeschlossen ist. Der Belegkopf (Lieferant, Einkaufsorganisation, Belegart, Währung) befindet sich in EKKO und wird hier nicht wiederholt. Eine Lieferplan- oder Kontraktposition in EKPO trägt typischerweise eine nominale oder null Zielmenge, wobei der tatsächliche Lieferplan in EKET liegt. Textpositionen und einige Dienstleistungspositionen haben überhaupt keinen Materialstammbezug, was normal und kein Datenfehler ist. EKPO ist die Tabelle, die die meisten Leute meinen, wenn sie von einer Bestellposition sprechen.
Schlüsselfelder
- MANDT - Mandant
- EBELN - Einkaufsbelegnummer, verknüpft mit dem Kopf EKKO
- EBELP - Positionsnummer innerhalb des Belegs
- MATNR - Materialnummer, leer für Text- oder Freiform-Dienstleistungspositionen
- TXZ01 - Kurztext, der die Position beschreibt
- WERKS - Werk
- LGORT - Lagerort
- MATKL - Materialgruppe
- MENGE - Bestellmenge
- MEINS - Bestellmengeneinheit
- NETPR - Nettopreis pro Preiseinheit
- PEINH - Preiseinheit, durch die NETPR geteilt werden muss, um den wahren Einzelpreis zu erhalten
- NETWR - Nettobestellwert der Position in Belegwährung
- KNTTP - Kontierung, leer für Bestandspositionen, K/F/etc. für Kosten- oder Auftrags-bezogene Positionen
- PSTYP - Positionstyp, Standard, Konsignation, Lohnbearbeitung, Streckengeschäft usw.
- LOEKZ - Löschkennzeichen, auf Positionsebene gesetzt oder vom Kopf vererbt
- ELIKZ - Lieferabschlusskennzeichen
- EREKZ - Endrechnungskennzeichen
- WEBRE - Wareneingangsbezogene Rechnungsprüfung
- BANFN, BNFPO - Banfnummer und -position, die diese Bestellposition erzeugt hat, falls vorhanden
Wie sie sich in das Datenmodell einfügt
- EKPO-EBELN = EKKO-EBELN (Position zu Kopf)
- EKPO-EBELN, EKPO-EBELP = EKET-EBELN, EKET-EBELP (Lieferplaneinteilungen)
- EKPO-EBELN, EKPO-EBELP = EKKN-EBELN, EKKN-EBELP (Kontierungsdetails)
- EKPO-EBELN, EKPO-EBELP = EKBE-EBELN, EKBE-EBELP (Wareneingangs- und Rechnungshistorie)
- EKPO-MATNR = MARA-MATNR (Materialstamm)
- EKPO-MATNR, EKPO-WERKS = MARC-MATNR, MARC-WERKS (Werksdaten zum Material)
- EKPO-BANFN, EKPO-BNFPO = EBAN-BANFN, EBAN-BNFPO (ursprüngliche Banf, wenn die Bestellung Banf-gesteuert war)
Wie man sie sicher liest
Der Primärschlüssel ist MANDT plus EBELN plus EBELP, daher ist das Mandantenfeld implizit und jede Auswahl muss danach abgegrenzt werden. Wählen Sie niemals nur nach MATNR in einem Live-System; es ist nicht selektiv und würde die gesamte Positionspopulation durchsuchen. Schränken Sie immer nach einem EBELN-Wert oder -Bereich ein, wenn die Belegnummer bereits bekannt ist, oder joinen Sie zuerst über EKKO und filtern Sie nach Belegart, Einkaufsorganisation oder Erstellungsdatum, bevor Sie EKPO-Zeilen abrufen. Verwenden Sie LOEKZ gleich Leerzeichen, um gelöschte Positionen auszuschließen, und ELIKZ/EREKZ nur als Erstfilter, nicht als Beweis für die physische Erledigung. Auf jeder klassischen Datenbank ist die Tabelle groß genug, dass ein uneingeschränkter MATNR- oder WERKS-Scan ein echtes Performance-Problem darstellt; auf HANA ist es tolerierbar, aber immer noch verschwenderisch.
Wie man es in den Daten beweist
Symptom: Eine Bestellposition wird in einer Reporting-Liste immer noch als offen angezeigt, obwohl das Unternehmen davon ausgeht, dass Wareneingang und Rechnung beide erledigt sind. Selektieren Sie EKPO für das bekannte EBELN und EBELP und überprüfen Sie ELIKZ und EREKZ direkt. Wenn beide leer sind, betrachtet das System die Position als offen, unabhängig davon, was gebucht wurde. Der nächste Schritt ist der Vergleich von EKPO-MENGE mit den kumulierten Mengen in EKBE für dasselbe EBELN/EBELP, da eine Teillieferung oder eine Stornierung die Erledigungskennzeichen auch nach realer Lieferung ungesetzt lassen kann.
ECC vs. S/4HANA
EKPO bleibt eine physische Tabelle in S/4HANA und enthält weiterhin Einkaufsbelegpositionen; sie wurde nicht stillgelegt oder durch eine Kompatibilitätssicht auf der Persistenzschicht ersetzt, wie es bei einigen Finanztabellen der Fall war. Einige Felder, die an ältere Preisfindungs- oder klassische Kontierungsszenarien gebunden sind, gelten in neueren Beschaffungsszenarien als veraltet, und es existieren zusätzliche Positionstypen für fortgeschrittene Beschaffungsprozesse, aber die Tabellenstruktur und ihre Rolle als Positionsgegenstück zu EKKO ist unverändert geblieben. Berichtsebenen, die auf CDS-Views aufbauen, lesen typischerweise darunterliegend über EKPO.
Häufige Fallstricke
- NETWR ist der Bestellwert, wie er zuletzt auf der Belegposition berechnet wurde, nicht das, was tatsächlich wareneingegangen oder fakturiert wurde; dieser Vergleich erfordert EKBE, nicht EKPO.
- NETPR ist bedeutungslos ohne PEINH; die Division von NETPR durch die Preiseinheit ist zwingend erforderlich, um den tatsächlichen Pro-Einheit-Preis zu erhalten, und das Überspringen dieses Schritts führt zu Preisen, die durch die jeweilige Preiseinheit über- oder unterbewertet sind.
- Ein leeres LOEKZ garantiert nicht, dass die Position vollständig aktiv ist; die Löschung kann auf Kopfebene in EKKO gesetzt sein und sich nicht immer sauber in jedem nachgelagerten Bericht widerspiegeln, der nur aus EKPO erstellt wurde.
- ELIKZ und EREKZ können den realen Logistikereignissen hinterherhinken. Stornierte Wareneingänge, manuelle Überschreibungen oder geblockte Rechnungen können diese Kennzeichen mit dem tatsächlich Geschehenen asynchron machen, daher behandeln Sie sie als die Erledigungsmeinung des Systems, nicht als Audit-Trail.
- Ein leeres MATNR sind keine korrupten Daten. Textpositionen, viele Dienstleistungspositionen und einige kontierte Freitextzeilen tragen konstruktionsbedingt nie einen Materialbezug.
- EKPO enthält keine kumulativen Wareneingangs- oder fakturierten Mengenfelder. Wer EKPO nach der gesamten empfangenen oder fakturierten Menge abfragt, schaut in die falsche Tabelle; dies gehört in EKBE.
- Bei Lieferplänen und Kontrakten ist MENGE in EKPO oft nominal oder null. Die operativ wichtigen Mengen befinden sich in EKET, und das alleinige Lesen von EKPO wird das Liefervolumen unter- oder falsch darstellen.
Wessen Problem das ist
Ein Einkaufs- oder MM-Berater ist für die Interpretation der Positionsstatus-, Positionstypen- und Kontierungsfelder zuständig. Preis- und steuerlich relevante Felder werden oft mit FI oder Controlling geteilt, wenn die Position ein Kostenobjekt trägt. Der Einkäufer oder Prozesseigner des Beschaffungsprozesses ist die richtige Person, um die Absicht hinter einem ungewöhnlichen Positionstyp oder einer Kontierungswahl in den Daten zu bestätigen.
Verwandte SAP-Objekte
Geprüfte Seiten, mit denen dieses Objekt im ERPClimb-Wissensgraphen verbunden ist.
Quelle: ERPClimb — https://erpclimb.com/sap-tables/ekpoERPClimb 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.