Tabella ORDR in SAP Business One (Ordine cliente (testata))
ORDR è la tabella di SAP Business One che contiene la testata di ogni ordine cliente: cliente, date, totali e stato. Le righe sono in RDR1, collegate tramite DocEntry, e il tipo di oggetto è 17.
Campi chiave di ORDR
| Campo | Contenuto |
|---|---|
DocEntry | Chiave interna. Si collega a RDR1.DocEntry. |
DocNum | Numero dell’ordine visibile agli utenti. |
DocDate | Data di registrazione dell’ordine. |
DocDueDate | Data di consegna richiesta. |
CardCode | Cliente. Si collega a OCRD.CardCode. |
CardName | Nome del cliente come stampato sull’ordine. |
DocTotal | Totale dell’ordine comprensivo di imposta. |
DiscPrcnt | Percentuale di sconto di testata. |
DocStatus | O = aperto, C = chiuso (consegnato o fatturato per intero, oppure chiuso manualmente). |
CANCELED | Y se l’ordine è stato annullato. |
SlpCode | Agente di vendita. Si collega a OSLP. |
Come ORDR si collega alle altre tabelle
ORDR è la testata e RDR1 contiene le righe, collegate tramite DocEntry. Nelle righe, OpenQty è la quantità ancora da consegnare e LineStatus indica se la riga è aperta. Quando una consegna o una fattura viene copiata dall’ordine, le righe di destinazione salvano BaseType = 17 e BaseEntry = ORDR.DocEntry.
Join più comuni
ORDR T0 INNER JOIN RDR1 T1 ON T0.DocEntry = T1.DocEntry (righe)ORDR T0 INNER JOIN OCRD T2 ON T0.CardCode = T2.CardCode (cliente)INV1 T3 ON T3.BaseType = 17 AND T3.BaseEntry = T1.DocEntry AND T3.BaseLine = T1.LineNum (fatture create dall’ordine)
Quando si usa la tabella ORDR
Usi ORDR e RDR1 per gli elenchi degli ordini inevasi, la pianificazione delle spedizioni, gli ordini acquisiti per periodo e il controllo della giacenza impegnata. Per «ciò che resta da spedire» lavori sulle righe (RDR1.OpenQty) invece che sullo stato della testata, perché un ordine può essere consegnato parzialmente.
Gli ordini provenienti da un negozio online o da un portale entrano tramite la DI API (oggetto Documents, oOrders) o il Service Layer (Orders). Modificare da codice un ordine chiuso restituisce -1029 "Field cannot be updated" (il campo non può essere aggiornato), ad esempio su ORDR.VatSum, quindi controlli DocStatus prima di proporre una modifica. Veda -1029 e altri errori della DI API.
Query di esempio: righe di ordini cliente aperte con quantità residua
SQL Server
SELECT T0.DocNum, T0.DocDueDate, T0.CardCode, T0.CardName, T1.ItemCode, T1.Dscription, T1.Quantity, T1.OpenQty, T1.WhsCode FROM ORDR T0 INNER JOIN RDR1 T1 ON T0.DocEntry = T1.DocEntry WHERE T0.DocStatus = 'O' AND T1.LineStatus = 'O' AND T1.OpenQty > 0 ORDER BY T0.DocDueDate, T0.DocNum
SAP HANA (nomi delle colonne tra virgolette doppie)
SELECT T0."DocNum", T0."DocDueDate", T0."CardCode", T0."CardName", T1."ItemCode", T1."Dscription", T1."Quantity", T1."OpenQty", T1."WhsCode" FROM ORDR T0 INNER JOIN RDR1 T1 ON T0."DocEntry" = T1."DocEntry" WHERE T0."DocStatus" = 'O' AND T1."LineStatus" = 'O' AND T1."OpenQty" > 0 ORDER BY T0."DocDueDate", T0."DocNum"
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: Lo stato della testata non basta con le consegne parziali
Un ordine resta con DocStatus = 'O' finché una qualsiasi riga è aperta, quindi un report basato solo sulla testata mostra l’intero ordine come inevaso. Usi RDR1.LineStatus e OpenQty per vedere cosa resta davvero da consegnare. Veda Query degli ordini cliente aperti.
Query pronte che usano ORDR (pagine in inglese)
- Ordini cliente aperti con quantità residua: Tutte le righe degli ordini cliente aperti che hanno ancora una quantità da consegnare.
Tabelle correlate
RDR1 (Ordine cliente (righe)) · ODLN (Consegna (testata)) · OINV (Fattura cliente (testata)) · OITW (Giacenze degli articoli per magazzino) · OCRD (Business Partner) · cerca tutte le tabelle di SAP Business One
Iniziamo?
Ci descriva di cosa ha bisogno. Riceverà una risposta tecnica chiara, un perimetro definito e un prezzo, di norma entro 24 ore.
