Skip to content

Commit 478f508

Browse files
committed
resolves review comments
1 parent 3337fca commit 478f508

File tree

3 files changed

+39
-2
lines changed

3 files changed

+39
-2
lines changed

src/Business Foundation/App/NoSeries/src/Upgrade/NoSeriesInstaller.Codeunit.al

+16-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ codeunit 329 "No. Series Installer"
1515

1616
trigger OnInstallAppPerCompany()
1717
begin
18-
TriggerMovedTableSchemaCheck();
18+
TriggerMovedTableSchemaSanityCheck();
1919
SetupNoSeriesImplementation();
2020
end;
2121

@@ -36,7 +36,14 @@ codeunit 329 "No. Series Installer"
3636
UpgradeTag.SetUpgradeTag(NoSeriesUpgradeTags.GetImplementationUpgradeTag());
3737
end;
3838

39-
local procedure TriggerMovedTableSchemaCheck()
39+
/// <summary>
40+
/// This method is used to ensure that the runtime metadata matches the schema for moved tables.
41+
/// </summary>
42+
/// <remarks>
43+
/// The if .. then statements ensure the code does not fail when the tables are empty. The presence of data is not important, the FindFirst will trigger a schema check.
44+
/// Should this code fail it would indicate a bug in the server code. The code is not expected to fail.
45+
/// </remarks>
46+
internal procedure TriggerMovedTableSchemaSanityCheck()
4047
var
4148
NoSeries: Record "No. Series";
4249
NoSeriesLine: Record "No. Series Line";
@@ -46,7 +53,12 @@ codeunit 329 "No. Series Installer"
4653
NoSeriesLineSales: Record "No. Series Line Sales";
4754
NoSeriesLinePurchase: Record "No. Series Line Purchase";
4855
#endif
56+
UpgradeTag: Codeunit "Upgrade Tag";
57+
NoSeriesUpgradeTags: Codeunit "No. Series Upgrade Tags";
4958
begin
59+
if UpgradeTag.HasUpgradeTag(NoSeriesUpgradeTags.GetMovedTableSchemaSanityCheckUpgradeTag()) then
60+
exit;
61+
5062
#pragma warning disable AA0175
5163
if NoSeries.FindFirst() then;
5264
if NoSeriesLine.FindFirst() then;
@@ -57,5 +69,7 @@ codeunit 329 "No. Series Installer"
5769
if NoSeriesLinePurchase.FindFirst() then;
5870
#endif
5971
#pragma warning restore AA0175
72+
73+
UpgradeTag.SetUpgradeTag(NoSeriesUpgradeTags.GetMovedTableSchemaSanityCheckUpgradeTag());
6074
end;
6175
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
// ------------------------------------------------------------------------------------------------
2+
// Copyright (c) Microsoft Corporation. All rights reserved.
3+
// Licensed under the MIT License. See License.txt in the project root for license information.
4+
// ------------------------------------------------------------------------------------------------
5+
6+
namespace Microsoft.Foundation.NoSeries;
7+
codeunit 328 "No. Series Upgrade"
8+
{
9+
Access = Internal;
10+
Subtype = Upgrade;
11+
12+
trigger OnUpgradePerCompany()
13+
var
14+
NoSeriesInstaller: Codeunit "No. Series Installer";
15+
begin
16+
NoSeriesInstaller.TriggerMovedTableSchemaSanityCheck();
17+
end;
18+
}

src/Business Foundation/App/NoSeries/src/Upgrade/NoSeriesUpgradeTags.Codeunit.al

+5
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,9 @@ codeunit 332 "No. Series Upgrade Tags"
1515
begin
1616
exit('MS-471519-AddImplementationExtensibility-20231206 ');
1717
end;
18+
19+
procedure GetMovedTableSchemaSanityCheckUpgradeTag(): Code[250]
20+
begin
21+
exit('MS-523755-AddMovedTableSchemaSanityCheck-20240402');
22+
end;
1823
}

0 commit comments

Comments
 (0)