Strumenti Utente

Strumenti Sito


it:renameissue

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.


it:renameissue [2021/03/25 13:09] (versione attuale) – creata - modifica esterna 127.0.0.1
Linea 1: Linea 1:
 +TitleTAG 
 +
 +
 +
 +<HTML><H3>Punti di attenzione sul RENAME</H3></HTML>
 +
 +Per il caso di RENAME è stato riscontrato un comportamento particolare e che potrebbe causare la creazione di log di errori (falsi positivi): vi segnaliamo la casistica in attesa di trovare una soluzione.
 +
 +**Gestione dell'integrità referenziale in caso di RENAME**
 +
 +La gestione del RENAME è particolare, in quanto oltre alla normale transazione e al codice presente nei trigger OnRename, che sono normalmente gestiti da Sprinkler, Dynamics 365 Business Central esegue applicativamente anche tutte le operazioni di gestione dell'integrità referenziale: per esempio, se viene effettuato il rename della chiave di un Cliente, vengono aggiornati applicativamente i campi referenziati degli ordini, delle fatture e così via.
 +
 +Purtroppo questa gestione ha un effetto collaterale per il metodo di rilevamento delle modifiche utilizzato da Sprinkler: in particolare, Sprinkler rileva e segnala al sistema remoto sia l'operazione di RENAME (come prima transazione) sia tutte le conseguenti operazioni di MODIFY o RENAME sugli altri record, che non sono distinguibili dalle normali operazioni di MODIFY o RENAME, come ulteriori transazioni.
 +
 +Caso RENAME + MODIFY: il sistema di destinazione riceve una segnalazione di RENAME e la replica direttamente, scatenando già automaticamente la fase di gestione dell'integrità referenziale: i successivi MODIFY saranno a questo punto inutili, ma non saranno comunque segnalati come errore.
 +
 +Caso RENAME + RENAME: si genera un problema quando il campo modificato è referenziato da una chiave. Pensiamo per esempio di avere in replica sia la tabella [Customer] che la tabella [Customer Bank Accont]: in questo caso, la chiave [No.] di [Customer] è referenziata dal campo [Customer No.] della chiave di [Customer Bank Account]. Se rinominiamo un Cliente, quando il sistema Target applicherà il primo RENAME effettuerà in automatico anche un RENAME delle righe della [Customer Bank Account] di quel Cliente.
 +
 +Sprinkler in questo caso segnalerà un RENAME del Cliente e un RENAME di un record corrispondente della [Customer Bank Account]. Il secondo RENAME però non troverà tramite la chiave il record cercato, perché __già rinominato__ direttamente da Dynamics 365 Business Central durante l'importazione del primo RENAME, e segnalerà un errore. Questo errore verrà inserito nella tabella [Data Distrib. Import Error] con la segnalazione del fatto che il record da rinominare non esiste: in realtà l'operazione è stata portata a termine correttamente, ma potrà essere complicato riuscire a interpretare cosa sia successo.
 +
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki