Tabella OACT in SAP Business One (Conti Co.Ge. (piano dei conti))

OACT è la tabella di SAP Business One che contiene il piano dei conti: una riga per conto Co.Ge., sia conti di titolo sia conti movimentabili (attivi), con la gerarchia dei conti e il saldo attuale. Le righe di registrazione in JDT1 vi puntano tramite JDT1.Account = OACT.AcctCode.

Campi chiave di OACT

CampoContenuto
AcctCodeChiave interna del conto. JDT1.Account e i campi conto dei documenti contengono questo valore.
AcctNameNome del conto.
FormatCodeIl numero di conto che vedono gli utenti. Con la segmentazione dei conti è diverso da AcctCode.
PostableY = conto attivo su cui si può registrare, N = conto di titolo (un’intestazione dell’albero).
LevelsLivello nell’albero dei conti (1 = raggruppamento come Attività; numeri più alti = più in profondità).
FatherNumAcctCode del conto di titolo padre.
GroupMaskIl raggruppamento a cui appartiene il conto (attività, passività, patrimonio netto, ricavi, costi, ecc., numerati secondo la localizzazione).
CurrTotalSaldo attuale in valuta locale.
SysTotalSaldo attuale in valuta di sistema.
FcTotalSaldo nella valuta del conto.
ActCurrValuta del conto.
LocManTranY = conto collettivo (ad esempio, crediti verso clienti).
FrozenY = conto bloccato.

Come OACT si collega alle altre tabelle

OACT è un’anagrafica. Ogni registrazione si trova in JDT1 (righe di registrazione) con JDT1.Account = OACT.AcctCode, e la testata è in OJDT. Anche i conti collettivi dei business partner (OCRD.DebPayAcct) e i campi conto di articoli, magazzini e codici IVA contengono AcctCode. L’albero dei conti si costruisce a partire da FatherNum e Levels.

Join più comuni

  • OACT T0 INNER JOIN JDT1 T1 ON T1.Account = T0.AcctCode (righe di registrazione)
  • OACT T0 LEFT JOIN OACT T2 ON T2.AcctCode = T0.FatherNum (conto di titolo padre)
  • OCRD T3 INNER JOIN OACT T0 ON T0.AcctCode = T3.DebPayAcct (conto collettivo del business partner)

Quando si usa la tabella OACT

Usi OACT per un bilancio di verifica rapido, un elenco dei conti per il commercialista, la mappatura dei conti su una struttura di report o per verificare che ogni conto di un report sia movimentabile. Per i saldi a una data o per periodo, sommi JDT1 invece di leggere CurrTotal.

Query di esempio: saldo per conto movimentabile a una data (da JDT1)

SQL Server

SELECT T0.FormatCode, T0.AcctName,
  SUM(T1.Debit - T1.Credit) AS Balance
FROM OACT T0
INNER JOIN JDT1 T1 ON T1.Account = T0.AcctCode
WHERE T0.Postable = 'Y' AND T1.RefDate <= '[%0]'
GROUP BY T0.FormatCode, T0.AcctName
ORDER BY T0.FormatCode

SAP HANA (nomi delle colonne tra virgolette doppie)

SELECT T0."FormatCode", T0."AcctName",
  SUM(T1."Debit" - T1."Credit") AS "Balance"
FROM OACT T0
INNER JOIN JDT1 T1 ON T1."Account" = T0."AcctCode"
WHERE T0."Postable" = 'Y' AND T1."RefDate" <= '[%0]'
GROUP BY T0."FormatCode", T0."AcctName"
ORDER BY T0."FormatCode"

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: FormatCode rispetto ad AcctCode, e CurrTotal vale solo per oggi

Gli utenti conoscono i conti dal numero che vedono a video, cioè FormatCode. JDT1.Account contiene AcctCode, che con la segmentazione dei conti è un codice interno, quindi filtrare JDT1.Account con il numero visto dagli utenti può non trovare nulla. Faccia il join con OACT e filtri per FormatCode. CurrTotal è il saldo in questo momento; ignora le date, quindi non le dà il saldo del mese scorso. Sommi JDT1 fino alla data che le serve. Veda Tabella JDT1 (righe di registrazione).

Query pronte che usano OACT (pagine in inglese)

Tabelle correlate

JDT1 (Righe della registrazione contabile) · OJDT (Registrazione contabile (testata, prima nota)) · OCRD (Business Partner) · 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.