Vai al contenuto

Convenzioni sui Nomi delle Tabelle

SAP Business One utilizza convenzioni molto rigide per i nomi delle tabelle del database. Conoscere queste regole permette di intuire la funzione di una tabella semplicemente guardandone il nome, agevolando enormemente la scrittura di query SQL.

Regole Principali di Nomenclatura

Le tabelle di sistema in SAP B1 usano solitamente 4 lettere e seguono prefissi specifici:

1. Prefisso O (Header / Testata)

La lettera O iniziale indica generalmente la tabella principale o di testata di un oggetto (Documento o Anagrafica). * OCRD = Customers, Receivables, Debtors (Business Partner) * OITM = ITeMs (Articoli) * ORDR = ORder (Ordini Clienti) * OPCH = PurCHase Invoice (Fatture Fornitori)

2. Suffisso Numerico (Lines / Righe)

Le tabelle secondarie collegate a una tabella principale (tipicamente le righe dei documenti) prendono le ultime tre lettere della tabella di testata seguite da un numero. * 1 = Righe del documento * 2 = Spese aggiuntive (Freight) * 3 = Rate * 4, 5, ecc. = Altre tabelle di dettaglio o log logistici

Esempio pratico (Ordini Clienti - ORDR): * ORDR = Testata dell'Ordine * RDR1 = Righe dell'Ordine * RDR2 = Spese Aggiuntive dell'Ordine * RDR3 = Rate dell'Ordine

Lettura veloce

Se vedi in una query la tabella INV1, sai immediatamente che sono le righe (1) delle fatture di vendita (OINV).

3. Prefisso A (Archive / History)

La lettera A anteposta al nome di una tabella indica che si tratta di una tabella di Log storico o di archivio. SAP B1 salva lo storico delle modifiche per alcune anagrafiche e documenti. * AORDR = Storico testate Ordini Clienti * ARDR1 = Storico righe Ordini Clienti * ACRD = Storico Business Partner

4. Tabelle e Campi Definiti dall'Utente (User Defined)

SAP permette ampie personalizzazioni creando tabelle o campi aggiuntivi. Per non andare in conflitto con gli standard SAP, vengono usati dei caratteri speciali.

  • Prefisso @: Indica una Tabella Definita dall'Utente (UDT).
    • Esempi: @RS_INFO, @MY_TABLE
  • Prefisso U_: Indica un Campo Definito dall'Utente (UDF), sia nelle tabelle standard che in quelle UDT.
    • Esempi: U_MyField, U_CodiceEsterno

Dove si trovano le UDF?

I campi definiti dall'utente aggiunti a tabelle standard (es. su OCRD) si trovano fisicamente nella tabella stessa, quindi potrai scrivere SELECT CardCode, U_MyField FROM OCRD.

Glossario Acronimi (UDT, UDF, UDO)

Quando si sviluppa su SAP B1, ci si imbatte spesso in questi acronimi:

  • UDT: User Defined Table (singolare) - Tabella definita dall'utente (es. @MIA_TABELLA).
  • UDTS: User Defined Tables (plurale) - L'insieme delle tabelle utente.
  • UDF: User Defined Field (singolare) - Campo definito dall'utente (es. U_MioCampo).
  • UDFS: User Defined Fields (plurale) - L'insieme dei campi utente.
  • UDO: User Defined Object - Oggetto definito dall'utente. Permette di trattare una UDT (o un insieme di UDT collegate testata-riga) come un vero e proprio oggetto nativo di SAP, dotandolo di un'interfaccia standard e rendendolo interrogabile tramite DI API allo stesso modo dei documenti o anagrafiche standard.

Tabella Visiva: Moduli Comuni e Tabelle

Ecco un riepilogo delle tabelle più comuni raggruppate per modulo:

Modulo Oggetto Testata (O) Righe (1)
Anagrafiche Business Partner OCRD N/A
Anagrafiche Articoli OITM N/A
Vendite Offerta (Quotation) OQUT QUT1
Vendite Ordine (Order) ORDR RDR1
Vendite Documento di Trasporto (Delivery) ODLN DLN1
Vendite Fattura (Invoice) OINV INV1
Acquisti Ordine d'Acquisto (Purchase Order) OPOR POR1
Acquisti Entrata Merci (Goods Receipt PO) OPDN PDN1
Acquisti Fattura Fornitore (Purchase Invoice) OPCH PCH1
Magazzino Entrata Merci (Goods Receipt) OIGN IGN1
Magazzino Uscita Merci (Goods Issue) OIGE IGE1