mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-08-06 09:26:52 +01:00
Pure git-mv relocation of all 7 performance articles from community/knowledge/performance/ to microsoft/knowledge/performance/. No content changes. Co-authored-by: Jesper Schulz-Wedde <jesper.schulzwedde@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
28 lines
792 B
AL
28 lines
792 B
AL
codeunit 50100 "Event Audit Buffer"
|
|
{
|
|
SingleInstance = true;
|
|
|
|
var
|
|
RecentEventIds: List of [Guid];
|
|
MaxBuffered: Integer;
|
|
|
|
trigger OnRun()
|
|
begin
|
|
MaxBuffered := 50;
|
|
end;
|
|
|
|
[EventSubscriber(ObjectType::Table, Database::"Sales Header", OnAfterInsertEvent, '', false, false)]
|
|
local procedure OnAfterInsertSalesHeader(var Rec: Record "Sales Header")
|
|
begin
|
|
// Bounded cache: drop the oldest entry when the cap is reached.
|
|
RecentEventIds.Add(Rec.SystemId);
|
|
if RecentEventIds.Count() > MaxBuffered then
|
|
RecentEventIds.RemoveAt(1);
|
|
end;
|
|
|
|
procedure ResetAtBusinessProcessBoundary()
|
|
begin
|
|
// Explicit reset point at a natural boundary in the workflow.
|
|
Clear(RecentEventIds);
|
|
end;
|
|
}
|