Tabella OINM in SAP Business One (Giornale di magazzino (audit delle giacenze))

OINM è il giornale di magazzino di SAP Business One: una riga per movimento di articolo, con la quantità ricevuta (InQty), la quantità uscita (OutQty), il magazzino e il documento che l’ha generato (TransType e CreatedBy). I report la leggono per lo storico dei movimenti degli articoli; non si deve mai scrivere direttamente in essa.

Campi chiave di OINM

CampoContenuto
TransNumNumero di riga del giornale.
TransTypeTipo del documento di origine, ad esempio 13 = fattura cliente, 15 = consegna, 59 = entrata merci, 60 = uscita merci, 67 = trasferimento di magazzino.
CreatedByChiave del documento di origine (il suo DocEntry per quel TransType).
BASE_REFRiferimento base del documento di origine.
DocLineNumNumero di riga nel documento di origine.
DocDateData di registrazione del movimento.
ItemCodeArticolo. Si collega con OITM.ItemCode.
InQtyQuantità entrata in magazzino.
OutQtyQuantità uscita dal magazzino.
WarehouseMagazzino del movimento. Si collega con OWHS.WhsCode.

Come OINM si collega alle altre tabelle

OINM non è divisa in testata e righe: ogni riga è un movimento di un articolo in un magazzino. TransType più CreatedBy puntano al documento, quindi TransType = 13 con CreatedBy = 25 è la fattura cliente con OINV.DocEntry = 25. Un trasferimento di magazzino (67) scrive una riga di uscita dal magazzino di origine e una riga di entrata nel magazzino di destinazione. Nel riferimento pubblico delle tabelle di database dell’SDK 10.0, il giornale di magazzino è documentato come OIVL (Whse Journal), con le stesse colonne TransType, InQty e OutQty, quindi verifichi quale tabella espone la sua versione prima di costruirci sopra un report.

Join più comuni

  • OINM T0 INNER JOIN OITM T1 ON T0.ItemCode = T1.ItemCode (articolo)
  • OINM T0 INNER JOIN OWHS T2 ON T0.Warehouse = T2.WhsCode (magazzino)
  • OINM T0 INNER JOIN OINV T3 ON T0.TransType = 13 AND T0.CreatedBy = T3.DocEntry (fattura cliente di origine)

Quando si usa la tabella OINM

Usi OINM per lo storico dei movimenti degli articoli, la giacenza a una data passata come somma di InQty - OutQty fino a quella data e per sapere quale documento ha movimentato un articolo. Per la giacenza attuale, OITW è più semplice e più veloce.

Query di esempio: movimenti degli articoli per magazzino in un mese

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 (nomi delle colonne tra virgolette doppie)

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"

Incolli una delle due versioni in Strumenti → Query → Generatore di query. Le serve l’altro dialetto per una Sua query? Usi il convertitore da SQL a HANA.

Errore frequente: Non correggere mai la giacenza con un UPDATE su OINM

Modificare OINM, OITW o OITM con SQL non è supportato da SAP: il giornale, la giacenza per magazzino e i conti Co.Ge. di magazzino smettono di quadrare. Corregga la giacenza con documenti (entrata merci, uscita merci o una registrazione d’inventario) e mantenga il suo SQL su OINM in sola lettura. Veda Codici di errore della DI API.

Tabelle correlate

OITM (Articoli (anagrafica articoli)) · OITW (Giacenze degli articoli per magazzino) · OWHS (Magazzini) · cerca tutte le tabelle di SAP Business One

Fonti: Documentazione e SDK di SAP Business One (riferimento delle tabelle del database della DI API), SAP Help Portal.

Iniziamo?

Ci descriva di cosa ha bisogno. Riceverà una risposta tecnica chiara, un perimetro definito e un prezzo, di norma entro 24 ore.