Tabelle OWOR in SAP Business One (Produktionsauftrag (Kopf))
OWOR ist die Tabelle von SAP Business One, in der der Kopf jedes Produktionsauftrags gespeichert ist: das herzustellende Produkt, geplante, fertiggestellte und ausgeschusste Mengen, Daten, Lager, Status und Herkunft. Die Komponentenzeilen stehen in WOR1, verknüpft über DocEntry, der Objekttyp ist 202.
Wichtige Felder der Tabelle OWOR
| Feld | Inhalt |
|---|---|
DocEntry | Interner Schlüssel. Verknüpft mit WOR1.DocEntry. |
DocNum | Nummer des Produktionsauftrags, die Benutzer sehen. |
ItemCode | Herzustellendes Produkt (Produktnummer). Bezieht sich auf die Stückliste in OITT. |
ProdName | Produktbeschreibung. |
Status | P = geplant, R = freigegeben, L = abgeschlossen, C = storniert. |
Type | S = Standard, P = Spezial, D = Demontage. |
PlannedQty | Geplante Menge des Produkts. |
CmpltQty | Fertiggestellte, aus der Produktion eingegangene Menge. |
RjctQty | Ausschussmenge. |
PostDate / StartDate / DueDate | Auftragsdatum, Startdatum und Fälligkeitsdatum. |
Warehouse | Lager, in das das Produkt eingeht. Verknüpft mit OWHS.WhsCode. |
OriginType | Herkunft des Auftrags: M = manuell, R = Disposition (MRP), S = Kundenauftrag, P = Produktionsauftrag, U = Upgrade. |
OriginAbs / OriginNum | Herkunftsschlüssel und Herkunftsnummer, zum Beispiel der Kundenauftrag, aus dem der Auftrag angelegt wurde. |
CardCode | Kundencode. Verknüpft mit OCRD.CardCode. |
Wie OWOR mit anderen Tabellen zusammenhängt
OWOR ist der Kopf, WOR1 enthält die Komponentenzeilen (Artikel, Ressourcen und Textzeilen), beide mit derselben DocEntry. Das Produkt in OWOR.ItemCode hat in der Regel eine Stückliste in OITT und ITT1, die SAP beim Anlegen eines Standard-Produktionsauftrags in WOR1 kopiert. OriginType, OriginAbs und OriginNum zeigen, woher der Auftrag stammt, zum Beispiel aus einem Kundenauftrag (S) oder einem Dispositionslauf (R).
Typische Joins
OWOR T0 INNER JOIN WOR1 T1 ON T0.DocEntry = T1.DocEntry (Komponentenzeilen)OWOR T0 INNER JOIN OITM T2 ON T0.ItemCode = T2.ItemCode (Produktstamm)OWOR T0 LEFT JOIN OWHS T3 ON T0.Warehouse = T3.WhsCode (Eingangslager)OWOR T0 LEFT JOIN ORDR T4 ON T0.OriginType = 'S' AND T0.OriginAbs = T4.DocEntry (ursprünglicher Kundenauftrag)
Wann Sie die Tabelle OWOR verwenden
Nutzen Sie OWOR für Listen offener Produktionsaufträge, Berichte „geplant vs. fertiggestellt“, verspätete Aufträge (Fälligkeitsdatum überschritten, nicht abgeschlossen) und Ausbeuteprüfungen mit RjctQty. Verknüpfen Sie WOR1, wenn Sie die Materialien und deren bereits entnommene Mengen brauchen.
Um Produktionsaufträge per Code anzulegen, verwenden Sie das DI-API-Objekt ProductionOrders (Quelltabelle OWOR) oder den Service Layer, niemals ein INSERT in OWOR. Das SDK nennt ItemNo (OWOR.ItemCode) und DueDate als Pflichteigenschaften für einen neuen Produktionsauftrag. Schlägt Add() fehl, sagt Ihnen GetLastError, warum. Siehe DI-API-Fehlercodes (-5002, -1029, -2028 und weitere).
Beispielabfrage: Offene Produktionsaufträge mit Restmenge
SQL Server
SELECT T0.DocNum, T0.ItemCode, T0.ProdName, T0.Status, T0.Type,
T0.PlannedQty, T0.CmpltQty, T0.RjctQty, T0.PlannedQty - T0.CmpltQty AS Remaining,
T0.DueDate, T0.Warehouse
FROM OWOR T0
WHERE T0.Status IN ('P', 'R')
ORDER BY T0.DueDate, T0.DocNum SAP HANA (Spaltennamen in doppelten Anführungszeichen)
SELECT T0."DocNum", T0."ItemCode", T0."ProdName", T0."Status", T0."Type",
T0."PlannedQty", T0."CmpltQty", T0."RjctQty", T0."PlannedQty" - T0."CmpltQty" AS "Remaining",
T0."DueDate", T0."Warehouse"
FROM OWOR T0
WHERE T0."Status" IN ('P', 'R')
ORDER BY T0."DueDate", 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: Status L bedeutet abgeschlossen, nicht „late“ (verspätet)
OWOR.Status verwendet P (geplant), R (freigegeben), L (abgeschlossen) und C (storniert). Ein Filter auf Status = 'C', um abgeschlossene Aufträge zu finden, liefert stattdessen die stornierten. Verwenden Sie Status = 'L' für abgeschlossene und Status IN ('P', 'R') für offene Aufträge, und schließen Sie C aus der Produktionshistorie aus, damit stornierte Aufträge nicht mitzählen.
Fragen zur Tabelle OWOR
Welche Statuscodes hat ein Produktionsauftrag in OWOR?
OWOR.Status ist P = geplant, R = freigegeben, L = abgeschlossen und C = storniert. Offene Aufträge haben P und R; der Status für abgeschlossen ist L, nicht C.
Wo werden die Komponenten eines Produktionsauftrags gespeichert?
In WOR1, eine Zeile pro Komponente, Ressource oder Textzeile, verknüpft mit OWOR über DocEntry. WOR1.PlannedQty ist die geplante Menge jeder Komponente, IssuedQty die bisher entnommene Menge.
Welche Felder sind Pflicht, um einen Produktionsauftrag mit der DI API anzulegen?
Das SAP-B1-SDK nennt ItemNo (das Produkt, gespeichert in OWOR.ItemCode) und DueDate als Pflichteigenschaften für einen neuen Produktionsauftrag im Objekt ProductionOrders.
Verwandte Tabellen
WOR1 (Produktionsauftrag (Komponentenzeilen)) · OITM (Artikel (Artikelstamm)) · OWHS (Lager) · ORDR (Kundenauftrag (Kopf)) · 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.
