Synchronization Errors after Update to Version 8
Important Release Note for Anveo Client Suite 8 Release
In previous Anveo Client Suite (app) versions, the parameter RunTrigger of the Anveo Script command INSERT(true/false) and MODIFY(true/false) has been always set INSERT(TRUE) / MODIFY(TRUE) during incoming data processing in Microsoft Dynamics, even with INSERT(FALSE) / MODIFY(FALSE). This bug has been resolved with Anveo Client Suite 7/8 and the newer app versions. The ACF App Events codeunit now correctly interprets the parameter.
However, this change of behavior might cause serious data processing errors in existing installations. As a result, a synchronization process will show error messages during the synchronization process.
Solution 1 – Fast and simple workaround: Always set the default behavior in the app events codeunit to INSERT(TRUE) / MODIFY(TRUE), even with incoming INSERT(FALSE) or MODIFY(FALSE). This solution is an easy short-term workaround as it is very easy to implement, but will disallow the developers to use INSERT(FALSE) / MODIFY(FALSE) in the future.
Codeunit 5327199 ACF App Events
Function OnInsertRec()
Change the following code from:
1 2 3 4 |
[…] // *** INSERT RECORD TO NAV DATABASE *** InsertSuccessful := RecRef.INSERT(NAVAction = NAVAction::CallTrigger); […] |
To new code:
1 2 |
// *** INSERT RECORD TO NAV DATABASE ***; InsertSuccessful := RecRef.INSERT(TRUE); |
Function OnModifyRec()
Change the following code from:
1 2 3 4 |
[…] // *** MODIFY NAV RECORD *** ModifySuccessful := RecRef.MODIFY(NAVAction = NAVAction::CallTrigger); […] |
To new code:
1 2 |
// *** MODIFY NAV RECORD *** ModifySuccessful := RecRef.MODIFY(TRUE); |
Solution 2 – Walk through your existing app and correct all INSERT and MODIFY commands to INSERT(TRUE/FALSE) / MODIFY(TRUE/FALSE).
If you run a fresh installation with Anveo Client Suite 8 including the base application xml import, you will have already all INSERT and MODIFY statements in correct format.