Tabla OINM en SAP Business One (Diario de almacén (auditoría de inventario))
OINM es el diario de almacén de SAP Business One: una fila por movimiento de artículo, con la cantidad recibida (InQty), la cantidad emitida (OutQty), el almacén y el documento que lo causó (TransType y CreatedBy). Los reportes la leen para el historial de movimientos de artículos; nunca se debe escribir en ella directamente.
Campos clave de OINM
| Campo | Qué contiene |
|---|---|
TransNum | Número de fila del diario. |
TransType | Tipo del documento de origen, por ejemplo 13 = factura de clientes, 15 = entrega, 59 = entrada de mercancías, 60 = salida de mercancías, 67 = transferencia de stock. |
CreatedBy | Clave del documento de origen (su DocEntry para ese TransType). |
BASE_REF | Referencia base del documento de origen. |
DocLineNum | Número de fila en el documento de origen. |
DocDate | Fecha de contabilización del movimiento. |
ItemCode | Artículo. Se une con OITM.ItemCode. |
InQty | Cantidad recibida en el almacén. |
OutQty | Cantidad emitida desde el almacén. |
Warehouse | Almacén del movimiento. Se une con OWHS.WhsCode. |
Cómo se relaciona OINM con otras tablas
OINM no se divide en cabecera y líneas: cada fila es un movimiento de un artículo en un almacén. TransType más CreatedBy apuntan al documento, así que TransType = 13 con CreatedBy = 25 es la factura de clientes con OINV.DocEntry = 25. Una transferencia de stock (67) escribe una fila de salida del almacén de origen y una fila de entrada al almacén destino. En la referencia pública de tablas de base de datos del SDK 10.0, el diario de almacén está documentado como OIVL (Whse Journal), con las mismas columnas TransType, InQty y OutQty, así que verifique qué tabla expone su versión antes de construir un reporte sobre ella.
Joins habituales
OINM T0 INNER JOIN OITM T1 ON T0.ItemCode = T1.ItemCode (artículo)OINM T0 INNER JOIN OWHS T2 ON T0.Warehouse = T2.WhsCode (almacén)OINM T0 INNER JOIN OINV T3 ON T0.TransType = 13 AND T0.CreatedBy = T3.DocEntry (factura de clientes de origen)
Cuándo se usa la tabla OINM
Use OINM para el historial de movimientos de artículos, el stock a una fecha pasada como la suma de InQty - OutQty hasta esa fecha y para saber qué documento movió un artículo. Para el stock actual, OITW es más simple y más rápida.
Consulta de ejemplo: movimiento de artículos por almacén en un mes
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 (nombres de columna entre comillas dobles)
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"
Pegue cualquiera de las dos versiones en Herramientas → Consultas → Generador de consultas. ¿Necesita el otro dialecto para su propia consulta? Use el conversor de SQL a HANA.
Error frecuente: Nunca corrija stock con un UPDATE sobre OINM
Modificar OINM, OITW u OITM con SQL no está soportado por SAP: el diario, el stock por almacén y las cuentas de mayor de inventario dejan de cuadrar. Corrija el stock con documentos (entrada de mercancías, salida de mercancías o una contabilización de inventario) y mantenga su propio SQL sobre OINM en solo lectura. Vea Códigos de error de DI API.
Tablas relacionadas
OITM (Artículos (maestro de artículos)) · OITW (Stock de artículos por almacén) · OWHS (Almacenes) · buscar todas las tablas de SAP Business One
¿Listo para empezar?
Cuéntenos lo que necesita. Recibirá una respuesta técnica clara, un alcance definido y un precio fijo, normalmente en 24 horas.
