mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-10-06 15:16:56 +01:00
Addresses ADO bug 651092. Upgrade and feature data update code must run in the context of the company being upgraded; ChangeCompany leaves triggers, events and upgrade tags in the calling company and races the target company's own upgrade. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
24 lines
955 B
AL
24 lines
955 B
AL
codeunit 50261 "Upgrade All Companies"
|
|
{
|
|
Subtype = Upgrade;
|
|
|
|
trigger OnUpgradePerDatabase()
|
|
var
|
|
Company: Record Company;
|
|
SalesOrderExt: Record "Sales Order Ext";
|
|
begin
|
|
// Reaches into every company from one session. Each company also has its own
|
|
// upgrade session, triggers and subscribers run in the calling context, and a
|
|
// data error in any company aborts the whole upgrade.
|
|
if Company.FindSet() then
|
|
repeat
|
|
SalesOrderExt.ChangeCompany(Company.Name);
|
|
SalesOrderExt.SetRange("Shipping Agent Code", '');
|
|
if SalesOrderExt.FindSet(true) then
|
|
repeat
|
|
SalesOrderExt.Validate("Shipping Agent Code", SalesOrderExt."Legacy Carrier Code");
|
|
SalesOrderExt.Modify(true);
|
|
until SalesOrderExt.Next() = 0;
|
|
until Company.Next() = 0;
|
|
end;
|
|
}
|