Guys, I’m trying to write some code to extend the change log functionality. The code enables the users to declare fields as ‘Secured’ and can only be modified by certain permission groups. I’m getting stuck because the OnGlobalModify isn’t getting called when I’m expecting it to. I believe this is because the LogModify field in the change log setup no value. The codeunit 1 function GetGlobalTableTriggerMask which calls the Change Log Management function GetTableTriggerMask seems to be causing the problem. Can anyone explain to me what the return integers are used for? I assume that they calculate which OnGlobal function to run. Regards, Alex
the returning number is a 4 bit binary coded value. for example: if the cu decides to protol INSERT and DELETE, it will return 0101 = 5. bit 0 1 Insert Bit 1 2 Modify Bit 2 4 Delete Bit 3 8 Rename This Value is cached and not retreived again after the table was accessed.
Thanks, As it turns out I can use the same value as the Modify since the call to my function is inside the OnGlobalModify function. I’ve got the whole thing working apart from one problem. When the OnGlobalModify calls my function an error is called if a user doesn’t have the correct permission groups for the field which was changed. This is fine, but the error doesn’t show immediately, there is some sort of weird delay. I’ll try a few more things, but its a nasty problem.