code change · performancePlatform, DevOps & Performanceofficial - Microsoftreviewed - checked by Opus

#12307 Make UpgradeDefaultDimensions ParentId backfill set-based (via DataTransfer)

The UpgradeDefaultDimensions procedure now uses set-based DataTransfer operations instead of row-by-row processing to backfill ParentId fields in Default Dimension records, significantly reducing upgrade runtime on large tables.

Pull request · merged into main (BC30) on 2026-10-05 by dcenic · 8 files (+224 -72), 8 AL · performance · tier official · reviewed (checked by Opus)

What changed

  • Replaces per-row Get and Modify with four set-based DataTransfer joins (Item, Customer, Vendor, Employee)
  • Destination rows are filtered by Table ID and blank ParentId so entity types cannot cross-match
  • Behavior is preserved while upgrade runtime no longer grows with row count
  • Applied in the W1, AT, BE, CH, IT, NL, NO and RU upgrade codeunits
  • Audit fields are not restamped, consistent with the sibling DataTransfer steps

AL objects touched

Also merged into

  • #12316 into releases/29.x on 2026-10-06

Context

  • Work items: AB#652937
  • Labels: Ownership: Manual, Team: Finance
  • Systems: platform
  • From the description: “Replace the loop with four set-based DataTransfer joins (Item, Customer, Vendor, Employee), consistent with the Parent Type / DimensionId steps in the same method.”

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).