SINTOMO
All’aggiunta di una nuova liquidazione IVA, appare il messaggio ‘Nessun record dati coincidente trovato’.
Contestualmente può apparire anche un messaggio simile a ‘questo inserimento è già esistente’.
L’anomalia si presenta saltuariamente quando il componente DI di SAP Business One non aggiorna coerentemente la tabella dei numeratori con l’UDO della liquidazione IVA.
WORKAROUND 1
Tentare il seguente workaround:
- Richiamare una liquidazione IVA esistente
- Inserire un valore che poi verrà eliminato, ad esempio nel campo motivo
- Dare ‘Aggiorna’
- Ripetere la cosa un paio di volte e correggere il campo motivo
- Uscire dalla liquidazione IVA
- Provare ad inserire una nuova liquidazione IVA
A volte questa procedura forza da parte di SAP l’allineamento della tabella dei numeratori.
WORKAROUND 2
Tentatare la procedura Ripristinare file di numerazione di Business One.
Consigliamo un backup preventivo del database dell’azienda e di lanciare la procedura solo quando nessun’altro utente sta utilizzando Business One.
WORKAROUND 3
Se i primi due workaround non portano alla risoluzione, potrebbe essere necessario effettuare una query di UPDATE sulla tabella ONNM.
Per prima cosa è necessario verificare se sussiste il disallineamento dei numeratori. Queste le query:
SELECT AutoKey FROM ONNM WHERE ObjectCode IN (‘INFOBIT_LiqIva’);
SELECT MAX(DocEntry) AS MaxDocEntry FROM “@INFOBIT_LIQIVA”
L’immagine illustra la situazione corretta, ONNM ha un valore più alto rispetto al DocEntry maggiore della liquidazione IVA.
Se si riscontra l’anomalia descritta in questo articolo, la situazione si presenta invertita.
Il workaround consiste nell’effettuare una query di UPDATE della tabella ONNM (record ‘INFOBIT_LiqIva‘) riportando nel campo AutoKey il valore maggiore del campo DocEntry della tabella @INFOBIT_LIQIVA.
WORKAROUND 4
L’errore in oggetto potrebbe essere causato da del codice SQL inserito nella stored procedure SBO_SP_TransactionNotification.
Questo codice è normalmente inserito dal partner SAP allo scopo di implementare delle personalizzazioni, non è quindi di competenza di Ring.
Nonostante questo, essendo la liquidazione IVA di Ring un UDO (user defined object), le operazioni di l’inserimento, aggiornamento o eliminazione di una liquidazione IVA determinano automaticamente una chiamata alla SBO_SP_TransactionNotification.
Questa chiamata, a causa del codice personalizzato inserito nella stored procedure in questione, potrebbe generare un errore che provoca il fallimento della transazione relativa alla liquidazione IVA, determinando l’anomalia in oggetto.
In questi casi, un errore aggiuntivo a quello visualizzato da Ring, potrebbe apparire nella finestra ‘Registro messaggi di sistema’ di SAP Business One.
Si consiglia quindi di controllare se in questa finestra sono presenti ulteriori messaggi d’errore che possano aiutare a diagnosticare il problema.
Se i workaround precedenti non hanno funzionato, si consiglia quindi di verificare il codice presente nella SBO_SP_TransactionNotification.
Un possibile approccio potrebbe essere quello di commentare il codice presente in questa stored procedure (quando tutti gli altri utenti sono offline), ed in seguito riprovare l’inserimento della liquidazione IVA.
Se l’inserimento va a buon fine, significa che l’errore è causato dal codice SQL presente nella stored procedure SBO_SP_TransactionNotification.
In tal caso si rende necessario implementare un fix del codice presente in questa stored procedure.