Tabela PDN1 no SAP Business One (Recebimento de mercadorias (linhas))

PDN1 é a tabela do SAP Business One que guarda as linhas de um recebimento de mercadorias: uma linha por item recebido, com quantidade, preço, depósito, quantidade em aberto e a linha do pedido de compra de onde veio. Ela se relaciona com o cabeçalho OPDN por DocEntry; BaseType 22 significa que a linha foi copiada de um pedido de compra.

Campos-chave da PDN1

CampoO que contém
DocEntryChave do cabeçalho. Relaciona com OPDN.DocEntry.
LineNumNúmero da linha.
ItemCodeItem. Relaciona com OITM.ItemCode.
DscriptionDescrição do item.
QuantityQuantidade recebida.
OpenQtyQuantidade em aberto restante (ainda não copiada para uma nota fiscal ou devolução).
Price / CurrencyPreço e moeda do preço.
LineTotalTotal da linha.
WhsCodeDepósito. Relaciona com OWHS.WhsCode.
BaseTypeTipo do documento base: 22 = pedido de compra, 540000006 = cotação de compra, entre outros.
BaseEntry / BaseLineChave e linha do documento base.
TargetType / TrgetEntryDocumento de destino (18 = nota fiscal de entrada, 21 = devolução de mercadorias) e a sua chave.

Como a PDN1 se relaciona com outras tabelas

As linhas da PDN1 pertencem a um cabeçalho OPDN (DocEntry). BaseType 22 com BaseEntry e BaseLine aponta para a linha do pedido de compra na OPOR; TargetType e TrgetEntry apontam para frente, para a nota fiscal de entrada (OPCH) ou para a devolução de mercadorias.

Joins mais comuns

  • PDN1 T0 INNER JOIN OPDN T1 ON T1.DocEntry = T0.DocEntry (cabeçalho)
  • PDN1 T0 LEFT JOIN OPOR T2 ON T2.DocEntry = T0.BaseEntry AND T0.BaseType = 22 (pedido de compra)
  • PDN1 T0 LEFT JOIN OPCH T3 ON T3.DocEntry = T0.TrgetEntry AND T0.TargetType = 18 (nota fiscal de entrada)

Quando usar a tabela PDN1

Use a PDN1 para comparar as quantidades recebidas com os pedidos de compra, listar as linhas recebidas ainda não faturadas e ler o último preço de recebimento por item e fornecedor.

Consulta de exemplo: linhas recebidas ainda não faturadas, com o seu pedido de compra

SQL Server

SELECT T1.DocNum AS GrpoNum, T1.DocDate, T1.CardCode, T0.ItemCode, T0.Quantity,
  T0.OpenQty, T0.Price, T2.DocNum AS PoNum
FROM PDN1 T0
INNER JOIN OPDN T1 ON T1.DocEntry = T0.DocEntry
LEFT JOIN OPOR T2 ON T2.DocEntry = T0.BaseEntry AND T0.BaseType = 22
WHERE T0.OpenQty > 0 AND T1.CANCELED = 'N'
ORDER BY T1.DocDate

SAP HANA (nomes de colunas entre aspas duplas)

SELECT T1."DocNum" AS "GrpoNum", T1."DocDate", T1."CardCode", T0."ItemCode", T0."Quantity",
  T0."OpenQty", T0."Price", T2."DocNum" AS "PoNum"
FROM PDN1 T0
INNER JOIN OPDN T1 ON T1."DocEntry" = T0."DocEntry"
LEFT JOIN OPOR T2 ON T2."DocEntry" = T0."BaseEntry" AND T0."BaseType" = 22
WHERE T0."OpenQty" > 0 AND T1."CANCELED" = 'N'
ORDER BY T1."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: BaseEntry sem BaseType

Uma linha de recebimento pode se basear em um pedido de compra, em uma cotação de compra ou em outro documento. BaseEntry sozinho é apenas um número, então acrescente sempre BaseType = 22 ao fazer o join com a OPOR. Veja Tabela OPOR (pedido de compra).

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

Perguntas sobre a tabela PDN1

Como vinculo a PDN1 ao pedido de compra?

PDN1.BaseType = 22, PDN1.BaseEntry = OPOR.DocEntry e PDN1.BaseLine = o número da linha do pedido.

O que significa OpenQty na PDN1?

A quantidade recebida que ainda não foi copiada para um documento de destino, como uma nota fiscal de entrada ou uma devolução de mercadorias.

Como encontro a nota fiscal de entrada de uma linha de recebimento?

PDN1.TargetType = 18 e PDN1.TrgetEntry = OPCH.DocEntry.

Tabelas relacionadas

OPDN (Recebimento de mercadorias (cabeçalho)) · 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.