#11160 Ruleset hardening: promote three mechanical rules to Error
The BCApps base ruleset now treats AL0606, AA0161 and AA0448 as errors instead of warnings. Code across apps and layers was updated to remove deprecated with statements, narrowly scope intentional AssertError uses, and show localized captions instead of technical field and table names in messages.
- 48files
- 23AL files
- 21objects
Pull request · merged into main (BC30) on 2026-09-09 by JesperSchulz · 48 files (+506 -277), 23 AL · refactor · tier official · reviewed (checked by Opus)
What changed
- AL0606: 17 deprecated with statements removed and record members qualified explicitly
- AA0161: 29 intentional AssertError uses in test libraries kept under narrow, documented pragma scopes
- AA0448: 50 FieldName/TableName expressions in displayed messages replaced with captions
- Ruleset entries drop from 72 to 69; AL0424 stays a warning
- New violations in the repository now fail compilation
- Behaviour changes for users or extensions.
AL objects touched
- Codeunit 27020 “DIOT - Initialize”, MX_DIOT (CA layer): modified
- Codeunit 27021 “DIOT Data Management”, MX_DIOT (CA layer): modified
- Codeunit 27022 “DIOT Subscribers”, MX_DIOT (CA layer): modified
- Codeunit 7231 “Integration Master Data Synch.”, MasterDataManagement: modified
- Codeunit 7230 “Master Data Mgt. Setup Default”, MasterDataManagement: modified
- Table 81 “Gen. Journal Line”, Base Application (AU layer): modified
- Codeunit 17100 “Recurring Amount - Distribute”, Base Application (AU layer): modified
- Table 36 “Sales Header”, Base Application (AU layer): modified
- Codeunit 103 “Cust. Entry-Edit”, Base Application (AU layer): modified
- Table 15 “G/L Account”, Base Application (ES layer): modified
- Table 98 “General Ledger Setup”, Base Application (ES layer): modified
- Report 6653 “Combine Return Receipts”, Base Application (IT layer): modified
- Report 10092 “Open Purchase Invoices by Job”, Base Application (CA layer): modified
- Codeunit 816 “Purch. Post Invoice”, Base Application (CA layer): modified
- Codeunit 815 “Sales Post Invoice”, Base Application (CA layer): modified
- Codeunit 5639 “FA Get Journal”, Base Application (RU layer): modified
- Codeunit 1280 “Map Currency Exchange Rate”, Base Application: modified
- Table 472 “Job Queue Entry”, Base Application: modified
- Page 1824 “Jobs Setup Wizard”, Base Application: modified
- Table 1513 “Notification Schedule”, Base Application: modified
- Codeunit 10 “Type Helper”, Base Application: modified
src/Layers/CH/BaseApp/Finance/Currency/MapCurrencyExchangeRate.Codeunit.al: modified, not in the BC30 snapshotsrc/Layers/IT/BaseApp/Sales/Document/CombineShipments.Report.al: modified, not in the BC30 snapshot
Context
- Work items: AB#640773
- Labels: AL: Apps (W1), Ownership: Needs Review, Team: Other
- Systems: finance, sales, development, integration, projects, administration, fixed-assets, purchasing
Source: metadata of a merged pull request in microsoft/BCApps (bcapps): title, labels, changed paths and counts, with a summary in our words. No source text and no description beyond one short quote (D10, D61).