From 40a93bdc25f77e56a5795e96cef4a61f2a96852b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 1 Jun 2026 11:38:05 +0000 Subject: [PATCH 1/2] Initial plan From fcfacacb99702e74ea868dea6500073142193fd7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 1 Jun 2026 11:43:45 +0000 Subject: [PATCH 2/2] Remove internal modifiers and make enums extensible for partner extension support --- .../Base/Codeunits/PersonalizationDataMgmt.Codeunit.al | 5 ++--- .../App/Billing/Enums/ContractInvoiceTextType.Enum.al | 2 +- .../App/Billing/Enums/CustomerRecBillingGrouping.Enum.al | 2 +- .../App/Billing/Enums/RecBillingDocumentType.Enum.al | 2 +- .../App/Billing/Enums/VendorRecBillingGrouping.Enum.al | 2 +- .../App/Customer Contracts/Pages/ExtendContract.Page.al | 4 ++-- .../Codeunits/SalesSubscriptionLineMgmt.Codeunit.al | 2 +- .../Table Extensions/SalesLine.TableExt.al | 2 +- .../Pages/ServiceCommPackageLines.Page.al | 6 +++--- .../Tables/ItemSubscriptionPackage.Table.al | 8 ++++---- .../Tables/SubscriptionPackage.Table.al | 4 ++-- .../Service Objects/Tables/SubscriptionHeader.Table.al | 4 ++-- .../Codeunits/UsageBasedContrSubscribers.Codeunit.al | 3 +-- .../Enums/UsageBasedBillingDocType.Enum.al | 2 +- .../Usage Based Billing/Tables/UsageDataImport.Table.al | 2 +- .../Tables/UsageDataSupplierReference.Table.al | 2 +- 16 files changed, 25 insertions(+), 27 deletions(-) diff --git a/src/Apps/W1/Subscription Billing/App/Base/Codeunits/PersonalizationDataMgmt.Codeunit.al b/src/Apps/W1/Subscription Billing/App/Base/Codeunits/PersonalizationDataMgmt.Codeunit.al index cf06850ab1e..019d9570d4c 100644 --- a/src/Apps/W1/Subscription Billing/App/Base/Codeunits/PersonalizationDataMgmt.Codeunit.al +++ b/src/Apps/W1/Subscription Billing/App/Base/Codeunits/PersonalizationDataMgmt.Codeunit.al @@ -4,9 +4,8 @@ using System.Environment.Configuration; codeunit 8020 "Personalization Data Mgmt." { - Access = Internal; - internal procedure SetDataPagePersonalization(ObjectType: Option ,,,Report,,,XMLport,,Page; ObjectID: Text; ValueName: Code[40]; Value: Text) + procedure SetDataPagePersonalization(ObjectType: Option ,,,Report,,,XMLport,,Page; ObjectID: Text; ValueName: Code[40]; Value: Text) var PageDataPersonalization: Record "Page Data Personalization"; BigText: BigText; @@ -27,7 +26,7 @@ codeunit 8020 "Personalization Data Mgmt." PageDataPersonalization.Modify(false); end; - internal procedure GetDataPagePersonalization(ObjectType: Option ,,,Report,,,XMLport,,Page; ObjectID: Text; ValueName: Code[40]; var Value: Text): Boolean + procedure GetDataPagePersonalization(ObjectType: Option ,,,Report,,,XMLport,,Page; ObjectID: Text; ValueName: Code[40]; var Value: Text): Boolean var PageDataPersonalization: Record "Page Data Personalization"; BigText: BigText; diff --git a/src/Apps/W1/Subscription Billing/App/Billing/Enums/ContractInvoiceTextType.Enum.al b/src/Apps/W1/Subscription Billing/App/Billing/Enums/ContractInvoiceTextType.Enum.al index c6f498ecb2b..7eefc7ec392 100644 --- a/src/Apps/W1/Subscription Billing/App/Billing/Enums/ContractInvoiceTextType.Enum.al +++ b/src/Apps/W1/Subscription Billing/App/Billing/Enums/ContractInvoiceTextType.Enum.al @@ -2,7 +2,7 @@ namespace Microsoft.SubscriptionBilling; enum 8001 "Contract Invoice Text Type" { - Extensible = false; + Extensible = true; value(0; " ") { diff --git a/src/Apps/W1/Subscription Billing/App/Billing/Enums/CustomerRecBillingGrouping.Enum.al b/src/Apps/W1/Subscription Billing/App/Billing/Enums/CustomerRecBillingGrouping.Enum.al index 15978aa2c92..cf65d22715d 100644 --- a/src/Apps/W1/Subscription Billing/App/Billing/Enums/CustomerRecBillingGrouping.Enum.al +++ b/src/Apps/W1/Subscription Billing/App/Billing/Enums/CustomerRecBillingGrouping.Enum.al @@ -2,7 +2,7 @@ namespace Microsoft.SubscriptionBilling; enum 8057 "Customer Rec. Billing Grouping" { - Extensible = false; + Extensible = true; value(0; "Contract") { diff --git a/src/Apps/W1/Subscription Billing/App/Billing/Enums/RecBillingDocumentType.Enum.al b/src/Apps/W1/Subscription Billing/App/Billing/Enums/RecBillingDocumentType.Enum.al index e545012c918..167191cfe9e 100644 --- a/src/Apps/W1/Subscription Billing/App/Billing/Enums/RecBillingDocumentType.Enum.al +++ b/src/Apps/W1/Subscription Billing/App/Billing/Enums/RecBillingDocumentType.Enum.al @@ -2,7 +2,7 @@ namespace Microsoft.SubscriptionBilling; enum 8054 "Rec. Billing Document Type" { - Extensible = false; + Extensible = true; value(0; None) { Caption = ' ', Locked = true; diff --git a/src/Apps/W1/Subscription Billing/App/Billing/Enums/VendorRecBillingGrouping.Enum.al b/src/Apps/W1/Subscription Billing/App/Billing/Enums/VendorRecBillingGrouping.Enum.al index 8f2f0911872..6125c1c6527 100644 --- a/src/Apps/W1/Subscription Billing/App/Billing/Enums/VendorRecBillingGrouping.Enum.al +++ b/src/Apps/W1/Subscription Billing/App/Billing/Enums/VendorRecBillingGrouping.Enum.al @@ -2,7 +2,7 @@ namespace Microsoft.SubscriptionBilling; enum 8058 "Vendor Rec. Billing Grouping" { - Extensible = false; + Extensible = true; value(0; "Contract") { diff --git a/src/Apps/W1/Subscription Billing/App/Customer Contracts/Pages/ExtendContract.Page.al b/src/Apps/W1/Subscription Billing/App/Customer Contracts/Pages/ExtendContract.Page.al index 2426e1675bf..adc40f177d1 100644 --- a/src/Apps/W1/Subscription Billing/App/Customer Contracts/Pages/ExtendContract.Page.al +++ b/src/Apps/W1/Subscription Billing/App/Customer Contracts/Pages/ExtendContract.Page.al @@ -630,7 +630,7 @@ page 8002 "Extend Contract" TempServiceCommitmentPackage.SetRange(Selected); end; - internal procedure SetParameters(NewCustomerNo: Code[20]; NewCustomerContractNo: Code[20]; NewProvisionStartDate: Date; NewExtendCustomerContract: Boolean) + procedure SetParameters(NewCustomerNo: Code[20]; NewCustomerContractNo: Code[20]; NewProvisionStartDate: Date; NewExtendCustomerContract: Boolean) begin SellToCustomerNoParam := NewCustomerNo; CustomerContractNoParam := NewCustomerContractNo; @@ -661,7 +661,7 @@ page 8002 "Extend Contract" end; end; - internal procedure SetUsageBasedParameters(SupplierNo: Code[20]; NewSubscriptionEntryNo: Integer) + procedure SetUsageBasedParameters(SupplierNo: Code[20]; NewSubscriptionEntryNo: Integer) begin UsageDataSupplierNoParam := SupplierNo; SubscriptionEntryNoParam := NewSubscriptionEntryNo; diff --git a/src/Apps/W1/Subscription Billing/App/Sales Service Commitments/Codeunits/SalesSubscriptionLineMgmt.Codeunit.al b/src/Apps/W1/Subscription Billing/App/Sales Service Commitments/Codeunits/SalesSubscriptionLineMgmt.Codeunit.al index d1bb6d67b9b..205ce0dda1e 100644 --- a/src/Apps/W1/Subscription Billing/App/Sales Service Commitments/Codeunits/SalesSubscriptionLineMgmt.Codeunit.al +++ b/src/Apps/W1/Subscription Billing/App/Sales Service Commitments/Codeunits/SalesSubscriptionLineMgmt.Codeunit.al @@ -22,7 +22,7 @@ codeunit 8069 "Sales Subscription Line Mgmt." AddSalesServiceCommitmentsForSalesLine(Rec, false); end; - internal procedure AddSalesServiceCommitmentsForSalesLine(var SalesLine: Record "Sales Line"; SkipAddAdditionalSalesServComm: Boolean) + procedure AddSalesServiceCommitmentsForSalesLine(var SalesLine: Record "Sales Line"; SkipAddAdditionalSalesServComm: Boolean) var ItemServCommitmentPackage: Record "Item Subscription Package"; SalesHeader: Record "Sales Header"; diff --git a/src/Apps/W1/Subscription Billing/App/Sales Service Commitments/Table Extensions/SalesLine.TableExt.al b/src/Apps/W1/Subscription Billing/App/Sales Service Commitments/Table Extensions/SalesLine.TableExt.al index c1047609e4d..a0af115ae86 100644 --- a/src/Apps/W1/Subscription Billing/App/Sales Service Commitments/Table Extensions/SalesLine.TableExt.al +++ b/src/Apps/W1/Subscription Billing/App/Sales Service Commitments/Table Extensions/SalesLine.TableExt.al @@ -377,7 +377,7 @@ tableextension 8054 "Sales Line" extends "Sales Line" exit(Rec.IsContractRenewal()); end; - internal procedure IsContractRenewal(): Boolean + procedure IsContractRenewal(): Boolean var SalesServiceCommitment: Record "Sales Subscription Line"; begin diff --git a/src/Apps/W1/Subscription Billing/App/Service Commitments/Pages/ServiceCommPackageLines.Page.al b/src/Apps/W1/Subscription Billing/App/Service Commitments/Pages/ServiceCommPackageLines.Page.al index 81dc00ed5f6..7afe88428a6 100644 --- a/src/Apps/W1/Subscription Billing/App/Service Commitments/Pages/ServiceCommPackageLines.Page.al +++ b/src/Apps/W1/Subscription Billing/App/Service Commitments/Pages/ServiceCommPackageLines.Page.al @@ -188,17 +188,17 @@ page 8058 "Service Comm. Package Lines" Bold: Boolean; - internal procedure SetItemNo(NewItemNo: Code[20]) + procedure SetItemNo(NewItemNo: Code[20]) begin ItemNo := NewItemNo; end; - internal procedure SetShowAllPackageLines(NewShowAllPackageLines: Boolean) + procedure SetShowAllPackageLines(NewShowAllPackageLines: Boolean) begin ShowAllPackageLines := NewShowAllPackageLines; end; - internal procedure SetPackageCode(NewPackageCode: Code[20]) + procedure SetPackageCode(NewPackageCode: Code[20]) begin PackageCode := NewPackageCode; SetDefaultFilters(); diff --git a/src/Apps/W1/Subscription Billing/App/Service Commitments/Tables/ItemSubscriptionPackage.Table.al b/src/Apps/W1/Subscription Billing/App/Service Commitments/Tables/ItemSubscriptionPackage.Table.al index 75e6ccc236b..66a5517076e 100644 --- a/src/Apps/W1/Subscription Billing/App/Service Commitments/Tables/ItemSubscriptionPackage.Table.al +++ b/src/Apps/W1/Subscription Billing/App/Service Commitments/Tables/ItemSubscriptionPackage.Table.al @@ -88,12 +88,12 @@ table 8058 "Item Subscription Package" PackageFilter := GetPackageFilterForItem(ItemNo, ''); end; - internal procedure GetPackageFilterForItem(ItemNo: Code[20]; ServiceObjectNo: Code[20]) PackageFilter: Text + procedure GetPackageFilterForItem(ItemNo: Code[20]; ServiceObjectNo: Code[20]) PackageFilter: Text begin PackageFilter := GetPackageFilterForItem(ItemNo, ServiceObjectNo, false); end; - internal procedure GetPackageFilterForItem(ItemNo: Code[20]; ServiceObjectNo: Code[20]; OnlyNonStandardPackage: Boolean) PackageFilter: Text + procedure GetPackageFilterForItem(ItemNo: Code[20]; ServiceObjectNo: Code[20]; OnlyNonStandardPackage: Boolean) PackageFilter: Text var ItemServCommitmentPackage: Record "Item Subscription Package"; TextManagement: Codeunit "Text Management"; @@ -122,7 +122,7 @@ table 8058 "Item Subscription Package" exit(not ServiceCommitment.IsEmpty()); end; - internal procedure GetPackageFilterForItem(SalesLine: Record "Sales Line"; RemoveExistingPackageFromFilter: Boolean) PackageFilter: Text + procedure GetPackageFilterForItem(SalesLine: Record "Sales Line"; RemoveExistingPackageFromFilter: Boolean) PackageFilter: Text var ItemServCommitmentPackage: Record "Item Subscription Package"; TextManagement: Codeunit "Text Management"; @@ -150,7 +150,7 @@ table 8058 "Item Subscription Package" exit(not SalesServiceCommitment.IsEmpty()); end; - internal procedure GetAllStandardPackageFilterForItem(ItemNo: Code[20]; CustomerPriceGroup: Code[10]) PackageFilter: Text + procedure GetAllStandardPackageFilterForItem(ItemNo: Code[20]; CustomerPriceGroup: Code[10]) PackageFilter: Text var ItemServCommitmentPackage: Record "Item Subscription Package"; TextManagement: Codeunit "Text Management"; diff --git a/src/Apps/W1/Subscription Billing/App/Service Commitments/Tables/SubscriptionPackage.Table.al b/src/Apps/W1/Subscription Billing/App/Service Commitments/Tables/SubscriptionPackage.Table.al index c3e7c533ecb..a311c47a0c6 100644 --- a/src/Apps/W1/Subscription Billing/App/Service Commitments/Tables/SubscriptionPackage.Table.al +++ b/src/Apps/W1/Subscription Billing/App/Service Commitments/Tables/SubscriptionPackage.Table.al @@ -135,7 +135,7 @@ table 8055 "Subscription Package" exit(Input in ['0' .. '9']); end; - internal procedure FilterCodeOnPackageFilter(PackageFilter: Text) + procedure FilterCodeOnPackageFilter(PackageFilter: Text) begin if PackageFilter = '' then Rec.SetRange(Code, '') @@ -153,7 +153,7 @@ table 8055 "Subscription Package" exit(not SubscriptionPackageLine.IsEmpty()); end; - internal procedure ServCommPackageLineExists(): Boolean + procedure ServCommPackageLineExists(): Boolean var SubscriptionPackageLine: Record "Subscription Package Line"; begin diff --git a/src/Apps/W1/Subscription Billing/App/Service Objects/Tables/SubscriptionHeader.Table.al b/src/Apps/W1/Subscription Billing/App/Service Objects/Tables/SubscriptionHeader.Table.al index 4a443eca11a..5be82a997ff 100644 --- a/src/Apps/W1/Subscription Billing/App/Service Objects/Tables/SubscriptionHeader.Table.al +++ b/src/Apps/W1/Subscription Billing/App/Service Objects/Tables/SubscriptionHeader.Table.al @@ -2247,14 +2247,14 @@ table 8057 "Subscription Header" OnAfterInsertFromItemNoAndCustomerContract(ServiceObject, CustomerContract); end; - internal procedure SetUnitPriceAndUnitCostFromExtendContract(NewUnitPrice: Decimal; NewUnitCost: Decimal) + procedure SetUnitPriceAndUnitCostFromExtendContract(NewUnitPrice: Decimal; NewUnitCost: Decimal) begin CalledFromExtendContract := true; UnitPrice := NewUnitPrice; UnitCost := NewUnitCost; end; - internal procedure ResetCalledFromExtendContract() + procedure ResetCalledFromExtendContract() begin CalledFromExtendContract := false; UnitPrice := 0; diff --git a/src/Apps/W1/Subscription Billing/App/Usage Based Billing/Codeunits/UsageBasedContrSubscribers.Codeunit.al b/src/Apps/W1/Subscription Billing/App/Usage Based Billing/Codeunits/UsageBasedContrSubscribers.Codeunit.al index 96c800ef1a1..e4dde09e0af 100644 --- a/src/Apps/W1/Subscription Billing/App/Usage Based Billing/Codeunits/UsageBasedContrSubscribers.Codeunit.al +++ b/src/Apps/W1/Subscription Billing/App/Usage Based Billing/Codeunits/UsageBasedContrSubscribers.Codeunit.al @@ -10,7 +10,6 @@ using Microsoft.Sales.Posting; codeunit 8028 "Usage Based Contr. Subscribers" { - Access = Internal; var UsageBasedDocTypeConv: Codeunit "Usage Based Doc. Type Conv."; @@ -81,7 +80,7 @@ codeunit 8028 "Usage Based Contr. Subscribers" exit(not UsageDataBilling.IsEmpty()); end; - internal procedure CreateContractInvoicesFromUsageDataImport(ServicePartner: Enum "Service Partner"; ContractNoFilter: Text; ContractLineFilter: Text; BillingRhytmFilter: Text) + procedure CreateContractInvoicesFromUsageDataImport(ServicePartner: Enum "Service Partner"; ContractNoFilter: Text; ContractLineFilter: Text; BillingRhytmFilter: Text) begin case ServicePartner of ServicePartner::Customer: diff --git a/src/Apps/W1/Subscription Billing/App/Usage Based Billing/Enums/UsageBasedBillingDocType.Enum.al b/src/Apps/W1/Subscription Billing/App/Usage Based Billing/Enums/UsageBasedBillingDocType.Enum.al index 38676511b41..4e317a7c75c 100644 --- a/src/Apps/W1/Subscription Billing/App/Usage Based Billing/Enums/UsageBasedBillingDocType.Enum.al +++ b/src/Apps/W1/Subscription Billing/App/Usage Based Billing/Enums/UsageBasedBillingDocType.Enum.al @@ -2,7 +2,7 @@ namespace Microsoft.SubscriptionBilling; enum 8008 "Usage Based Billing Doc. Type" { - Extensible = false; + Extensible = true; value(0; None) { Caption = ' ', Locked = true; diff --git a/src/Apps/W1/Subscription Billing/App/Usage Based Billing/Tables/UsageDataImport.Table.al b/src/Apps/W1/Subscription Billing/App/Usage Based Billing/Tables/UsageDataImport.Table.al index 4e2d523fd01..28ef3805813 100644 --- a/src/Apps/W1/Subscription Billing/App/Usage Based Billing/Tables/UsageDataImport.Table.al +++ b/src/Apps/W1/Subscription Billing/App/Usage Based Billing/Tables/UsageDataImport.Table.al @@ -295,7 +295,7 @@ table 8013 "Usage Data Import" CreateCustomerInvoices(CustomerContractFilter, CustomerContractLineFilter); end; - internal procedure CollectVendorContractsAndCreateInvoices(var UsageDataImport: Record "Usage Data Import") + procedure CollectVendorContractsAndCreateInvoices(var UsageDataImport: Record "Usage Data Import") var VendorContractFilter: Text; VendorContractLineFilter: Text; diff --git a/src/Apps/W1/Subscription Billing/App/Usage Based Billing/Tables/UsageDataSupplierReference.Table.al b/src/Apps/W1/Subscription Billing/App/Usage Based Billing/Tables/UsageDataSupplierReference.Table.al index f1ffe3be364..d8813d4b8cc 100644 --- a/src/Apps/W1/Subscription Billing/App/Usage Based Billing/Tables/UsageDataSupplierReference.Table.al +++ b/src/Apps/W1/Subscription Billing/App/Usage Based Billing/Tables/UsageDataSupplierReference.Table.al @@ -73,7 +73,7 @@ table 8015 "Usage Data Supplier Reference" Rec.Reset(); end; - internal procedure FindSupplierReference(SupplierNo: Code[20]; SupplierReference: Text[80]; ReferenceType: Enum "Usage Data Reference Type"): Boolean + procedure FindSupplierReference(SupplierNo: Code[20]; SupplierReference: Text[80]; ReferenceType: Enum "Usage Data Reference Type"): Boolean begin Rec.FilterUsageDataSupplierReference(SupplierNo, SupplierReference, ReferenceType); exit(Rec.FindFirst());