Tabelle OINM in SAP Business One (Lagerjournal (Bestandsprüfung))

OINM ist das Lagerjournal von SAP Business One: eine Zeile pro Artikelbewegung, mit der eingegangenen Menge (InQty), der ausgegangenen Menge (OutQty), dem Lager und dem verursachenden Beleg (TransType und CreatedBy). Berichte lesen daraus die Bewegungshistorie eines Artikels; direkt geschrieben werden darf in die Tabelle nie.

Wichtige Felder der Tabelle OINM

FeldInhalt
TransNumZeilennummer im Journal.
TransTypeTyp des Ursprungsbelegs, zum Beispiel 13 = Ausgangsrechnung, 15 = Lieferung, 59 = Wareneingang, 60 = Warenausgang, 67 = Bestandsumlagerung.
CreatedBySchlüssel des Ursprungsbelegs (seine DocEntry für diesen TransType).
BASE_REFBasisreferenz des Ursprungsbelegs.
DocLineNumZeilennummer im Ursprungsbeleg.
DocDateBuchungsdatum der Bewegung.
ItemCodeArtikel. Verknüpft mit OITM.ItemCode.
InQtyIns Lager eingegangene Menge.
OutQtyAus dem Lager ausgegangene Menge.
WarehouseLager der Bewegung. Verknüpft mit OWHS.WhsCode.

Wie OINM mit anderen Tabellen zusammenhängt

OINM hat keine Aufteilung in Kopf und Positionen: Jede Zeile ist eine Bewegung eines Artikels in einem Lager. TransType und CreatedBy verweisen auf den Beleg; TransType = 13 mit CreatedBy = 25 ist also die Ausgangsrechnung mit OINV.DocEntry = 25. Eine Bestandsumlagerung (67) schreibt eine Zeile aus dem Quelllager heraus und eine Zeile in das Ziellager hinein. In der öffentlichen Referenz der Datenbanktabellen des SDK 10.0 ist das Lagerjournal als OIVL (Whse Journal) dokumentiert, mit denselben Spalten TransType, InQty und OutQty. Prüfen Sie daher, welche Tabelle Ihre Version bereitstellt, bevor Sie einen Bericht darauf aufbauen.

Typische Joins

  • OINM T0 INNER JOIN OITM T1 ON T0.ItemCode = T1.ItemCode (Artikel)
  • OINM T0 INNER JOIN OWHS T2 ON T0.Warehouse = T2.WhsCode (Lager)
  • OINM T0 INNER JOIN OINV T3 ON T0.TransType = 13 AND T0.CreatedBy = T3.DocEntry (ursprüngliche Ausgangsrechnung)

Wann Sie die Tabelle OINM verwenden

Nutzen Sie OINM für die Bewegungshistorie eines Artikels, den Bestand zu einem vergangenen Datum als Summe von InQty - OutQty bis zu diesem Datum und um herauszufinden, welcher Beleg einen Artikel bewegt hat. Für den aktuellen Bestand ist OITW einfacher und schneller.

Beispielabfrage: Artikelbewegung pro Lager in einem Monat

SQL Server

SELECT T0.ItemCode, T0.Warehouse, SUM(T0.InQty) AS QtyIn, SUM(T0.OutQty) AS QtyOut,
  SUM(T0.InQty - T0.OutQty) AS NetMovement
FROM OINM T0
WHERE T0.DocDate >= '20260101' AND T0.DocDate < '20260201'
GROUP BY T0.ItemCode, T0.Warehouse
ORDER BY T0.ItemCode, T0.Warehouse

SAP HANA (Spaltennamen in doppelten Anführungszeichen)

SELECT T0."ItemCode", T0."Warehouse", SUM(T0."InQty") AS "QtyIn", SUM(T0."OutQty") AS "QtyOut",
  SUM(T0."InQty" - T0."OutQty") AS "NetMovement"
FROM OINM T0
WHERE T0."DocDate" >= '20260101' AND T0."DocDate" < '20260201'
GROUP BY T0."ItemCode", T0."Warehouse"
ORDER BY T0."ItemCode", T0."Warehouse"

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: Bestand niemals per UPDATE auf OINM korrigieren

Änderungen an OINM, OITW oder OITM per SQL werden von SAP nicht unterstützt: Journal, Bestand pro Lager und die Bestandssachkonten passen danach nicht mehr zusammen. Korrigieren Sie den Bestand stattdessen über Belege (Wareneingang, Warenausgang oder Inventurbuchung) und verwenden Sie Ihr eigenes SQL auf OINM nur lesend. Siehe DI-API-Fehlercodes.

Verwandte Tabellen

OITM (Artikel (Artikelstamm)) · OITW (Artikelbestand pro Lager) · OWHS (Lager) · 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.