I have two databases in my environment (well I have more - but I this case I’m only dealing with these two). My development database and my user acceptance test database. They are on two different SQL servers, but running the same license.
In the one database the Change Log works, on the other it does work. And of cause the change log is turned on! And the objects are the same!
When running modify on a record (with the debugger turned on), then I can see that in the one database codeunit 1 (Applicationmanagement) OnGlobalModify is not being runned. But it is in the other database.
I’m using NAV 4.0 SP3 with SQL 2005 on both databases.
Have you seen this before?
Those functions in codeunit 1 have the same ID?. If I’m not in mistake it should be 22.
Yes the objects are the same.
Is it the same build of exe-file you use on both databases?
The only difference as I can see it is that the clients Citrix server are installed with different basic charsets. One is installed with Latin1 and the other one with Thai. Otherwise no difference.
There are certain things that can be done in code that will cause the OnGlobalModify trigger to not run. A good example of this can be found in the Sales Header table. The OnValidate code for the Shipment Date field calls the UpdateSalesLines function. Code in this function does a MODIFY of the Rec variable for the table. This MODIFY has the effect of hiding changes to the Sales Header record and the OnGlobalModify trigger is not run. If your two databases have identical objects then perhaps there are differences in the data that causing something like this to happen in one database but not the other.