[Extensibility Request] Missing extensibility for dimensions in Subscription Line
Nobody has claimed this yet.
- Dominant language
- AL
- Stars
- 683
- Forks
- 459
- Avg merge
- 3d 26m
- Merged PRs (30d)
- 633
Description
Describe the issue
in table 8059 "Subscription Line", it would be helpful to make the creating of the dimensions extensible.
-
New Publisher in AddDefaultDimensionSources with
OnAfterAddDefaultDimensions(Rec, DefaultDimSource, UseSources) -
make the "SetDefaultDimensions" function usable from external code.
If the dimension creation will be refactored to be more like the standard dimension creation (like sales line), that would be helpful too.
We want to add a project relation to the subscription, with project dimensions. - and want to start the dimension creation validating the project no.
OnAfterGetCombinedDimensionSetID is there, but maybe a little bit to late, depending on the priorities for dimensions based on source code.
Expected behavior
- Creation of dimensions is available from 3rd party code
- new fields can be added as a source for dimension creation
- seeing standard patterns for creating dimensions also in subscription line
Steps to reproduce
internal procedure SetDefaultDimensions(UseSource: Boolean)
-> Is Internal
internal procedure ApplyContractDimensions and
local procedure AddDefaultDimensionSources
are not offering a publisher to add dimension sources to the defaultdimSource-list
Additional context
if a refactoring using standard pattern should be planned, maybe a product developer from Microsoft has the better overview of this module to implement the necessary logic
I will provide a fix for a bug
- I will provide a fix for a bug
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with src/Apps/W1/Subscription Billing/App/Service Commitments/Tables/SubscriptionLine.Table.al and read SetDefaultDimensions, ApplyContractDimensions, and AddDefaultDimensionSources. Compare the dimension-creation pattern used by the sales line, then determine how the requested publisher and external procedure access should fit. Done means third-party code can add dimension sources and initiate creation early enough to validate the project number.
Written by the indexing model from the issue text.
Assessment
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100