Skip to content

(Bug 618119): [Subcontracting] Subcontracting App has folder structure that needs to be aligned with other 1st party apps#7917

Merged
alexei-dobriansky merged 5 commits into
mainfrom
bugs/618119-Subcon_AlignFolderStructureWithOtherApps
Jun 19, 2026
Merged

(Bug 618119): [Subcontracting] Subcontracting App has folder structure that needs to be aligned with other 1st party apps#7917
alexei-dobriansky merged 5 commits into
mainfrom
bugs/618119-Subcon_AlignFolderStructureWithOtherApps

Conversation

@alexei-dobriansky

@alexei-dobriansky alexei-dobriansky commented Apr 30, 2026

Copy link
Copy Markdown
Contributor

Summary

Realigns the Subcontracting app's folder layout (src/Apps/W1/Subcontracting/) to match the convention used by Quality Management and other W1 1st-party apps: feature folders at the top level, all AL object types coexisting flat inside each feature.

This is a file-move refactor. The only content edits are two report layout-path corrections (see below) — no object renames, no logic changes. The AL compiler discovers files via app.json's glob, so source paths are not otherwise referenced and moves do not affect compilation.

This branch has been merged with the latest main. The folder counts below reflect the current state, which differs from the original branch point: main has since removed the Prod Order Creation Wizard and Profiles areas and added a WIP Item area. Those upstream content changes are not part of this refactor — this PR only determines where the current set of files lives.

What changed

Before

App/src/Process/{Codeunits,Pages,Pageextensions,Tableextensions,Enumerations,Tables,Reports,...}/... — a Process/ umbrella with type-subfolders, plus inconsistent sub-domain folders (Manufacturing/, Purchase/, Transfer/, etc.) only inside the extension type-folders.

After — App/src/

Folder Files
General/ 9
Manufacturing/ 43
MasterData/ 8
Purchase/ 27
Setup/ 4
Transfer/ 33
Warehouse/ 12
WIPItem/ 12
Worksheet/ 3
Install/ 4 (unchanged)
Permissions/ 6 (unchanged)
RoleCenters/ 10 (unchanged)
Total 171

After — Test/

The Test/src/Codeunits/ wrapper has been removed. Test layout:

  • Test/Tests/ — 22 test codeunits
  • Test/Libraries/ — 8 helpers (includes one PageExt previously misfiled under src/Codeunits/General/)
  • Test/DisabledTests/ — unchanged

Top-level App/app.json, Test/app.json, the extension logos, and SubcontractingWorkspace.code-workspace are unchanged. Total objects: 207 — identical set to main, only reorganized.

Naming conventions adopted (from Quality Management)

  • Feature folders at top level; all object types coexist inside each feature folder
  • No type-subfolders (no Codeunits/, Pages/, Enums/ inside features)
  • Sub-features are flattened (the WIP Item/Posting Preview/ sub-area folds into WIPItem/)
  • "Infrastructure" folders (Permissions/, RoleCenters/, Install/) stay flat

Report layouts (the only content edits)

Reports move into their feature folder together with their layout files, and the layout-path properties — which hardcode the file path — are updated to match:

  • SubcDetailedCalculation.Report.al + Rep99001500.SubcDetailedCalculation.rdlPurchase/
    RDLCLayout = 'src\Purchase\Rep99001500.SubcDetailedCalculation.rdl'
  • SubcDispatchingList.Report.al + SubcDispatchingList.docxManufacturing/
    WordLayout = '.\src\Manufacturing\SubcDispatchingList.docx'

These are the only two files with line-level changes; every other file is a pure move (verified: 181 renames, 0 additions/removals relative to main).

Notable file classifications

  • SubcontractorPrice.Table.al + SubcontractorPrices.Page.al + SubcPriceManagement.Codeunit.alPurchase/ (subc-purchase pricing, used at PO creation)
  • SubcILEntries.PageExt.al + SubcItemLedgerEntry.TableExt.alGeneral/ (ILE is cross-cutting inventory, not warehouse-specific)
  • SubcCapLEntries.PageExt.alManufacturing/ (capacity entries are produced from prod order routing)
  • SubcTransferManagement.Codeunit.alTransfer/
  • ComponentSupplyMethod.Enum.alManufacturing/ (alongside ComponentsatLocation.Enum.al)
  • WIP Item area (incl. the Posting Preview sub-area) → flat WIPItem/ feature folder
  • Setup/{Pages,Tables,ApplicationAreas}/... → flat Setup/
  • Process/Codeunits/Extensions/{Manufacturing,MasterData,Purchase,Transfer,Warehouse}/ codeunit extensions → distributed to their respective feature folders

Fixes AB#618119

@alexei-dobriansky alexei-dobriansky self-assigned this Apr 30, 2026
@alexei-dobriansky alexei-dobriansky requested a review from a team as a code owner April 30, 2026 12:42
@github-actions github-actions Bot added the AL: Apps (W1) Add-on apps for W1 label Apr 30, 2026
@github-actions github-actions Bot added this to the Version 29.0 milestone Apr 30, 2026
ChethanT
ChethanT previously approved these changes Apr 30, 2026

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AL Documentation Audit

Documentation gaps were detected in the following apps:

  • Subcontracting-Test: 0% documentation coverage
  • Subcontracting: 0% documentation coverage

To generate documentation, run /al-docs init or /al-docs update using GitHub Copilot CLI or Claude Code.
This review is for awareness to help keep documentation in sync with code changes. It is okay to dismiss this request.

@alexei-dobriansky alexei-dobriansky enabled auto-merge (squash) April 30, 2026 12:49

@SPinkow SPinkow left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have a question at this point.
We’re continuing to work on the current subcontracting app, adding and modifying objects and adding functionality. If all objects are moved throughout the entire app now, this will certainly lead to merge conflicts. I understand that this work needs to be done, and I definitely support a better folder structure, but changes and code moves often make our pull requests more complicated than necessary and we have to run through more iterations than needed.
I therefore suggest that cleanups and code moves (single functions or complete objects) be done only after the functional changes have been merged. That would make our work easier and reduce errors during subsequent merges.

I'll copy this over to Teams as well so we can discuss the topic more effectively. Thank you very much for your understanding.

@ChethanT ChethanT left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We will wait for the bigger tasks to be done

@AleksandricMarko AleksandricMarko added the Subcontracting Subcontracting related activities label May 8, 2026

@ChethanT ChethanT left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Block to make way for #8436

Brings the Subcontracting folder-restructure (bug 618119) up to current main (029cebc): main since the branch point added 40 files, deleted 30 (incl. the Prod Order Creation Wizard and Profiles areas), and modified 143. All current Subcontracting files are placed into the domain-folder layout; mainline's new 'WIP Item' area goes into a flat 'WIPItem' folder. RDLCLayout/WordLayout paths in SubcDetailedCalculation and SubcDispatchingList remain corrected for their new locations.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@alexei-dobriansky alexei-dobriansky requested a review from a team as a code owner June 19, 2026 16:44
Incorporates 26 new main commits. Subcontracting changes (63 modified, 1 added, 1 deleted) applied onto the domain-folder layout: SubcRoutingVersionLines.PageExt.al added under Manufacturing/; SubcPlanningRouting.PageExt.al removed (deleted on main). Report layout-path fixes preserved.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@alexei-dobriansky alexei-dobriansky merged commit ad1c164 into main Jun 19, 2026
40 checks passed
@alexei-dobriansky alexei-dobriansky deleted the bugs/618119-Subcon_AlignFolderStructureWithOtherApps branch June 19, 2026 21:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AL: Apps (W1) Add-on apps for W1 Subcontracting Subcontracting related activities

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants