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:
[…]
// *** INSERT RECORD TO NAV DATABASE ***
InsertSuccessful := RecRef.INSERT(NAVAction = NAVAction::CallTrigger);
[…]
To new code:
// *** INSERT RECORD TO NAV DATABASE ***;
InsertSuccessful := RecRef.INSERT(TRUE);
Function OnModifyRec()
Change the following code from:
[…]
// *** MODIFY NAV RECORD ***
ModifySuccessful := RecRef.MODIFY(NAVAction = NAVAction::CallTrigger);
[…]
To new code:
// *** 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.