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

FeldInhalt
TransIdSchlüssel der Journalbuchung. Verknüpft mit JDT1.TransId.
RefDateBuchungsdatum.
DueDateFälligkeitsdatum.
TaxDateBelegdatum.
TransTypeTyp des Ursprungsbelegs: 13 = Ausgangsrechnung, 18 = Eingangsrechnung, 24 = Zahlungseingang, 30 = manuelle Buchung…
BaseRefNummer des Ursprungsbelegs.
MemoBemerkungen zur Buchung.
Ref1 / Ref2Referenzfelder.
LocTotalSumme der Buchung in Hauswährung.
UserSignBenutzer, 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

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.