Tabela RDR1 no SAP Business One (Pedido de venda (linhas))

RDR1 é a tabela do SAP Business One que guarda as linhas dos pedidos de venda: item, quantidade, quantidade em aberto, preço, depósito e data de entrega por linha. Ela se relaciona com o cabeçalho ORDR por DocEntry, e OpenQty junto com LineStatus informa o que ainda falta entregar.

Campos-chave da RDR1

CampoO que contém
DocEntryChave do pedido de venda. Relaciona com ORDR.DocEntry.
LineNumNúmero da linha dentro do pedido. DocEntry + LineNum identifica uma linha.
ItemCodeItem pedido. Relaciona com OITM.ItemCode.
DscriptionDescrição do item ou serviço (grafia do SAP).
QuantityQuantidade pedida na linha.
OpenQtyQuantidade em aberto: o que ainda não foi entregue nem faturado.
DelivrdQtyQuantidade já entregue.
LineStatusStatus da linha: O = em aberto, C = fechada.
Price / PriceBefDiPreço após o desconto da linha / preço unitário antes do desconto.
LineTotalTotal da linha, antes dos impostos e antes do desconto do cabeçalho em ORDR.DiscPrcnt.
WhsCodeDepósito no qual o estoque é confirmado. Relaciona com OWHS.WhsCode.
ShipDateData de entrega da linha.
TargetType / TrgetEntryDocumento de destino para o qual a linha foi copiada, por exemplo 15 = entrega (ODLN), 13 = nota fiscal de saída.

Como a RDR1 se relaciona com outras tabelas

RDR1 é a tabela de linhas da ORDR. Cada pedido tem uma linha na ORDR e uma linha na RDR1 por item ou serviço, compartilhando o DocEntry. Quando uma entrega ou nota fiscal é copiada do pedido, as linhas de destino (DLN1, INV1) guardam BaseType = 17, BaseEntry = RDR1.DocEntry e BaseLine = RDR1.LineNum, e a linha do pedido guarda o destino em TargetType e TrgetEntry.

Joins mais comuns

  • RDR1 T1 INNER JOIN ORDR T0 ON T1.DocEntry = T0.DocEntry (cabeçalho)
  • RDR1 T1 LEFT JOIN OITM T2 ON T1.ItemCode = T2.ItemCode (cadastro de itens)
  • RDR1 T1 LEFT JOIN OITW T3 ON T1.ItemCode = T3.ItemCode AND T1.WhsCode = T3.WhsCode (estoque no depósito do pedido)
  • DLN1 T4 ON T4.BaseType = 17 AND T4.BaseEntry = T1.DocEntry AND T4.BaseLine = T1.LineNum (entregas a partir da linha)

Quando usar a tabela RDR1

Use a RDR1 para listas de pedidos pendentes (backorders) e de expedição, quantidade em aberto por item ou depósito e conferência do estoque confirmado em relação à OITW. O cliente, as datas e o status de cancelamento ficam na ORDR; por isso, quase toda consulta sobre a RDR1 também faz join com o cabeçalho.

Consulta de exemplo: quantidade em aberto de pedidos por item e depósito

SQL Server

SELECT T1.ItemCode, T1.Dscription, T1.WhsCode, COUNT(DISTINCT T0.DocEntry) AS Orders,
  SUM(T1.OpenQty) AS OpenQty
FROM ORDR T0
INNER JOIN RDR1 T1 ON T0.DocEntry = T1.DocEntry
WHERE T0.CANCELED = 'N' AND T1.LineStatus = 'O' AND T1.OpenQty > 0
GROUP BY T1.ItemCode, T1.Dscription, T1.WhsCode
ORDER BY OpenQty DESC

SAP HANA (nomes de colunas entre aspas duplas)

SELECT T1."ItemCode", T1."Dscription", T1."WhsCode", COUNT(DISTINCT T0."DocEntry") AS "Orders",
  SUM(T1."OpenQty") AS "OpenQty"
FROM ORDR T0
INNER JOIN RDR1 T1 ON T0."DocEntry" = T1."DocEntry"
WHERE T0."CANCELED" = 'N' AND T1."LineStatus" = 'O' AND T1."OpenQty" > 0
GROUP BY T1."ItemCode", T1."Dscription", T1."WhsCode"
ORDER BY "OpenQty" DESC

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: Quantity não é o que falta expedir

Quantity é a quantidade pedida e não diminui quando parte da linha é entregue. Para pendências, use OpenQty e combine-a sempre com LineStatus = 'O' para deixar de fora as linhas que foram fechadas. Para valores a partir das linhas, lembre que LineTotal é anterior ao desconto do cabeçalho em ORDR.DiscPrcnt. Veja Consulta de pedidos de venda em aberto.

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

Tabelas relacionadas

ORDR (Pedido de venda (cabeçalho)) · ODLN (Entrega (cabeçalho)) · OITW (Estoque do item por depósito) · OITM (Itens (cadastro de itens)) · 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.