Tabella ODRF in SAP Business One (Documenti bozza (testata))

ODRF è la tabella di SAP Business One che contiene la testata di ogni documento bozza: fatture, consegne, entrate merci e altri documenti salvati come bozza o in attesa di approvazione. ODRF.ObjType indica in quale documento si trasformerà la bozza (per esempio 13 = fattura cliente). Le righe sono in DRF1, collegate tramite DocEntry.

Campi chiave di ODRF

CampoContenuto
DocEntryChiave interna della bozza. Si collega a DRF1.DocEntry.
ObjTypeTipo del documento a cui corrisponde la bozza, per esempio 13 = fattura cliente, 15 = consegna, 14 = nota di credito cliente.
DocNumNumero del documento.
DocDateData di registrazione.
CardCode / CardNameBusiness partner. Si collega a OCRD.CardCode.
DocStatusO = aperta, C = chiusa.
WddStatusStato di approvazione: - = senza approvazione, W = in attesa, Y = approvata, N = respinta, P = generata, A = generata dall’approvatore, C = annullata.
DocTotal / DocCurTotale e valuta del documento.
UserSignUtente che ha creato la bozza. Si collega a OUSR.
CreateDateData di creazione.

Come ODRF si collega alle altre tabelle

ODRF è un’unica tabella di testata condivisa dalle bozze di molti tipi di documento; ObjType le distingue. DRF1 contiene le righe. Un documento effettivo registrato da una bozza salva il legame nella propria colonna draftKey (per esempio OPDN.draftKey = ODRF.DocEntry).

Join più comuni

  • ODRF T0 INNER JOIN DRF1 T1 ON T1.DocEntry = T0.DocEntry (righe)
  • ODRF T0 LEFT JOIN OCRD T2 ON T2.CardCode = T0.CardCode (business partner)
  • OPDN T3 INNER JOIN ODRF T0 ON T0.DocEntry = T3.draftKey (entrata merci registrata dalla bozza)

Quando si usa la tabella ODRF

Usi ODRF per elencare le bozze aperte per tipo di documento e utente, trovare i documenti in attesa di approvazione (WddStatus W) e ripulire le bozze vecchie mai registrate.

Query di esempio: bozze aperte per tipo di documento con stato di approvazione

SQL Server

SELECT T0.DocEntry, T0.ObjType, T0.DocDate, T0.CardCode, T0.CardName, T0.DocTotal,
  T0.WddStatus, T0.UserSign, DATEDIFF(day, T0.CreateDate, GETDATE()) AS DaysOld
FROM ODRF T0
WHERE T0.DocStatus = 'O'
ORDER BY T0.ObjType, T0.CreateDate

SAP HANA (nomi delle colonne tra virgolette doppie)

SELECT T0."DocEntry", T0."ObjType", T0."DocDate", T0."CardCode", T0."CardName", T0."DocTotal",
  T0."WddStatus", T0."UserSign", DAYS_BETWEEN(T0."CreateDate", CURRENT_TIMESTAMP) AS "DaysOld"
FROM ODRF T0
WHERE T0."DocStatus" = 'O'
ORDER BY T0."ObjType", T0."CreateDate"

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: Riportare le bozze come documenti registrati

Le bozze di tutti i tipi sono in ODRF, quindi un report deve filtrare ObjType per il documento di interesse, e le bozze non vanno mai sommate ai totali di vendite o acquisti. Usi il DocEntry della bozza (non DocNum) per collegarla al documento registrato tramite draftKey. Veda Query delle approvazioni in sospeso.

Query pronte che usano ODRF (pagine in inglese)

Domande sulla tabella ODRF

Dove sono salvati i documenti bozza in SAP Business One?

In ODRF (testata) e DRF1 (righe), per tutti i tipi di documento. ODRF.ObjType indica di che tipo è la bozza.

Come trovo le bozze in attesa di approvazione?

Filtri ODRF.WddStatus = 'W' (in attesa).

Come trovo il documento registrato da una bozza?

Il documento registrato ha draftKey = ODRF.DocEntry.

Tabelle correlate

DRF1 (Documenti bozza (righe)) · OINV (Fattura cliente (testata)) · ORDR (Ordine cliente (testata)) · 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.