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
- Esempi:
- Prefisso
U_: Indica un Campo Definito dall'Utente (UDF), sia nelle tabelle standard che in quelle UDT.- Esempi:
U_MyField,U_CodiceEsterno
- Esempi:
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 |