Tabelle ODRF in SAP Business One (Belegentwürfe (Kopf))

ODRF ist die Tabelle in SAP Business One, die den Kopf jedes Belegentwurfs speichert: Rechnungen, Lieferungen, Wareneingänge und andere Belege, die als Entwurf gespeichert sind oder auf Genehmigung warten. ODRF.ObjType zeigt, welcher Beleg aus dem Entwurf wird (zum Beispiel 13 = Ausgangsrechnung). Die Zeilen liegen in DRF1, verknüpft über DocEntry.

Wichtige Felder der Tabelle ODRF

FeldInhalt
DocEntryInterner Schlüssel des Entwurfs. Verknüpft mit DRF1.DocEntry.
ObjTypeTyp des Belegs, für den der Entwurf gilt, zum Beispiel 13 = Ausgangsrechnung, 15 = Lieferung, 14 = Ausgangsgutschrift.
DocNumBelegnummer.
DocDateBuchungsdatum.
CardCode / CardNameGeschäftspartner. Verknüpft mit OCRD.CardCode.
DocStatusO = offen, C = geschlossen.
WddStatusGenehmigungsstatus: - = ohne, W = ausstehend, Y = genehmigt, N = abgelehnt, P = erstellt, A = vom Genehmigenden erstellt, C = storniert.
DocTotal / DocCurBelegsumme und Währung.
UserSignAnwender, der den Entwurf angelegt hat. Verknüpft mit OUSR.
CreateDateErstellungsdatum.

Wie ODRF mit anderen Tabellen zusammenhängt

ODRF ist eine gemeinsame Kopftabelle für Entwürfe vieler Belegtypen; ObjType trennt sie. DRF1 enthält die Zeilen. Ein aus einem Entwurf gebuchter echter Beleg behält die Verknüpfung in seiner eigenen Spalte draftKey (zum Beispiel OPDN.draftKey = ODRF.DocEntry).

Typische Joins

  • ODRF T0 INNER JOIN DRF1 T1 ON T1.DocEntry = T0.DocEntry (Zeilen)
  • ODRF T0 LEFT JOIN OCRD T2 ON T2.CardCode = T0.CardCode (Geschäftspartner)
  • OPDN T3 INNER JOIN ODRF T0 ON T0.DocEntry = T3.draftKey (aus dem Entwurf gebuchter Wareneingang zur Bestellung)

Wann Sie die Tabelle ODRF verwenden

Verwenden Sie ODRF, um offene Entwürfe nach Belegtyp und Anwender aufzulisten, Belege zu finden, die auf Genehmigung warten (WddStatus W), und alte, nie gebuchte Entwürfe zu bereinigen.

Beispielabfrage: Offene Entwürfe nach Belegtyp mit Genehmigungsstatus

SQL Server

SELECT T0.DocEntry, T0.ObjType, T0.DocDate, T0.CardCode, T0.CardName, T0.DocTotal,
  T0.WddStatus, T0.UserSign, DATEDIFF(day, T0.CreateDate, GETDATE()) AS DaysOld
FROM ODRF T0
WHERE T0.DocStatus = 'O'
ORDER BY T0.ObjType, T0.CreateDate

SAP HANA (Spaltennamen in doppelten Anführungszeichen)

SELECT T0."DocEntry", T0."ObjType", T0."DocDate", T0."CardCode", T0."CardName", T0."DocTotal",
  T0."WddStatus", T0."UserSign", DAYS_BETWEEN(T0."CreateDate", CURRENT_TIMESTAMP) AS "DaysOld"
FROM ODRF T0
WHERE T0."DocStatus" = 'O'
ORDER BY T0."ObjType", T0."CreateDate"

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: Entwürfe als gebuchte Belege berichten

Entwürfe aller Typen liegen in ODRF; ein Bericht muss daher ObjType für den gemeinten Beleg filtern, und Entwürfe dürfen nie zu Verkaufs- oder Einkaufssummen addiert werden. Verwenden Sie den DocEntry des Entwurfs (nicht DocNum), um ihn über draftKey mit dem gebuchten Beleg zu verknüpfen. Siehe Abfrage: ausstehende Genehmigungen.

Fertige Abfragen, die ODRF verwenden

Fragen zur Tabelle ODRF

Wo werden Belegentwürfe in SAP Business One gespeichert?

In ODRF (Kopf) und DRF1 (Zeilen), für jeden Belegtyp. ODRF.ObjType zeigt, welcher Typ der Entwurf ist.

Wie finde ich Entwürfe, die auf Genehmigung warten?

Filtern Sie ODRF.WddStatus = 'W' (ausstehend).

Wie finde ich den aus einem Entwurf gebuchten Beleg?

Der gebuchte Beleg hat draftKey = ODRF.DocEntry.

Verwandte Tabellen

DRF1 (Belegentwürfe (Zeilen)) · OINV (Ausgangsrechnung (Kopf)) · 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.