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
| Campo | Contenuto |
|---|---|
TransNum | Numero di riga del giornale. |
TransType | Tipo del documento di origine, ad esempio 13 = fattura cliente, 15 = consegna, 59 = entrata merci, 60 = uscita merci, 67 = trasferimento di magazzino. |
CreatedBy | Chiave del documento di origine (il suo DocEntry per quel TransType). |
BASE_REF | Riferimento base del documento di origine. |
DocLineNum | Numero di riga nel documento di origine. |
DocDate | Data di registrazione del movimento. |
ItemCode | Articolo. Si collega con OITM.ItemCode. |
InQty | Quantità entrata in magazzino. |
OutQty | Quantità uscita dal magazzino. |
Warehouse | Magazzino 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
Iniziamo?
Ci descriva di cosa ha bisogno. Riceverà una risposta tecnica chiara, un perimetro definito e un prezzo, di norma entro 24 ore.
