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
| Campo | O que contém |
|---|---|
DocEntry | Chave do pedido de venda. Relaciona com ORDR.DocEntry. |
LineNum | Número da linha dentro do pedido. DocEntry + LineNum identifica uma linha. |
ItemCode | Item pedido. Relaciona com OITM.ItemCode. |
Dscription | Descrição do item ou serviço (grafia do SAP). |
Quantity | Quantidade pedida na linha. |
OpenQty | Quantidade em aberto: o que ainda não foi entregue nem faturado. |
DelivrdQty | Quantidade já entregue. |
LineStatus | Status da linha: O = em aberto, C = fechada. |
Price / PriceBefDi | Preço após o desconto da linha / preço unitário antes do desconto. |
LineTotal | Total da linha, antes dos impostos e antes do desconto do cabeçalho em ORDR.DiscPrcnt. |
WhsCode | Depósito no qual o estoque é confirmado. Relaciona com OWHS.WhsCode. |
ShipDate | Data de entrega da linha. |
TargetType / TrgetEntry | Documento 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)
- Open sales orders with open quantity: Every open sales order line that still has quantity to deliver.
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
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.
