bcquality/microsoft/knowledge/performance/load-common-fields-before-branching-on-case.good.al
Jesper Schulz-Wedde 292bdabe27
Promote performance knowledge from community to Microsoft layer (#50)
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>
2026-07-01 10:41:01 +02:00

25 lines
1.1 KiB
AL

codeunit 50100 "Sales Document Processor"
{
procedure ProcessDocument(var SalesHeader: Record "Sales Header")
begin
// Tier 1: the discriminator and any fields every branch reads.
SalesHeader.SetLoadFields("Document Type", "No.", "Sell-to Customer No.");
case SalesHeader."Document Type" of
SalesHeader."Document Type"::Order:
begin
// Tier 2: extend the load only on the branch that needs these fields.
SalesHeader.SetLoadFields("Order Date", "Shipment Date", "Completely Shipped");
ProcessOrder(SalesHeader);
end;
SalesHeader."Document Type"::Invoice:
begin
SalesHeader.SetLoadFields("Posting Date", "Amount Including VAT");
ProcessInvoice(SalesHeader);
end;
end;
end;
local procedure ProcessOrder(var SalesHeader: Record "Sales Header") begin end;
local procedure ProcessInvoice(var SalesHeader: Record "Sales Header") begin end;
}