(Bug 618119): [Subcontracting] Subcontracting App has folder structure that needs to be aligned with other 1st party apps#7917
Conversation
There was a problem hiding this comment.
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.
…618119-Subcon_AlignFolderStructureWithOtherApps
SPinkow
left a comment
There was a problem hiding this comment.
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
left a comment
There was a problem hiding this comment.
We will wait for the bigger tasks to be done
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>
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>
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.What changed
Before
App/src/Process/{Codeunits,Pages,Pageextensions,Tableextensions,Enumerations,Tables,Reports,...}/...— aProcess/umbrella with type-subfolders, plus inconsistent sub-domain folders (Manufacturing/,Purchase/,Transfer/, etc.) only inside the extension type-folders.After — App/src/
General/Manufacturing/MasterData/Purchase/Setup/Transfer/Warehouse/WIPItem/Worksheet/Install/Permissions/RoleCenters/After — Test/
The
Test/src/Codeunits/wrapper has been removed. Test layout:Test/Tests/— 22 test codeunitsTest/Libraries/— 8 helpers (includes one PageExt previously misfiled undersrc/Codeunits/General/)Test/DisabledTests/— unchangedTop-level
App/app.json,Test/app.json, the extension logos, andSubcontractingWorkspace.code-workspaceare unchanged. Total objects: 207 — identical set tomain, only reorganized.Naming conventions adopted (from Quality Management)
Codeunits/,Pages/,Enums/inside features)WIP Item/Posting Preview/sub-area folds intoWIPItem/)Permissions/,RoleCenters/,Install/) stay flatReport 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.rdl→ Purchase/RDLCLayout = 'src\Purchase\Rep99001500.SubcDetailedCalculation.rdl'SubcDispatchingList.Report.al+SubcDispatchingList.docx→ Manufacturing/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.al→ Purchase/ (subc-purchase pricing, used at PO creation)SubcILEntries.PageExt.al+SubcItemLedgerEntry.TableExt.al→ General/ (ILE is cross-cutting inventory, not warehouse-specific)SubcCapLEntries.PageExt.al→ Manufacturing/ (capacity entries are produced from prod order routing)SubcTransferManagement.Codeunit.al→ Transfer/ComponentSupplyMethod.Enum.al→ Manufacturing/ (alongsideComponentsatLocation.Enum.al)Posting Previewsub-area) → flat WIPItem/ feature folderSetup/{Pages,Tables,ApplicationAreas}/...→ flat Setup/Process/Codeunits/Extensions/{Manufacturing,MasterData,Purchase,Transfer,Warehouse}/codeunit extensions → distributed to their respective feature foldersFixes AB#618119