Tabelle OACT in SAP Business One (Sachkonten (Kontenplan))
OACT ist die Tabelle von SAP Business One, in der der Kontenplan gespeichert ist: eine Zeile pro Sachkonto, sowohl Titelkonten als auch bebuchbare (aktive) Konten, mit der Kontenhierarchie und dem aktuellen Saldo. Die Journalbuchungszeilen in JDT1 verweisen über JDT1.Account = OACT.AcctCode darauf.
Wichtige Felder der Tabelle OACT
| Feld | Inhalt |
|---|---|
AcctCode | Interner Kontoschlüssel. JDT1.Account und die Kontofelder in Belegen speichern diesen Wert. |
AcctName | Kontobezeichnung. |
FormatCode | Die Kontonummer, die Benutzer sehen. Bei segmentierten Konten weicht sie von AcctCode ab. |
Postable | Y = aktives Konto, auf das gebucht werden kann, N = Titelkonto (eine Überschrift im Kontenbaum). |
Levels | Ebene im Kontenbaum (1 = Schublade wie Aktiva, höhere Zahlen = tiefer). |
FatherNum | AcctCode des übergeordneten Titelkontos. |
GroupMask | Die Schublade, zu der das Konto gehört (Aktiva, Passiva, Eigenkapital, Erlöse, Aufwendungen usw., je nach Lokalisierung nummeriert). |
CurrTotal | Aktueller Saldo in Hauswährung. |
SysTotal | Aktueller Saldo in Systemwährung. |
FcTotal | Saldo in der Kontowährung. |
ActCurr | Kontowährung. |
LocManTran | Y = Abstimmkonto (zum Beispiel Forderungen aus Lieferungen und Leistungen). |
Frozen | Y = Konto gesperrt. |
Wie OACT mit anderen Tabellen zusammenhängt
OACT enthält Stammdaten. Jede Buchung steht in JDT1 (Journalbuchungszeilen) mit JDT1.Account = OACT.AcctCode, der Kopf steht in OJDT. Auch die Abstimmkonten der Geschäftspartner (OCRD.DebPayAcct) und die Kontofelder von Artikeln, Lagern und Steuerkennzeichen speichern AcctCode. Der Kontenbaum ergibt sich aus FatherNum und Levels.
Typische Joins
OACT T0 INNER JOIN JDT1 T1 ON T1.Account = T0.AcctCode (Journalbuchungszeilen)OACT T0 LEFT JOIN OACT T2 ON T2.AcctCode = T0.FatherNum (übergeordnetes Titelkonto)OCRD T3 INNER JOIN OACT T0 ON T0.AcctCode = T3.DebPayAcct (Abstimmkonto des GP)
Wann Sie die Tabelle OACT verwenden
Nutzen Sie OACT für eine schnelle Saldenliste, eine Kontenübersicht für die Buchhaltung, die Zuordnung von Konten zu einer Berichtsstruktur oder um zu prüfen, ob jedes Konto in einem Bericht bebuchbar ist. Für Salden zu einem Stichtag oder für einen Zeitraum summieren Sie JDT1, statt CurrTotal zu lesen.
Beispielabfrage: Saldo pro bebuchbarem Konto zu einem Stichtag (aus JDT1)
SQL Server
SELECT T0.FormatCode, T0.AcctName, SUM(T1.Debit - T1.Credit) AS Balance FROM OACT T0 INNER JOIN JDT1 T1 ON T1.Account = T0.AcctCode WHERE T0.Postable = 'Y' AND T1.RefDate <= '[%0]' GROUP BY T0.FormatCode, T0.AcctName ORDER BY T0.FormatCode
SAP HANA (Spaltennamen in doppelten Anführungszeichen)
SELECT T0."FormatCode", T0."AcctName", SUM(T1."Debit" - T1."Credit") AS "Balance" FROM OACT T0 INNER JOIN JDT1 T1 ON T1."Account" = T0."AcctCode" WHERE T0."Postable" = 'Y' AND T1."RefDate" <= '[%0]' GROUP BY T0."FormatCode", T0."AcctName" ORDER BY T0."FormatCode"
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: FormatCode vs. AcctCode – und CurrTotal gilt nur für heute
Benutzer kennen Konten unter der Nummer auf dem Bildschirm, also unter FormatCode. JDT1.Account speichert jedoch AcctCode, und das ist bei segmentierten Konten ein interner Code. Ein Filter auf JDT1.Account mit der Nummer, die Benutzer sehen, findet dann womöglich nichts. Verknüpfen Sie mit OACT und filtern Sie auf FormatCode. CurrTotal ist der Saldo im aktuellen Moment; er ignoriert Datumsangaben und liefert daher nicht den Saldo des Vormonats. Summieren Sie JDT1 bis zu dem Datum, das Sie brauchen. Siehe Tabelle JDT1 (Journalbuchungszeilen).
Fertige Abfragen, die OACT verwenden
- Salden der Sachkonten: Aktueller Saldo aller bebuchbaren Sachkonten, gruppiert nach Kontoebene.
- Buchungen eines Sachkontos: Journalbuchungszeilen eines Sachkontos in einem Zeitraum, mit Soll, Haben und Referenz.
Verwandte Tabellen
JDT1 (Journalbuchungszeilen) · OJDT (Journalbuchung (Kopf)) · 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.
