Un documento SAP Business One è più di un insieme di righe: l’applicazione coordina controlli, relazioni, numerazioni e aggiornamenti collegati.
La scorciatoia che crea problemi
Una INSERT in una tabella documento o una UPDATE su una riga può sembrare più rapida di una chiamata applicativa. Ma il database non rappresenta da solo l’operazione aziendale completa. Quando si registra un movimento possono intervenire regole su quantità, lotti, seriali, contabilità, autorizzazioni, stato delle righe e collegamenti tra documenti.
Che cosa può andare storto
Una scrittura diretta può lasciare dati incoerenti: quantità di magazzino diverse dai movimenti, documenti senza riferimenti corretti, campi calcolati non aggiornati o numerazioni anomale. Il danno può emergere più tardi, durante riconciliazioni, aggiornamenti di versione o normali operazioni degli utenti. Anche una modifica apparentemente limitata a un campo standard va valutata nel contesto delle regole SAP.
La strada per le operazioni
Per creare o modificare oggetti standard usare le interfacce applicative previste per lo scenario, come Service Layer o DI API. Per integrare dati propri usare le strutture e le estensioni documentate, con i metodi supportati. Le query SQL restano utili per letture, diagnostica e reportistica, purché si rispettino autorizzazioni e carico del sistema: leggere e scrivere hanno rischi diversi.
Esempio di magazzino
Se un WMS conferma il prelievo di dieci pezzi, l’integrazione deve identificare il documento SAP da movimentare, convalidare articolo, deposito e quantità, poi registrare l’operazione con l’interfaccia applicativa. Aggiornare manualmente una giacenza in tabella non equivale a creare un movimento di magazzino.
Una regola progettuale
Conservare in un registro d’integrazione l’evento esterno, l’identificativo SAP restituito, l’esito e l’eventuale errore. Questo permette di ripetere l’operazione in modo controllato senza creare duplicati e di spiegare le differenze a chi deve riconciliarle.
Riferimenti
La disponibilità delle funzioni dipende dalla versione e dalla configurazione di SAP Business One.