Tabelle OPOR in SAP Business One (Bestellung (Kopf))
OPOR ist die Tabelle in SAP Business One, in der der Kopf jeder Bestellung gespeichert wird: Lieferant, Datumsangaben, Summen und Status. Die Positionen liegen in POR1, verknüpft über DocEntry, der Objekttyp ist 22. Wareneingänge (OPDN/PDN1) und Eingangsrechnungen (OPCH/PCH1), die aus der Bestellung kopiert wurden, verweisen über BaseType, BaseEntry und BaseLine auf sie zurück.
Wichtige Felder der Tabelle OPOR
| Feld | Inhalt |
|---|---|
DocEntry | Interner Schlüssel. Verknüpft mit POR1.DocEntry. |
DocNum | Bestellnummer, die der Anwender sieht. |
DocDate | Buchungsdatum der Bestellung. |
DocDueDate | Erwartetes Lieferdatum. |
CardCode | Lieferant. Verknüpft mit OCRD.CardCode. |
DocTotal | Bestellsumme inklusive Steuer. |
DocStatus | O = offen, C = geschlossen (vollständig eingegangen oder manuell geschlossen). |
CANCELED | Y, wenn die Bestellung storniert wurde. |
POR1.ItemCode | Bestellter Artikel. Verknüpft mit OITM.ItemCode. |
POR1.Quantity | Bestellte Menge der Position. |
POR1.OpenQty | Noch zu empfangende Menge. |
POR1.LineStatus | O = offen, C = geschlossen. |
POR1.WhsCode | Empfangslager. Verknüpft mit OWHS. |
Wie OPOR mit anderen Tabellen zusammenhängt
OPOR ist der Kopf, POR1 enthält die Positionen, verknüpft über DocEntry und identifiziert über LineNum. Wird aus der Bestellung ein Wareneingang zur Bestellung oder eine Eingangsrechnung angelegt, speichert jede Zielposition BaseType = 22, BaseEntry = POR1.DocEntry und BaseLine = POR1.LineNum. In umgekehrter Richtung zeigen POR1.TargetType und TrgetEntry den Beleg, in den die Position kopiert wurde (20 = Wareneingang zur Bestellung, 18 = Eingangsrechnung).
Typische Joins
OPOR T0 INNER JOIN POR1 T1 ON T0.DocEntry = T1.DocEntry (Positionen)PDN1 T2 ON T2.BaseType = 22 AND T2.BaseEntry = T1.DocEntry AND T2.BaseLine = T1.LineNum (Wareneingänge aus der Bestellung)PCH1 T3 ON T3.BaseType = 22 AND T3.BaseEntry = T1.DocEntry AND T3.BaseLine = T1.LineNum (direkt aus der Bestellung kopierte Eingangsrechnungen)OPOR T0 INNER JOIN OCRD T4 ON T0.CardCode = T4.CardCode (Lieferant)
Wann Sie die Tabelle OPOR verwenden
Verwenden Sie OPOR und POR1 für die Lieferantenverfolgung, erwartete Wareneingänge pro Lager, den Wert offener Verpflichtungen und die Prüfung von Einkaufspreisen. Arbeiten Sie bei allen Mengenfragen auf Positionsebene, denn eine Bestellung wird oft in mehreren Lieferungen empfangen.
Beispielabfrage: Offene Bestellpositionen mit noch zu empfangendem Wert
SQL Server
SELECT T0.DocNum, T0.DocDueDate, T0.CardCode, T0.CardName, T1.ItemCode, T1.Dscription, T1.Quantity, T1.OpenQty, T1.WhsCode, T1.OpenQty * T1.Price AS OpenValue FROM OPOR T0 INNER JOIN POR1 T1 ON T0.DocEntry = T1.DocEntry WHERE T0.DocStatus = 'O' AND T0.CANCELED = 'N' AND T1.LineStatus = 'O' ORDER BY T0.DocDueDate, T0.DocNum
SAP HANA (Spaltennamen in doppelten Anführungszeichen)
SELECT T0."DocNum", T0."DocDueDate", T0."CardCode", T0."CardName", T1."ItemCode", T1."Dscription", T1."Quantity", T1."OpenQty", T1."WhsCode", T1."OpenQty" * T1."Price" AS "OpenValue" FROM OPOR T0 INNER JOIN POR1 T1 ON T0."DocEntry" = T1."DocEntry" WHERE T0."DocStatus" = 'O' AND T0."CANCELED" = 'N' AND T1."LineStatus" = 'O' ORDER BY T0."DocDueDate", T0."DocNum"
Fügen Sie eine der beiden Versionen unter Extras → Abfragen → Abfragegenerator ein. Sie brauchen den anderen Dialekt für Ihre eigene Abfrage? Nutzen Sie den SQL-zu-HANA-Konverter.
Typischer Fallstrick: Der Kopf bleibt offen, solange eine Position offen ist
OPOR.DocStatus bleibt 'O', bis jede Position geschlossen ist. Ein Bericht, der nur den Kopf auswertet, zeigt eine zu 90 % eingegangene Bestellung daher als vollständig offen. Verwenden Sie POR1.OpenQty und LineStatus. Und wenn Sie Wareneingänge zurückverfolgen, vergleichen Sie alle drei Basisfelder (BaseType, BaseEntry, BaseLine): BaseEntry allein trifft auch andere Belegtypen mit derselben Nummer. Siehe Abfrage: offene Bestellungen.
Fertige Abfragen, die OPOR verwenden
- Offene Bestellungen pro Lieferant: Offene Bestellpositionen mit noch zu empfangender Menge, gruppiert nach Lieferant.
- Letzter Einkaufspreis pro Artikel: Für jeden Artikel der letzte Preis laut Eingangsrechnung, mit Lieferant und Datum.
Verwandte Tabellen
OPCH (Eingangsrechnung (Kopf)) · OITM (Artikel (Artikelstamm)) · OITW (Artikelbestand pro Lager) · alle SAP-Business-One-Tabellen durchsuchen
Quellen: Dokumentation und SDK zu SAP Business One (Referenz der DI-API-Datenbanktabellen), SAP Help Portal.
Bereit für den Start?
Sagen Sie uns, was Sie brauchen. Sie erhalten eine klare technische Antwort, einen festen Leistungsumfang und einen Preis, in der Regel innerhalb von 24 Stunden.
