Tabela OINM no SAP Business One (Diário de estoque (auditoria de estoque))
OINM é o diário de estoque do SAP Business One: uma linha por movimentação de item, com a quantidade recebida (InQty), a quantidade baixada (OutQty), o depósito e o documento que a gerou (TransType e CreatedBy). Os relatórios a leem para o histórico de movimentações de itens; nunca se deve gravar nela diretamente.
Campos-chave da OINM
| Campo | O que contém |
|---|---|
TransNum | Número da linha do diário. |
TransType | Tipo do documento de origem, por exemplo 13 = nota fiscal de saída, 15 = entrega, 59 = entrada de mercadorias, 60 = saída de mercadorias, 67 = transferência de estoque. |
CreatedBy | Chave do documento de origem (o DocEntry dele para esse TransType). |
BASE_REF | Referência base do documento de origem. |
DocLineNum | Número da linha no documento de origem. |
DocDate | Data de lançamento da movimentação. |
ItemCode | Item. Relaciona com OITM.ItemCode. |
InQty | Quantidade recebida no depósito. |
OutQty | Quantidade baixada do depósito. |
Warehouse | Depósito da movimentação. Relaciona com OWHS.WhsCode. |
Como a OINM se relaciona com outras tabelas
A OINM não se divide em cabeçalho e linhas: cada linha é uma movimentação de um item em um depósito. TransType mais CreatedBy apontam para o documento; assim, TransType = 13 com CreatedBy = 25 é a nota fiscal de saída com OINV.DocEntry = 25. Uma transferência de estoque (67) grava uma linha de saída do depósito de origem e uma linha de entrada no depósito de destino. Na referência pública de tabelas do banco de dados do SDK 10.0, o diário de estoque está documentado como OIVL (Whse Journal), com as mesmas colunas TransType, InQty e OutQty; por isso, verifique qual tabela a sua versão expõe antes de construir um relatório sobre ela.
Joins mais comuns
OINM T0 INNER JOIN OITM T1 ON T0.ItemCode = T1.ItemCode (item)OINM T0 INNER JOIN OWHS T2 ON T0.Warehouse = T2.WhsCode (depósito)OINM T0 INNER JOIN OINV T3 ON T0.TransType = 13 AND T0.CreatedBy = T3.DocEntry (nota fiscal de saída de origem)
Quando usar a tabela OINM
Use a OINM para o histórico de movimentações de itens, o estoque em uma data passada como a soma de InQty - OutQty até essa data e para saber qual documento movimentou um item. Para o estoque atual, a OITW é mais simples e mais rápida.
Consulta de exemplo: movimentação de itens por depósito em um mês
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 (nomes de colunas entre aspas duplas)
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"
Cole qualquer uma das duas versões em Ferramentas → Consultas → Gerador de consultas. Precisa do outro dialeto para a sua própria consulta? Use o conversor de SQL para HANA.
Erro comum: Nunca corrija estoque com um UPDATE na OINM
Alterar OINM, OITW ou OITM com SQL não é suportado pela SAP: o diário, o estoque por depósito e as contas contábeis de estoque deixam de bater. Corrija o estoque com documentos (entrada de mercadorias, saída de mercadorias ou um lançamento de inventário) e mantenha o seu próprio SQL sobre a OINM somente leitura. Veja Códigos de erro da DI API.
Está construindo algo sobre a OINM?
Ler a OINM (Diário de estoque (auditoria de estoque)) em uma consulta é a parte fácil. Fazemos desenvolvimento sob medida para SAP Business One: add-ons, integrações e relatórios, do banco de dados à tela.
Tabelas relacionadas
OITM (Itens (cadastro de itens)) · OITW (Estoque do item por depósito) · OWHS (Depósitos) · pesquisar todas as tabelas do SAP Business One
Pronto para começar?
Diga do que você precisa. Você recebe uma resposta técnica clara, um escopo fechado e um preço, normalmente em até 24 horas.
