Section Distribution

A quote section can be distributed into other sections in the Solution Design tab. When the distribution is initiated, a new distributed section is created in each section to which the source is being distributed. The value of the distributed section is split between the target sections as indicated in the distribution method.
To be able to distribute a section to other sections, you first need to enable the distribution for it either in the Section Builder or the excel file when creating/editing a section. Consequently, the button displays in the Solution Design tab, next to the section that can be distributed.

Distribution Methods

A distribution method defines how the values from the source section are distributed to target sections. You can either create a custom calculation in Setup > Quotes > Quote Fields and Calculations > Distribution Calculations or manually enter the percentages. There is also the Split Evenly action that distributes the section evenly to the target sections. When applying a custom distribution method, every time you make a change (for example, change the price of an item), you should click and the values will be redistributed according to the distribution method. The Redistribute action is above the section grid, next to other section actions.


Example: The following calculation method is selected for distributing a section when users want to keep the same ratio in the sections that are distributed as between target sections.

itemsToBeDistributed = context.Quote.GetSectionItems(context.Source)
sumOfItems = 0
for item in itemsToBeDistributed:
    sumOfItems += item["Wholesale_Price"]
targetSum = 0
for target in context.Targets:
    targetSum += context.Quote.GetParentSection(target)["Wholesale_Price"]
for target in context.Targets:
	target.DistributionPercent = context.Quote.GetParentSection(target)["Wholesale_Price"] / targetSum *100
for target in context.Targets:
	for section in context.Quote.GetSectionAndHisAncestors(target.SectionPath):
		section["Wholesale_Price"] += sumOfItems * target.DistributionPercent / 100
	context.Source["Wholesale_Price"]-=target["Wholesale_Price"]
Before Distribution



After Distribution

Distribute a Section

Only a section that has a calculation of the aggregate type Sum can be distributed. Sections with other aggregates types cannot be distributed.

Prerequisite:

  • To have a distribution method created in Setup > Quotes > Quote Fields and Calculations.
  1. Click next to a section.
    The Distribution Section modal pops up, displaying these fields:
    • Select section to distribute - the field is grayed out and it displays the name of the field that is being distributed. If multiple sections are selected, you should select in this field one section at a time and manage other fields in the pop-up.
    • Distribution Method - list of custom distribution calculations. Additionally, the Manual method is the default value. If this method is selected, you will be able to set up the percentages according to which the value of the source section will be distributed to target sections.
  2. Click next to Distribute to.
  3. Click the empty field and the available target sections are displayed (all the sections that are not enabled for distribution).
  4. Select one section.
  5. Repeat the previous steps to add other target sections.
  6. Click Split Evenly.
    New subsections are added to target sections, one level below the target sections.
    The value of the source section is evenly split between the target sections.
    You can change the percentage manually and remove the target section by clicking .


The Retract action removes the distributed sections from the target sections.

More Information
You are here: SAP Sales Cloud CPQ Online HelpAdmin Page HelpQuotes AdministrationQuote 2.0Solution DesignSection Distribution