Skip to Content

Dear All,

Thanks for given opportunity to upload this document, which will help FICO consultants during the working on TDD – COPA.

This document prepared based on my knowledge and experience, working on many TDD issue and some issue raised with SAP expert via OSS message. So I thought why not create such document which collect all information related to TDD. So I prepared this document and sharing with you.

Thank you

Akesh Agrawal

=================================================================================================================

SAP – Controlling

CO-PA – Profitability Analysis

Top-Down Distribution

(TDD)

Transaction Code:

Transaction Code: KEBC (Set Operating Concern)

Transaction Code: KE28 (Create/Execute Top-Down Distribution)

Transaction Code: KE29N (Top-Down Distribution Log Overview)

Purpose of the Document:

To know what is the Top-Down Distribution (TDD) in SAP.

To know how TDD works in COPA


Target Audience:

Consultants in SAP FI-CO Financial Accounting and Controlling module.

Disclaimer:

  1. Some of the discussion is taken from the SAP Documentation.
  2. Some of the data is hidden to adhere to data security policy

Business Purpose of Top-Down Distribution


In Profitability Analysis, sales revenues, sales deductions, and costs of goods manufactured are generally stored at the customer/product level. However, many business transactions – such as freight invoices, insurance expenses, or advertising – cannot easily be assigned to such a detailed level in CO-PA. Consequently, these need to be posted at a summarized level, such as the division, sales organization, or company code level.

Top-down distribution of actual data is a periodic function that lets you distribute this aggregated data to more detailed levels in CO-PA on the basis of reference information (such as the data from the previous year/previous month).

The data is distributed according to existing “reference data”. You can use either planning or actual data as a reference. You can also distribute period by period, or aggregate the period values to smooth out variances.

The system distributes the data by value field or according to how the values in the selected value field are distributed.

When top-down distribution is executed, values that are not assigned at the higher level (#) are distributed. Characteristic derivation occurs but only for those characteristics that were used in summarization (in other words, those values for which the summarized field in the processing instructions screen was selected).

You can perform distribution in any of the following ways:

  • You can select values posted to any profitability segments and in any value fields, and then distribute this data to a specified distribution level.
  • You can use existing actual or planning data as the basis for this distribution. The basis can be the values in a single value field (such as revenue) or a calculated value (such as contribution margin 1) or occur by value fields.

  You can also distribute period by period, or aggregate the period values to smooth out variances.

Using top-down distribution of actual data can lead to quite large data volumes, since the data is distributed to a large number of profitability segments.

Activities


You execute the top-down distribution of actual data by choosing Controlling > Profitability Analysis >Actual postings > Period-end closing > Periodic adjustments > KE28 – Top-Down Distribution from the application menu.


Entries for the actual data

  1. The posting periods or — if you are using the alternative period type — the weeks that you want to distribute
  2. The record type of the data you want to distribute


PA1.jpeg

Entries for the reference data


  1. Enter the periods from which the reference data should be selected.
  2. Specify whether you want to reference actual data or planning data. If you reference planning data, enter the plan version from which the data should be selected.
  3. Enter the record type of the data you want to reference.
  4. Select the Aggregate period’s field if you want to add together the period values of the reference data rather than distributing them directly. This gives you the same value in each period for each segment, to smooth out incidental differences which occurred from period to period (see also Example: Period Aggregation).

PA2.jpeg

Entries for the reference base


  1. Select the Single value field if you want to distribute all the value fields in proportion to the values contain in one value field. You can use any value field or key figure (formula defined using value fields). The key figures you can use here need to be defined in Customizing.
  2. If you have selected the Single value field, enter the value field that you want to use as the distribution factor.
  3. Select the By value fields field if you want to use each single value field as the basis for how that value field is distributed. This means that the value field Revenue would serve as the basis for how the revenues are distributed.

PA3.jpeg


Record Type: X

Source

Company Code

Product

CO Area

Busi Area

Sales Org.

Local Lev 01

Con Oc Cla03

Picking Time

TDD

CC01

PD1

COA1

SO01

111

231

30

TDD

CC01

PD1

COA1

SO01

112

241

50

TDD

CC01

PD1

COA1

SO01

113

251

20


Entries under Extras


  1. Select the Test run field if you want to distribute your data without making any changes to the database for (only testing the correctness).
  2. Select the Background processing field if you are distributing for a large number of segments. The system will execute the function in the background so that your system is not loaded down unnecessarily.

PA4.jpeg


Processing Instructions push-button


Here you can specify how each characteristic should be processed in top-down distribution:

  • Distribution level:
  • Retain/Cpy:
  • Summarize:
  • Ref: The characteristic values of the selected characteristic are transferred directly from the source data. However, the system uses different characteristic values of the characteristic as reference data when determining the distribution key. (Refer attached excel) 

PA5.jpeg

Selection Criteria push button


Here you can restrict the amount of profitability segments that you want to delete. You can enter one or more single values or an interval for each characteristic. All the values of that characteristic are distributed if you enter an asterisk (*).

PA6.jpeg

With ref to Processing instruction screenshot here:


  1. In Distribution level we have selected ‘Local Level 01’ and ‘ConsumpOccassClass03’ in “DLvl” characteristics we want to distribute to.

  1. In Retain/Cpy here we have selected all characteristics you already have in COPA records you want to keep as it is in above screenshot we have ‘Product’, ‘Company Code’, ‘CO Area’, ‘Business Area’ and ‘Sales Org’

  1. In Sum we have select all other characteristics that should be derived during TDD Like ‘Distr. channel’ and ‘Division’ etc.

Actual Data before TDD


Record Type: B,C &D

Option

Cpy

Cpy

Cpy

Cpy

Cpy

Dist

Dist

Sum

Sum

Value Field

Value Field

Source

Company Code

Product

CO Area

Busi Area

Sales Org.

Local Lev 01

ConOc Cla03

  1. Distri.Channel

Division

Media Trd

Other Adv

Data posted Higher Level From Allocation

CC01

PD1

COA1

SO01

#

#

#

#

1000

1500

With ref to above selection what doses the systems technically do:


Retain/Cpy

  • The TDD selects all lines in COPA that have a characteristic ‘company code’ and ‘Local Level 01’ and ‘ConsumpOccassClass03’ not assigned
  • Summarizes this records by ‘company code’, ‘Product’, ‘CO Area’, ‘Business Area’ and ‘Sales Org’
  • Creates a ‘cancellation’ line by ‘company code’, ‘Product’, ‘CO Area’, ‘Business Area’ and ‘Sales Org’
  • This value will not be changed during TDD!
TDD

CC01

PD1

COA1

SO01

#

#

#

#

-1000

-1500

Distribute:

  • The TDD will look for the total “Picking Time” by ‘Local Level 01’ and ‘ConsumpOccassClass03’ posted in a specific period for a specific record type.
  • Distribute the amount posted on higher level of characteristic according to the “Picking Time”  from the reference data  (e.g. from cost center allocation)

Summarize:

  • On the cancellation line the TDD will set all characteristics where you selected ‘summarize’ to ‘blank’. (In our example ‘Distr. channel’ and ‘Division’ etc.)
  • After TDD: for the cancellation line item the field which is blank in original line item will remain as it is. The derived characteristics in the cancellation line item will also be in line with the derivation of original line item.
  • After TDD: for distribution characteristic field which is blank in original line item will be derived from the characteristic derivation rule for the distribute line item.
  • For those characteristics that are neither selected as distributed nor retained, you should leave the default values “*”for this characteristics.

Value Fields push-button


Here we have to specify the value fields of the operating concern that we want to distribute those value field you need to select. In our case we have selected value field for distribution is (Media Trd., Other Adv ).

PA7.jpeg

Note:

  • ‘Company code’, ‘Product’, ‘CO Area’, ‘Business Area’ and ‘Sales Org’ will be unchanged (No derivation!)
  • Amount will only be distributed to Company Code-CC01, Product-PD1, CO Area-COA1, Business Area -Blank and Sales Org-SO01.
  • Distribution amount for the ‘Local Level 01’ and ‘ConsumpOccassClass03’ is calculated based on “Picking Time” by ‘Local Level 01’ and ‘ConsumpOccassClass03’.
  • ‘Distr. channel’ and ‘Division’ is derived based on derivation rules during the TDD

Actual Data after execution TDD


Record Type: B,C &D

Option

Cpy

Cpy

Cpy

Cpy

Cpy

Dist

Dist

Sum

Sum

Value Field

Value Field

Source

Company Code

Product

CO Area

Busi Area

Sales Org.

Local Lev 01

ConOc Cla03

  1. Distri.Channel

Division

Media Trd

Other Adv

From Allocation

CC01

PD1

COA1

SO01

#

#

#

#

1000

1500

TDD

CC01

PD1

COA1

SO01

#

#

#

#

-1000

-1500

TDD

CC01

PD1

COA1

SO01

111

231

11

12

300

450

TDD

CC01

PD1

COA1

SO01

112

241

11

12

500

750

TDD

CC01

PD1

COA1

SO01

113

251

11

12

200

300

Top down Distribution KE28 Actual work as per details given above.

Important Notes:


1. The error message KG323 is issued for top-down distribution for the actual data (Transaction KE28): ‘Value could not be distributed” In most of Top-Down Distribution cases system give the above error message “Value Could not be distribute”

PA8.jpeg

Basically for the system to find reference data for the selection criteria given in the variant there need to be line items in the reference data which have the same characteristic combination as those in the source data for the characteristics selected in the ‘CPY’ column of the processing instructions.

You must consider important fact that error message is always raised for concrete segment (given by characteristics with processing option copy)

In this case the error message KG323 which is raised by system you have to check the first log and verified that this characteristic combination does exist in the reference data?.


For Example:  In below TDD case Controlling Area characteristics selected in “CPY” column of the processing instruction. 

In below source data and reference data is not same therefore system will give the error message KG323.

Refer below table screenshot where you can see that Controlling Area = ‘CO01’ in the Source (Actual) data with record type “B,C & D” while the system searches for the char combination with Controlling Area initial (Refer below screenshot 2)

In reference data Record type “X” Controlling Area is blank. (Refer below screenshot 1).


Actual/Source Data:


Record Type: B,C &D

Option

Cpy

Cpy

Cpy

Cpy

Cpy

Dist

Dist

Sum

Sum

Value Field

Value Field

Source

Company Code

Product

CO Area

Busi Area

Sales Org.

Local Lev 01

ConOc Cla03

  1. Distri.Channel

Division

Media Trd

Other Adv

From Allocation

CC01

PD1

COA1

SO01

#

#

#

#

1000

1500

Reference Data:


Record Type: X

Source

Company Code

Product

CO Area

Busi Area

Sales Org.

Local Lev 01

Con Oc Cla03

Picking Time

TDD

CC01

PD1

SO01

111

231

30

TDD

CC01

PD1

SO01

112

241

50

TDD

CC01

PD1

SO01

113

251

20

When any characteristics selected in the ‘CPY’ column of the processing instructions that characteristic value should be same in Source/Actual data and Reference data. For example Business area in Source data is “Blank” and in reference also it is “Blank” so system will not give any error because in both side Business area is blank.

But as seen above case that in reference data controlling area is blank and in source data controlling area is available “COA1” both side data is not same so system will issue the error message KG323 “Value could not be distributed”

2. In Some case Top-Down Distribution log shows that TDD executed successfully but when we see the details result TDD not allocated any value, receiver not updated.

In the TDD the characteristics ‘local level 1’ and ‘consumpOccassClass03’ is selected in “DLvl” (Refer screenshot)

PA9.jpeg

In variant you have selected value field for distribution is (Media Trd., MedCst-NTr, Other Adv, Ch.Ag. Fee, PE-Cons.,PE-Trade, AdvPrd C.T, Adv.PC NTr, Adv.Ag.Com,Adv-Trade ).(Refer screenshot)

PA10.jpeg

  1. For the values to distribute to the two characteristics , the following conditions should be satisfied:

    a.    The two characteristics ‘local level 01 and ‘consumpOccassClass03’ should be initial (should have no characteristics values-i.e should be blank or null) 

    b.    With the null characteristics values, the value field totals of the value fields selected for distribution should not be zero. If it is zero, there will not be any distribution.

(e.g. When you checked the report KE24 for record type  B, C, D, company code CO01, Period  003.2012 and filter for two characteristics ‘local level 01 and ‘consumpOccassClass03’ with blank values, the value fields total is Zero (0), that means there is nothing to distribute in TDD.

So basically there is nothing to distribute and hence there is no top down.

3. In Some case you use transaction code KE28. After execution, system issues error message KG323 “Value could not be distributed” (The percentages of the reference data were all zero.) in the log, even though you are sure that the reference data exists. Note that the mentioned error message is usually correct and the reference data are in fact missing. For this purpose consider notes 77476 or 110164.

Problem solved by this message is related only to situation if following conditions are fulfilled:

  • selection used for periods in source and reference data is the same
  • reference data are actual data
  • selection used for reference data is defined with several record types
  • record type used for selection of source data is also included in selection used for reference data

If above situation fulfilled then this is program error then you need to apply the attached program correction or implement appropriate

Support package (for further details check SAP Note 763720 – Released on 09.11.2011)

4. You use the top-down distribution in CO-PA and read the necessary CO-PA data from summarization levels. If many line items are created with several runs, they must each be read with subsequent accesses at summarization level, which means that the runtimes of consecutive distributions may grow disproportionately to the data volumes.

If all summarization levels used are up-to-date and the results of the sequential top-down distributions DO NOT influence each other, that means you do not have to use current data. The status of the data from the last setup of the summarization levels would be sufficient. In this case the line items would not have to be read.

NOTE: As a result of this MODIFICATION, the system no longer reads the current data, but only the data as of the last update run of the summarization levels. Note that the summarization levels must be updated before the allocation is executed, if the data for the sender and/or the reference data of the consecutive top-down distributions has changed. To ensure the data of the summarization levels is consistent, records posted 30 minutes before the update are not included in the summarization levels (security delta). This means that half an hour must pass after posting CO-PA data, before you may update the summarization levels.

If you want to import the reference data ONLY without reading the line items, implement correction 1.

If you want to import the sender (Source Data) AND reference data without reading the line items, implement correction 2. (For more details refer SAP Note 1039567)

5. Transaction KE28, option ‘Cumulate Record Type’ is selected: user can enter the same value of record type in selection for source (actual) data or for reference data more than once. Such selection isn’t logical (especially in case of source data) and it leads into unexpected and unclear results. Program error, which occurs only in case that option ‘Cumulate Record Type ‘is selected.

In above case when we used cumulative record type (duplicate entry possible for record type), some time system behavior is different and thru the unexpected result of TDD, for solution prospective read the OSS note 1608281 which is release for the this issue.

During a top-down distribution, one of the following problems occurs with unit of measure fields:

  1. You execute a top-down distribution and notice that the units of measure fields have been filled incorrectly in some receiver line items (for example, are initial, even though they should have been filled).
  2. You want to select the setting for summarizing the value for a unit of measure field in the processing rules during a top-down distribution but you cannot do this because the “Transfer Value” setting specified by default is grayed out and can no longer be changed.
  3. In the definition of a top-down distribution on the “Selection criteria” screen, you cannot enter any characteristic values for unit of measure fields.

There is program error for correction you use at least package “SAPKH60507”

Call transaction SE91, enter the message class KG and create message 880 with the following text: “Distribution level option is not allowed for unit of measure fields”. Then you need to apply attached source code correction. For more details refer OSS note 1634827.


7. In some case transaction KE28, top down distribution for actual data. Correction provided by this note is applicable only in case of option ‘Cumulate Record Type’ is enabled. During check of the result of the top down distribution run it’s recognized that source data in addition to the ‘real’ reference data is used as a reference base for distribution of data.

This is program error SAP has release OSS note 1635792 on this issue

8. In most of case Top down distribution actual KE28 “processing options” for characteristic “Business area – GSBER” there is a need to be keep in “CPY” option even we are not using “Business area – GSBER” in our system. 

If we try to set the “Business area – GSBER” in summarize option system doesn’t allowed you to change it. Because characteristic “Business area – GSBER” is an important Organizational element. But in some cases after upgrade from older released it is possible to change the from “CPY” to “Summarize” there is OSS note 604523 way how to enable the options and remove such restriction for “Business area – GSBER”. Please note this is not SAP Standard functionality. 

9. You use transaction KE29N. You select a log that belongs to transaction KE28. You want to display the detail log, but it takes too long. “There are too many senders in the top-down distribution”

Create the following text symbol manually in the program SAPLKEPROT: 001 Create list of sender? (May take a few minutes)The number of senders is evaluated. The list of senders is only created if the number of senders is not large or if the user permits this in the dialog displayed (For more details refer SAP Note 1272897, 1555387 & 1483037).

Thank you..

To report this post you need to login first.

15 Comments

You must be Logged on to comment or reply to a post.

  1. Sanil Bhandari

    Hi

    This is good work. Lot of folks still struggle in TDD. This will really help the community.

    Thanks for sharing

    Regards

    Sanil Bhandari

    (0) 
    1. Akeshkumar Agrawal Post author

      Hi Sanil,

      Appreciated your comments.

      Yes, agreed with you that lots of consultants struggle in TDD, because baseline knowledge missing, if they manage basis information i am sure they will not face any issue during the TDD execution. There are only few basics rule if they work on that then issue will resolved. In this document I tried to covered. I hope this will help them.

      Thanks

      Akesh Agrawal

      (0) 
  2. Krishna Achanta

    Hi Akesh,

    Great work, eagerly waiting for this kind of document on TDD since years.  TDD is well explained

    Could not stop appreciating your efforts. Thanks for the document

    (0) 

Leave a Reply