Iniciar projeto

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

CampoO que contém
TransNumNúmero da linha do diário.
TransTypeTipo 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.
CreatedByChave do documento de origem (o DocEntry dele para esse TransType).
BASE_REFReferência base do documento de origem.
DocLineNumNúmero da linha no documento de origem.
DocDateData de lançamento da movimentação.
ItemCodeItem. Relaciona com OITM.ItemCode.
InQtyQuantidade recebida no depósito.
OutQtyQuantidade baixada do depósito.
WarehouseDepó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

Fontes: Documentação e SDK do SAP Business One (referência das tabelas do banco de dados da DI API), SAP Help Portal.

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.