Tabelle OJDT in SAP Business One (Journalbuchung (Kopf))
OJDT ist die Tabelle in SAP Business One, in der der Kopf jeder Journalbuchung gespeichert wird, ob manuell erfasst oder automatisch durch eine Rechnung, Zahlung oder einen Lagerbeleg erzeugt. Die Soll- und Habenzeilen liegen in JDT1, verknüpft über TransId.
Wichtige Felder der Tabelle OJDT
| Feld | Inhalt |
|---|---|
TransId | Schlüssel der Journalbuchung. Verknüpft mit JDT1.TransId. |
RefDate | Buchungsdatum. |
DueDate | Fälligkeitsdatum. |
TaxDate | Belegdatum. |
TransType | Typ des Ursprungsbelegs: 13 = Ausgangsrechnung, 18 = Eingangsrechnung, 24 = Zahlungseingang, 30 = manuelle Buchung… |
BaseRef | Nummer des Ursprungsbelegs. |
Memo | Bemerkungen zur Buchung. |
Ref1 / Ref2 | Referenzfelder. |
LocTotal | Summe der Buchung in Hauswährung. |
UserSign | Benutzer, der die Buchung angelegt hat. Verknüpft mit OUSR.USERID. |
Wie OJDT mit anderen Tabellen zusammenhängt
OJDT ist der Kopf, JDT1 enthält eine Zeile pro Soll- oder Habenposition, verknüpft über TransId. Jeder buchungsrelevante Beleg erzeugt genau eine Journalbuchung, daher führen TransType und BaseRef zurück zur Rechnung, zur Zahlung oder zum Wareneingang, aus dem sie entstanden ist.
Typische Joins
OJDT T0 INNER JOIN JDT1 T1 ON T0.TransId = T1.TransId (Zeilen)JDT1 T1 INNER JOIN OACT T2 ON T1.Account = T2.AcctCode (Sachkonto)OJDT T0 LEFT JOIN OUSR T3 ON T0.UserSign = T3.USERID (Benutzer)
Wann Sie die Tabelle OJDT verwenden
Verwenden Sie OJDT und JDT1 für Sachkontenbewegungen, Prüfpfade, Abstimmungen und die Kontrolle, was ein Beleg gebucht hat. Filtern Sie für Periodenberichte auf RefDate und auf TransType, wenn Sie nur manuelle Buchungen (30) oder nur einen Belegtyp sehen möchten.
Journalbuchungen aus einer Schnittstelle werden über die DI API (JournalEntries-Objekt) oder den Service Layer (JournalEntries) gebucht, niemals direkt in OJDT und JDT1 geschrieben. Ein fehlgeschlagenes Add() liefert einen negativen Code; lesen Sie ihn sofort mit GetLastError aus. Siehe DI-API-Fehlercodes.
Beispielabfrage: Manuelle Journalbuchungen in einem Zeitraum
SQL Server
SELECT T0.TransId, T0.RefDate, T0.Memo, T0.LocTotal, T1.USER_CODE FROM OJDT T0 LEFT JOIN OUSR T1 ON T0.UserSign = T1.USERID WHERE T0.TransType = '30' AND T0.RefDate >= '20260101' ORDER BY T0.RefDate, T0.TransId
SAP HANA (Spaltennamen in doppelten Anführungszeichen)
SELECT T0."TransId", T0."RefDate", T0."Memo", T0."LocTotal", T1."USER_CODE" FROM OJDT T0 LEFT JOIN OUSR T1 ON T0."UserSign" = T1."USERID" WHERE T0."TransType" = '30' AND T0."RefDate" >= '20260101' ORDER BY T0."RefDate", T0."TransId"
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: RefDate, TaxDate und DueDate sind nicht dasselbe
Hauptbuch und Saldenliste verwenden das Buchungsdatum RefDate. Wer auf TaxDate (Belegdatum) filtert, erhält Summen, die nicht zu den Finanzberichten passen, sobald beide Daten voneinander abweichen. Siehe Abfrage: Buchungen eines Sachkontos.
Fertige Abfragen, die OJDT verwenden
- Buchungen eines Sachkontos: Journalbuchungszeilen eines Sachkontos in einem Zeitraum, mit Soll, Haben und Referenz.
Verwandte Tabellen
JDT1 (Journalbuchungszeilen) · OINV (Ausgangsrechnung (Kopf)) · OPCH (Eingangsrechnung (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.
