Tabela OBTQ no SAP Business One (Quantidades de lotes (por depósito))

OBTQ é a tabela do SAP Business One que guarda a quantidade de cada lote por depósito: uma linha por lote e depósito, com Quantity, CommitQty e CountQty. Ela aponta para o cadastro de lotes OBTN por MdAbsEntry (ou ItemCode mais SysNumber) e para o depósito por WhsCode.

Campos-chave da OBTQ

CampoO que contém
AbsEntryChave interna da linha.
MdAbsEntryChave do cadastro de lotes. Relaciona com OBTN.AbsEntry.
ItemCodeItem. Relaciona com OITM.ItemCode.
SysNumberNúmero do sistema do lote. Junto com ItemCode relaciona com a OBTN.
WhsCodeDepósito. Relaciona com OWHS.WhsCode.
QuantityQuantidade do lote no depósito.
CommitQtyQuantidade confirmada.
CountQtyQuantidade contada.

Como a OBTQ se relaciona com outras tabelas

A OBTQ é a camada de quantidades abaixo da OBTN. Um lote pode estar distribuído em vários depósitos, por isso tem uma linha na OBTQ por depósito. Faça o join OBTQ.MdAbsEntry = OBTN.AbsEntry para o número do lote e as datas, e OBTQ.WhsCode = OWHS.WhsCode para o depósito.

Joins mais comuns

  • OBTQ T0 INNER JOIN OBTN T1 ON T1.AbsEntry = T0.MdAbsEntry (número do lote e datas)
  • OBTQ T0 INNER JOIN OWHS T2 ON T2.WhsCode = T0.WhsCode (depósito)
  • OBTQ T0 INNER JOIN OITM T3 ON T3.ItemCode = T0.ItemCode (cadastro de itens)

Quando usar a tabela OBTQ

Use a OBTQ para o estoque por lote e depósito, para a quantidade livre de um lote (Quantity menos CommitQty) antes da separação (picking) e para conferir se os totais de lotes por depósito batem com o estoque do item.

Consulta de exemplo: estoque de lotes por depósito com quantidade confirmada e livre

SQL Server

SELECT T0.ItemCode, T1.DistNumber AS BatchNumber, T0.WhsCode, T0.Quantity,
  T0.CommitQty, T0.Quantity - T0.CommitQty AS FreeQty
FROM OBTQ T0
INNER JOIN OBTN T1 ON T1.AbsEntry = T0.MdAbsEntry
WHERE T0.Quantity > 0
ORDER BY T0.ItemCode, T1.DistNumber, T0.WhsCode

SAP HANA (nomes de colunas entre aspas duplas)

SELECT T0."ItemCode", T1."DistNumber" AS "BatchNumber", T0."WhsCode", T0."Quantity",
  T0."CommitQty", T0."Quantity" - T0."CommitQty" AS "FreeQty"
FROM OBTQ T0
INNER JOIN OBTN T1 ON T1."AbsEntry" = T0."MdAbsEntry"
WHERE T0."Quantity" > 0
ORDER BY T0."ItemCode", T1."DistNumber", T0."WhsCode"

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: Somar a OBTQ sem o depósito

Um lote pode ter linhas em vários depósitos, e as linhas podem ter Quantity 0. Filtre Quantity > 0 e mantenha WhsCode no GROUP BY, senão o lote parecerá maior ou menor do que realmente é no depósito de onde você faz a separação. Veja Consulta de lotes próximos do vencimento.

Consultas prontas que usam a OBTQ (em inglês)

Perguntas sobre a tabela OBTQ

Qual é a diferença entre OBTN e OBTQ?

A OBTN é o cadastro de lotes (número do lote, datas, status). A OBTQ guarda a quantidade de cada lote por depósito.

Como relaciono a OBTQ com a OBTN?

Por OBTQ.MdAbsEntry = OBTN.AbsEntry, ou por ItemCode e SysNumber juntos.

Como obtenho a quantidade livre de um lote?

Quantity menos CommitQty na OBTQ, por depósito.

Tabelas relacionadas

OBTN (Números de lote (cadastro)) · OWHS (Depósitos) · OITW (Estoque do item por depósito) · 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.