OnAfterInsertEvent (Table) Trigger Event via EventSubscriber:
What is an Event?
To handle events, you design event subscribers. Event subscribers determine what actions to take in response to an event that has been raised. An event subscriber is a method that listens for a specific event that is raised by an event publisher.
There can be multiple subscribers to the same event from various locations in the application code. When an event is raised, the subscriber methods are run one at a time in no particular order. You can’t specify the order in which the subscriber methods are called.
OnAfterInsertEvent (Table) Trigger Event:
It’s executed after a record is inserted in a table.
Syntax:
[EventSubscriber(ObjectType::Table, Database::<Table Name>, ‘OnAfterInsertEvent’, ”, <SkipOnMissingLicense>, <SkipOnMissingPermission>)] local procedure MyProcedure(Rec: Record, RunTrigger: Boolean) begin …1 end; |
Example:
Create dimension at the time of Sales Order “No.” generation. As shown in the figure.

Source Code:
codeunit 50001 “Custom Functions-01” { trigger OnRun() begin end; [EventSubscriber(ObjectType::Table, Database::”Sales Header”, ‘OnAfterInsertE vent’, ”, true, true)] procedure OnAfterInsertValueInSO(Rec: Record “Sales Header”; Runtrigger: Bool ean) var DimensionValue: Record “Dimension Value”; GeneralLedgerSetup: Record “General Ledger Setup”; InsertDimensionValue: Record “Dimension Value”; begin GeneralLedgerSetup.get; GeneralLedgerSetup.testfield(“Global Dimension 1 Code”); DimensionValue.reset; DimensionValue.setrange(“Dimension Code”, GeneralLedgerSetup.”Global Dime nsion 1 Code”); DimensionValue.setrange(Code, Rec.”No.”); if not DimensionValue.FindFirst() then begin InsertDimensionValue.init; InsertDimensionValue.validate(“Dimension Code”, GeneralLedgerSetup.”G lobal Dimension 1 Code”); InsertDimensionValue.validate(“Code”, Rec.”No.”); InsertDimensionValue.validate(“Global Dimension No.”, 1); InsertDimensionValue.Validate(Name, Rec.”No.”); InsertDimensionValue.insert; end; end; } |