Avvii un progetto

Tabella RDR1 in SAP Business One (Ordine cliente (righe))

RDR1 è la tabella di SAP Business One che contiene le righe degli ordini cliente: articolo, quantità, quantità aperta, prezzo, magazzino e data di consegna per riga. Si collega alla testata ORDR tramite DocEntry, e OpenQty insieme a LineStatus le dice cosa resta da consegnare.

Campi chiave di RDR1

CampoContenuto
DocEntryChiave dell’ordine cliente. Si collega con ORDR.DocEntry.
LineNumNumero di riga all’interno dell’ordine. DocEntry + LineNum identifica una riga.
ItemCodeArticolo ordinato. Si collega con OITM.ItemCode.
DscriptionDescrizione dell’articolo o del servizio (grafia di SAP).
QuantityQuantità ordinata nella riga.
OpenQtyQuantità aperta: ciò che non è ancora stato consegnato né fatturato.
DelivrdQtyQuantità già consegnata.
LineStatusStato della riga: O = aperta, C = chiusa.
Price / PriceBefDiPrezzo dopo lo sconto di riga / prezzo unitario prima dello sconto.
LineTotalTotale della riga, al netto delle imposte e prima dello sconto di testata in ORDR.DiscPrcnt.
WhsCodeMagazzino in cui si impegna la merce. Si collega con OWHS.WhsCode.
ShipDateData di consegna della riga.
TargetType / TrgetEntryDocumento di destinazione in cui è stata copiata la riga, ad esempio 15 = consegna (ODLN), 13 = fattura cliente.

Come RDR1 si collega alle altre tabelle

RDR1 è la tabella delle righe di ORDR. Ogni ordine ha una riga in ORDR e una riga in RDR1 per articolo o servizio, con lo stesso DocEntry. Quando una consegna o una fattura viene copiata dall’ordine, le righe di destinazione (DLN1, INV1) contengono BaseType = 17, BaseEntry = RDR1.DocEntry e BaseLine = RDR1.LineNum, e la riga dell’ordine conserva la destinazione in TargetType e TrgetEntry.

Join più comuni

  • RDR1 T1 INNER JOIN ORDR T0 ON T1.DocEntry = T0.DocEntry (testata)
  • RDR1 T1 LEFT JOIN OITM T2 ON T1.ItemCode = T2.ItemCode (anagrafica articoli)
  • RDR1 T1 LEFT JOIN OITW T3 ON T1.ItemCode = T3.ItemCode AND T1.WhsCode = T3.WhsCode (giacenza nel magazzino dell’ordine)
  • DLN1 T4 ON T4.BaseType = 17 AND T4.BaseEntry = T1.DocEntry AND T4.BaseLine = T1.LineNum (consegne dalla riga)

Quando si usa la tabella RDR1

Usi RDR1 per gli elenchi degli ordini inevasi (backorder) e di spedizione, la quantità aperta per articolo o magazzino e i controlli della merce impegnata rispetto a OITW. Il cliente, le date e lo stato di annullamento sono in ORDR, quindi quasi ogni query su RDR1 collega anche la testata.

Query di esempio: quantità aperta degli ordini per articolo e magazzino

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 (nomi delle colonne tra virgolette doppie)

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

Incolli una delle due versioni in Strumenti → Query → Generatore di query. Le serve l’altro dialetto per una Sua query? Usi il convertitore da SQL a HANA.

Errore frequente: Quantity non è ciò che resta da spedire

Quantity è la quantità ordinata e non diminuisce quando una parte della riga viene consegnata. Per l’inevaso usi OpenQty, e la combini sempre con LineStatus = 'O' per escludere le righe chiuse. Per i valori calcolati dalle righe, ricordi che LineTotal è prima dello sconto di testata in ORDR.DiscPrcnt. Veda Query degli ordini cliente aperti.

Query pronte che usano RDR1 (pagine in inglese)

Sta costruendo qualcosa su RDR1?

Leggere RDR1 (Ordine cliente (righe)) con una query è la parte facile. Ci occupiamo di sviluppo su misura per SAP Business One: add-on, integrazioni e report, dal database fino alla schermata.

Tabelle correlate

ORDR (Ordine cliente (testata)) · ODLN (Consegna (testata)) · OITW (Giacenze degli articoli per magazzino) · OITM (Articoli (anagrafica articoli)) · cerca tutte le tabelle di SAP Business One

Fonti: Documentazione e SDK di SAP Business One (riferimento delle tabelle del database della DI API), SAP Help Portal.

Iniziamo?

Ci descriva di cosa ha bisogno. Riceverà una risposta tecnica chiara, un perimetro definito e un prezzo, di norma entro 24 ore.