mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-10-05 06:36:55 +01:00
* Add BC performance knowledge from OptimAL learnings Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Address review feedback on performance guidance Clarify predicate-supporting keys versus covering queries, demonstrate proven cache reuse, and evaluate the updated partial-load and bulk-update rules. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Jesper Schulz-Wedde <jesper.schulzwedde@microsoft.com> Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
39 lines
1.1 KiB
AL
39 lines
1.1 KiB
AL
// Caller supplies an unfiltered temporary buffer that does not change during this call.
|
|
table 50373 "Perf Cell"
|
|
{
|
|
DataClassification = CustomerContent;
|
|
|
|
fields
|
|
{
|
|
field(1; "Cell No."; Integer) { }
|
|
field(2; "Item No."; Code[20]) { }
|
|
field(3; Quantity; Decimal) { }
|
|
}
|
|
|
|
keys
|
|
{
|
|
key(PK; "Cell No.") { Clustered = true; }
|
|
}
|
|
}
|
|
|
|
codeunit 50374 "Perf Temp Totals Good"
|
|
{
|
|
procedure SumDisplayedItemTotals(var TempCells: Record "Perf Cell" temporary) DisplayedTotal: Decimal
|
|
var
|
|
TotalsByItem: Dictionary of [Code[20], Decimal];
|
|
ItemTotal: Decimal;
|
|
begin
|
|
if TempCells.FindSet() then
|
|
repeat
|
|
if TotalsByItem.Get(TempCells."Item No.", ItemTotal) then
|
|
TotalsByItem.Set(TempCells."Item No.", ItemTotal + TempCells.Quantity)
|
|
else
|
|
TotalsByItem.Add(TempCells."Item No.", TempCells.Quantity);
|
|
until TempCells.Next() = 0;
|
|
|
|
if TempCells.FindSet() then
|
|
repeat
|
|
DisplayedTotal += TotalsByItem.Get(TempCells."Item No.");
|
|
until TempCells.Next() = 0;
|
|
end;
|
|
}
|