Tabelle ORDR in SAP Business One (Kundenauftrag (Kopf))

ORDR ist die Tabelle in SAP Business One, in der der Kopf jedes Kundenauftrags gespeichert wird: Kunde, Datumsangaben, Summen und Status. Die Positionen liegen in RDR1, verknüpft über DocEntry, der Objekttyp ist 17.

Wichtige Felder der Tabelle ORDR

FeldInhalt
DocEntryInterner Schlüssel. Verknüpft mit RDR1.DocEntry.
DocNumAuftragsnummer, die der Anwender sieht.
DocDateBuchungsdatum des Auftrags.
DocDueDateGewünschtes Lieferdatum.
CardCodeKunde. Verknüpft mit OCRD.CardCode.
CardNameKundenname, wie er auf dem Auftrag gedruckt wird.
DocTotalAuftragssumme inklusive Steuer.
DiscPrcntBelegrabatt in Prozent.
DocStatusO = offen, C = geschlossen (vollständig geliefert, fakturiert oder manuell geschlossen).
CANCELEDY, wenn der Auftrag storniert wurde.
SlpCodeVertriebsmitarbeiter. Verknüpft mit OSLP.

Wie ORDR mit anderen Tabellen zusammenhängt

ORDR ist der Kopf, RDR1 enthält die Positionen, verknüpft über DocEntry. In den Positionen ist OpenQty die noch zu liefernde Menge, LineStatus zeigt, ob die Position offen ist. Wird eine Lieferung oder Rechnung aus dem Auftrag kopiert, speichern die Zielpositionen BaseType = 17 und BaseEntry = ORDR.DocEntry.

Typische Joins

  • ORDR T0 INNER JOIN RDR1 T1 ON T0.DocEntry = T1.DocEntry (Positionen)
  • ORDR T0 INNER JOIN OCRD T2 ON T0.CardCode = T2.CardCode (Kunde)
  • INV1 T3 ON T3.BaseType = 17 AND T3.BaseEntry = T1.DocEntry AND T3.BaseLine = T1.LineNum (Rechnungen aus dem Auftrag)

Wann Sie die Tabelle ORDR verwenden

Verwenden Sie ORDR und RDR1 für Rückstandslisten, Versandplanung, Auftragseingang pro Zeitraum und die Prüfung reservierter Bestände. Für die Frage „Was muss noch raus?“ arbeiten Sie auf Positionsebene (RDR1.OpenQty) statt mit dem Kopfstatus, denn ein Auftrag kann teilweise geliefert sein.

Aufträge aus einem Webshop oder Portal übernehmen Sie über die DI API (Documents-Objekt, oOrders) oder den Service Layer (Orders). Wird ein geschlossener Auftrag aus Code geändert, kommt -1029 „Field cannot be updated“, zum Beispiel bei ORDR.VatSum. Prüfen Sie daher DocStatus, bevor Sie eine Änderung anbieten. Siehe -1029 und weitere DI-API-Fehler.

Beispielabfrage: Offene Kundenauftragspositionen mit offener Menge

SQL Server

SELECT T0.DocNum, T0.DocDueDate, T0.CardCode, T0.CardName,
  T1.ItemCode, T1.Dscription, T1.Quantity, T1.OpenQty, T1.WhsCode
FROM ORDR T0
INNER JOIN RDR1 T1 ON T0.DocEntry = T1.DocEntry
WHERE T0.DocStatus = 'O' AND T1.LineStatus = 'O' AND T1.OpenQty > 0
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"
FROM ORDR T0
INNER JOIN RDR1 T1 ON T0."DocEntry" = T1."DocEntry"
WHERE T0."DocStatus" = 'O' AND T1."LineStatus" = 'O' AND T1."OpenQty" > 0
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 Kopfstatus reicht bei Teillieferungen nicht aus

Ein Auftrag bleibt DocStatus = 'O', solange irgendeine Position offen ist. Ein Bericht, der nur den Kopf auswertet, zeigt daher den ganzen Auftrag als ausstehend. Verwenden Sie RDR1.LineStatus und OpenQty, um zu sehen, was tatsächlich noch zu liefern ist. Siehe Abfrage: offene Kundenaufträge.

Fertige Abfragen, die ORDR verwenden

Verwandte Tabellen

RDR1 (Kundenauftrag (Positionen)) · ODLN (Lieferung (Kopf)) · OINV (Ausgangsrechnung (Kopf)) · OITW (Artikelbestand pro Lager) · OCRD (Geschäftspartner) · 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.