Tabela OPDN no SAP Business One (Recebimento de mercadorias (cabeçalho))

OPDN é a tabela do SAP Business One que guarda o cabeçalho de cada recebimento de mercadorias, o documento de compras que registra a mercadoria recebida de um fornecedor e a soma ao estoque. O tipo de objeto é 20. As linhas ficam na PDN1, relacionadas por DocEntry; elas apontam de volta para o pedido de compra (BaseType 22).

Campos-chave da OPDN

CampoO que contém
DocEntryChave interna. Relaciona com PDN1.DocEntry.
DocNumNúmero do documento que os usuários veem.
DocDateData de lançamento.
CardCode / CardNameFornecedor. Relaciona com OCRD.CardCode.
NumAtCardNúmero de referência do fornecedor.
DocStatusO = em aberto, C = fechado.
CANCELEDY = cancelado, N = não cancelado, C = cancelamento.
DocTotal / DocCurTotal e moeda do documento.
VatSumTotal do imposto.
TransIdLançamento contábil gerado pelo recebimento. Relaciona com OJDT.TransId.
ObjTypeTipo de objeto, 20 = recebimento de mercadorias.

Como a OPDN se relaciona com outras tabelas

A OPDN é o cabeçalho e a PDN1 contém as linhas. Uma linha copiada de um pedido de compra tem PDN1.BaseType = 22 e BaseEntry = OPOR.DocEntry. Quando é copiada para outro documento, PDN1.TargetType é 18 (nota fiscal de entrada), 21 (devolução de mercadorias) ou 204 (nota fiscal de adiantamento de fornecedor).

Joins mais comuns

  • OPDN T0 INNER JOIN PDN1 T1 ON T1.DocEntry = T0.DocEntry (linhas)
  • PDN1 T1 LEFT JOIN OPOR T2 ON T2.DocEntry = T1.BaseEntry AND T1.BaseType = 22 (pedido de compra)
  • PDN1 T1 LEFT JOIN OPCH T3 ON T3.DocEntry = T1.TrgetEntry AND T1.TargetType = 18 (nota fiscal de entrada)
  • OPDN T0 LEFT JOIN OJDT T4 ON T4.TransId = T0.TransId (lançamento contábil)

Quando usar a tabela OPDN

Use a OPDN para listar a mercadoria recebida por fornecedor e período, encontrar recebimentos ainda não faturados (recebimentos de mercadorias em aberto) e revisar a conciliação de três vias entre pedido de compra, recebimento e nota fiscal de entrada.

Consulta de exemplo: recebimentos de mercadorias em aberto (recebidos, não faturados por completo)

SQL Server

SELECT T0.DocNum, T0.DocDate, T0.CardCode, T0.CardName, T0.NumAtCard, T0.DocTotal,
  DATEDIFF(day, T0.DocDate, GETDATE()) AS DaysOpen
FROM OPDN T0
WHERE T0.DocStatus = 'O' AND T0.CANCELED = 'N'
ORDER BY T0.DocDate

SAP HANA (nomes de colunas entre aspas duplas)

SELECT T0."DocNum", T0."DocDate", T0."CardCode", T0."CardName", T0."NumAtCard", T0."DocTotal",
  DAYS_BETWEEN(T0."DocDate", CURRENT_TIMESTAMP) AS "DaysOpen"
FROM OPDN T0
WHERE T0."DocStatus" = 'O' AND T0."CANCELED" = 'N'
ORDER BY T0."DocDate"

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: Um recebimento em aberto não é uma entrega faltante

DocStatus O na OPDN significa que há linhas em aberto para um documento de destino, como uma nota fiscal de entrada ou uma devolução de mercadorias, e não que falta mercadoria. Confira PDN1.OpenQty e TargetType para ver o que ainda falta faturar e filtre CANCELED = 'N'. Veja Consulta de pedidos de compra em aberto.

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

Perguntas sobre a tabela OPDN

Qual é o tipo de objeto de um recebimento de mercadorias no SAP B1?

20. É o valor padrão de OPDN.ObjType e PDN1.ObjType.

Como encontro o pedido de compra de um recebimento de mercadorias?

PDN1.BaseType = 22 e PDN1.BaseEntry = OPOR.DocEntry.

Qual é a diferença entre OPDN e OIGN?

A OPDN é o recebimento de mercadorias de um fornecedor (20); a OIGN é a entrada de mercadorias de estoque sem documento de fornecedor (59).

Tabelas relacionadas

PDN1 (Recebimento de mercadorias (linhas)) · OPOR (Pedido de compra (cabeçalho)) · OPCH (Nota fiscal de entrada (cabeçalho)) · 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.