[gelöst] BC14 Codeunit49 OnGlobalModify,OnGlobalInsert ...

17. Februar 2021 13:09

Hallo!

Ich habe nun schon viel Zeit mit der Suche und auch bei Google verbracht.

In Codeunit 49 gibt es die Trigger (Subscriber von Codeunit 2000000002 "Global Triggers")

  • OnGlobalInsert
  • OnGlobalModify
  • OnGlobalDelete
  • OnGlobalRename

Ich möchte wissen, wann diese Trigger aufgerufen werden. Ich habe zu Testzwecken Messages in den Funktionen untergebracht. Leider bisher erfolglos.
Nur die Trigger für OnDatabaseInsert etc. werden aufgerufen.

Ziel soll es sein, dass Änderungsprotokoll wieder auf die "alte" Funktionalität (es werden nur Usereingaben protkolliert) zu bringen. (siehe auch Änderungsprotokoll macht (mir) zu viel)

Vielen Dank für die Hilfe
Zuletzt geändert von NAVguru am 17. Februar 2021 15:25, insgesamt 1-mal geändert.

Re: BC14 Codeunit49 OnGlobalModify,OnGlobalInsert ...

17. Februar 2021 15:06

du musst die GlobalenTrigger für die entspr. Tabellen aktivieren
BeispielCode mal hier:

Code:
Cust.GET('10000');
Cust."Name 2" := 'PETER';
Cust.MODIFY(TRUE);

LOCAL [EventSubscriber] InsertTrigger(RecRef : RecordRef)
//SubScriber auf CU 49
//OnAfterOnGlobalInsert
MESSAGE('Insert');

LOCAL [EventSubscriber] ModifyTrigger(RecRef : RecordRef;xRecRef : RecordRef)
//SubScriber auf CU 49
//OnAfterOnGlobalModify
MESSAGE('Modify');

LOCAL [EventSubscriber] EnableTrigger(TableID : Integer;VAR TableTriggerMask : Integer)
//SubScriber auf CU 49
//OnAfterGetGlobalTableTriggerMask
//enable Trigger for UserModification on Table 18
IF TableID = 18 THEN
  TableTriggerMask := 15;


https://dynamicsuser.net/nav/f/developers/11331/codeunit-1
https://dynamicsuser.net/nav/f/developers/9993/getglobaltabletriggermask

Edit: Der OnRun meiner CU ist nur zum Testen gewesen, ob CodeÄnderungen triggern - machen Sie nicht :P (oder ich mach was falsch^^)
PS: nach Implementierung der Subscriber ggf. den CLient einmal neustarten
Zuletzt geändert von sweikelt am 17. Februar 2021 15:51, insgesamt 1-mal geändert.

Re: [gelöst] BC14 Codeunit49 OnGlobalModify,OnGlobalInsert .

17. Februar 2021 15:29

Super!!! Vielen Dank für die schnelle Antwort!