Tabella ADOC in SAP Business One (Storico documenti (storico fatture))
ADOC è la tabella dello storico documenti di SAP Business One (l’SDK la chiama «Invoice - History»): conserva le versioni precedenti delle testate dei documenti, una riga per versione salvata, numerate tramite LogInstanc. Ha le stesse colonne di testata delle tabelle dei documenti, quindi permette di vedere chi ha modificato un documento, quando e qual era il totale prima.
Campi chiave di ADOC
| Campo | Contenuto |
|---|---|
DocEntry | Chiave interna del documento. |
DocNum | Numero del documento. |
ObjType | Tipo di oggetto del documento (ADP1), ad esempio 13 per le fatture cliente. |
LogInstanc | Istanza di log: il numero di versione della riga di storico. |
DocDate | Data di registrazione. |
CardCode / CardName | Business partner. CardCode si collega a OCRD. |
DocCur / DocTotal | Valuta e totale del documento in quella versione. |
DocStatus | O = aperto, C = chiuso. |
CANCELED | Y = annullato, N = non annullato, C = documento di annullamento. |
UserSign / UserSign2 | Utente che lo ha creato e utente che lo ha aggiornato. Si collegano a OUSR.USERID. |
CreateDate / UpdateDate | Date di creazione e di aggiornamento. |
UpdateTS | Ora di aggiornamento. |
Come ADOC si collega alle altre tabelle
Le righe di ADOC sono identificate da ObjType, DocEntry e LogInstanc insieme, perché un’unica tabella conserva versioni di tipi di documento diversi. La versione attuale resta nella tabella del documento (ad esempio OINV), quindi confronti le versioni di ADOC con la riga corrente per vedere cosa è cambiato. UserSign2 indica chi ha salvato ogni versione.
Join più comuni
ADOC T0 INNER JOIN OUSR T1 ON T1.USERID = T0.UserSign2 (utente che ha salvato la versione)ADOC T0 INNER JOIN OINV T2 ON T2.DocEntry = T0.DocEntry AND T0.ObjType = '13' (fattura attuale)
Quando si usa la tabella ADOC
Usi ADOC per domande di audit come chi ha modificato questa fattura e quando, per vedere il totale di un documento prima di una modifica e per contare le modifiche per utente.
Query di esempio: storico delle modifiche di una fattura cliente
SQL Server
SELECT T0.LogInstanc, T0.UpdateDate, T0.UpdateTS, T1.USER_CODE, T1.U_NAME, T0.CardCode, T0.DocTotal, T0.DocStatus FROM ADOC T0 LEFT JOIN OUSR T1 ON T1.USERID = T0.UserSign2 WHERE T0.ObjType = '13' AND T0.DocNum = 1001 ORDER BY T0.LogInstanc
SAP HANA (nomi delle colonne tra virgolette doppie)
SELECT T0."LogInstanc", T0."UpdateDate", T0."UpdateTS", T1."USER_CODE", T1."U_NAME", T0."CardCode", T0."DocTotal", T0."DocStatus" FROM ADOC T0 LEFT JOIN OUSR T1 ON T1."USERID" = T0."UserSign2" WHERE T0."ObjType" = '13' AND T0."DocNum" = 1001 ORDER BY T0."LogInstanc"
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: Filtrare ADOC solo per DocNum o DocEntry
ADOC conserva lo storico di più tipi di documento, quindi il DocEntry 1001 può essere una fattura, una nota di credito o un altro documento. Filtri sempre anche ObjType. La versione attuale non si trova in ADOC; la legga dalla tabella del documento e la aggiunga all’elenco dello storico. Veda Query dei documenti creati per utente.
Query pronte che usano ADOC (pagine in inglese)
- Fatture create oggi per utente: Numero di fatture cliente create oggi da ciascun utente SAP B1, con l’importo totale.
Domande sulla tabella ADOC
Dove si trova lo storico delle modifiche di una fattura?
In ADOC, una riga per versione salvata (LogInstanc), filtrata per ObjType 13 e DocEntry.
Come vedo chi ha modificato un documento?
Colleghi ADOC.UserSign2 a OUSR.USERID e ordini per LogInstanc.
La versione attuale del documento si trova in ADOC?
La versione corrente resta nella tabella del documento, ad esempio OINV; ADOC conserva le versioni precedenti.
Tabelle correlate
OUSR (Utenti) · OINV (Fattura cliente (testata)) · 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.
