[621963] Deprecate table 9650 "Custom Report Layout" (Pending, tag 29.0) + country forks#9695
Open
V-CWurtzen wants to merge 3 commits into
Open
[621963] Deprecate table 9650 "Custom Report Layout" (Pending, tag 29.0) + country forks#9695V-CWurtzen wants to merge 3 commits into
V-CWurtzen wants to merge 3 commits into
Conversation
…ding, tag 29.0)
Mark table 9650 "Custom Report Layout" as ObsoleteState = Pending (tag '29.0'),
following the already-Pending page 9650. The table is superseded by the system
report-layout tables ("Tenant Report Layout" / "Report Layout Selection").
The table object stays defined and Pending (present in the Clean build); no schema
is removed here - physical removal is a later Removed/CLEANSCHEMA step. The legacy
layout surface is guarded for the CLEAN29 cleanup:
- Description FlowFields obsoleted + wrapped in #if not CLEAN29: Report Selections
"Email Body Layout Description"; Custom Report Selection "Custom Report Description"
and "Email Body Layout Description"; Interaction Tmpl. Language "Custom Layout
Description".
- Page 9653 "Report Layouts Part" obsoleted + wrapped, incl. its part in the Report
Layout Selection page.
- Consumer controls guarded on the sales/purchase/service/job/reminder and
customer/vendor report-selection pages and the interaction template page.
- Plumbing references to the still-present table (TableRelation, CalcFormula,
Database::, tabledata permissions, record vars) keep unconditional
#pragma warning disable AL0432, since the table stays valid while Pending.
- Report Layout Selection "Report Layout Description" is left intact (used by the
modern Tenant Report Layout flow).
W1 only; country-fork propagation and compile-driven fixups follow.
…res/621963-deprecate-custom-report-layout-table
…ntry forks (+ W1 fixup) Country-fork parity for the table 9650 deprecation. The VerifyMiappSync fork gate is presence-only and demands every existing fork of each changed W1 file; the fork set was derived at 0 missing / 0 extra via three independent methods (disk fork-diff = AL-graph fork_of = reference enumeration). Forks (21), each mirroring the W1 guarding at its own lines: - CompanyInitialize.Codeunit.al (AT/BE/CH/DACH/ES/FI/NA/NL/NO/RU): pragma the Record "Custom Report Layout" var. - DemoTool/CreateRapidStartPackage.Codeunit.al (BE/CZ/IN/RU): pragma the CreateTable(DATABASE::"Custom Report Layout") call. - d365busfullaccess.permissionset.al (GB/RU): pragma the tabledata permission. - ReportSelectionPurchase.Page.al (ES/RU) + ReportSelectionSales.Page.al (NO/RU): #if not CLEAN29 wrap of the "Email Body Layout Description" field. - RU ReportSelections.Table.al: full mirror (field 22 obsoleted + #if not CLEAN29 wrapped; TableRelation/CalcFormula/record-var pragmas). W1 fixup: ReportSelections.Table.al DoesAnyCustomLayotExist() had an unguarded Record "Custom Report Layout" var, missed by the initial sweep and invisible to both compile modes (base.ruleset treats AL0432 as None). Found via an AL-graph references_table enumeration; guarded with a construct-scoped pragma. Fixes AB#621963
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What & why
Deprecates table 9650 "Custom Report Layout" (
ObsoleteState = Pending,ObsoleteTag = '29.0'), mirroring the already-Pending page 9650. The legacy custom-layout table is superseded by the system report-layout tables ("Tenant Report Layout" / "Report Layout Selection", surfaced by the system Report Layouts page). Marking it Pending starts the retirement clock and points partners at the modern surface. No schema is removed and no data-migration behavior changes — the table stays defined and present (it remains in the cloud-migration replication set); physical removal is a laterRemoved/CLEANSCHEMAstep.Scope
W1 (BaseApp): table 9650 header markers; the legacy layout surface guarded for the CLEAN29 cleanup:
#if not CLEAN29-wrapped: Report Selections "Email Body Layout Description"; Custom Report Selection "Custom Report Description" / "Email Body Layout Description"; Interaction Tmpl. Language "Custom Layout Description".TableRelation,CalcFormula,Database::,tabledatapermissions, record vars) keep unconditional#pragma warning disable AL0432.Country forks (21): parity for every existing fork of each changed W1 file, applied surgically at each fork's own lines —
CompanyInitialize(AT/BE/CH/DACH/ES/FI/NA/NL/NO/RU),DemoTool/CreateRapidStartPackage(BE/CZ/IN/RU),d365busfullaccess(GB/RU),ReportSelectionPurchase/ReportSelectionSalespages (ES/RU, NO/RU), and RUReportSelections.Table.al(full mirror).Nature of change
Metadata + reference-guarding only (obsoletion markers,
#if not CLEAN29guards, balancedAL0432pragmas). No functional/behavioral change; the table object stays present and Pending.Validation
fork_of=references_tableenumeration), reproducing the presence-onlyVerifyMiappSyncgate before CI.references_tablecertification: every product reference to the Pending table across W1 and all forks is CLEAN29-excluded orAL0432-guarded (remaining unguarded refs are test apps and the table's own self-references, intentionally left).Fixes AB#621963