Skip to end of metadata
Go to start of metadata

General Information

BPS Planning is integrated into CRM for Key Figure Planning. Key figure planning is integrated in various different applications:



The Planning usually happens in the BW System.


The following shows several examples of applications that use BPS planning.


Trade Promotion Management


In Trade Promotion management key figure planning is highly integrated, several functions are depending on the BPS planning data. The planning layout may look as following.


In a trade promotion the planning usually happens on product category or product level. Further the trade spends entered in the trade promotion are reflected to the planning layout.

The buying period of the trade promotion is used as timeline in the planning layout.


Campaign Planning

For campaigns different planning profiles are available for different business reasons.


Opportunity Planning


Claims Management

In claims management PBS planning is integrated in the validation sheet used for validating the claimed amount. 

Definition of the planning layout

Design in BW

In BW there are the master data tables and the plan data, the so called transactional cubes. The BPS planning profiles are using the BW master data and store the plan data in the transactional cubes.

The artitecture roughly looks as following:

There are different layers in BPS planning.

  • Planning Area
  • Planning Level
  • Ad hoc Package


From the ad hoc package the planning layout is built.

The planning profile is the top element that is used by the CRM applications.


BW Customizing

BPS Customizing

The definition of the planning profile is done in transaction BPS0.

Planning Area

The planning area contains the information about the planning cube to be used. On the planning area all characteristics and key figures available in the planning cube are available.

Planning Level

The planning level contains only those characteristics and key figures that are indeed required in the certain scenario. The planning level is like a filter over the planning areas characteristics and key figures.

Ad hoc Package

The ad hoc package offers the selection for the data.

Planning Layout

The planning layout defines the way the data is presented to the user. This is like an excel sheet with having different columns defined. The planning layout is built with the data available in the planning level and the selection from the ad hock package.


The planning layout contains 3 areas:

The Header Area contains the characteristics of the planning object.

The Lead columns define the grouping of the values.

The Data Columns show the planning values.

When opening the planning layout in a trade promotion the different areas appear as following.

Planning Profile

The planning level and the ad hoc package are then used to create the planning profile.     


The assignment to the corresponding CRM object goes via the planning profile.

UPX Customizing

The planning layout is designed in transaction UPX_MNTN.

Header Area

This is used to define the header area.


Lead Columns

The lead columns for grouping the plan data is also defined in UPX_MNTN.

There are the following options available:

  • Filter: For each InfoObject with the symbol , the values can be accessed in the input screen from within a dropdown list box. This setting is not possible for Key Figures: General.
  • Display in Columns: The individual values for each InfoObject in the lead column with the symbol  are displayed in the columns. When several InfoObjects have this symbol, the values are multiplied together.
  • Display in Lines: The individual values for each InfoObject in the lead column with the symbol  are displayed in the lines of the layout. When several InfoObjects have the symbol ,  the values are arranged hierarchically in a tree structure without being multiplied together.
  • Display Collapsed in Lines/Columns: If InfoObjects have the symbols  or symbol , only the total is displayed and the single values are at first hidden. The single values can then be displayed in the columns or lines by expanding the node. If the single values can be expanded in the lines, you can use an indicator to specify that an additional column is added to the layout to display the proportion of the total that the single values represent.
  • Display as Block: When you select an InfoObject in the lead column to be displayed as a block (by activating the symbol ) separate, smaller layouts are created for all of the values of this InfoObject. If you select several InfoObjects as a block, one block is displayed for each combination of characteristic values. By choosing this display type, you can include a third dimension in what is actually just a two-dimensional entry screen.


Reference for Distribution

There are different options for distributing values from the totals to the product categories and product items. The distribution happens based on the defined 'Reference for Distribution':

This can be either a reference key figure or a hardcoded distribution rule. With having the 'Planner Can Change Reference for Distribution' flag enabled, the user can change the distribution rule in the planning layout. The planning layout gets the 'Distribution Rule' drop down enabled.

The selected rule is considered when entering new values in the total line. When changing the distribution rule, without entering any new values, nothing is changed - the distribution is triggered with entering new values only.


There are the following options:

  • Equal distribution across all fields

    The value entered in the total line is distributed equaly over all product items.
  • Proportional distribution on the basis of the previous values in a field

    The previous distribution is taken as a key for the new distribution. Please consider, when zeroing out the key figure in between, the zero values will be considered a new distribution key, resulting in equal distribution.
  • Distribution on the basis of a key figure in the key figure scheme. You release a key figure for distribution by setting the Reference for Distribution in Layout indicator in the key figure scheme under the enhanced settings for a row.

    The distribution of the reference key figure is the key for the distribution of the new values.


Data Columns

The data columns are here to be defined as well.

This area includes the sort order and calculations for all key figures. Even hidden key figures have to be included to the data area.


The data area contains so called real key figures, including any calculation based on other key figures.

The details contain certain attributes of the key figure, such as the read only flag, the hidden flag and the UOM of the key figure. Additionally the details also contain the formula of the calculation.

Addionally there are so called virtual key figures. Those are key figures that do not exist and are not stored physically but are used for calculation reasons only. Those calculated key figures appear with the  icon.

And there are so called function based key figures. Those key figures execute a function module to retrieve the current value. Those appear with the  icon.

The function module must be maintained in the key figure details.

CRM Customizing

Define Target System

The target system for the planning needs to be defined in the following customizing:


SAP Customizing Implementation Guide

Integration with Other Components

Strategic Enterprise Management

Define Target Systems (ERP, BW, SEM, cPro)


For BPS planning an entry for BW and SEM system needs to be maintained. Usually the SEM system is integrated in the BW system.

The entry in this customizing refers to the entry in SM59. The RFC destination to the BW system needs to be set up as documented in the following KBA:


2042908 - Set Up RFC connection from CRM to BW for BPS Planning

Planning Profile Group

Additionally the planning profiles created in BW need to be assigned to a planning profile group. The planning profile group can then be either selected by the user or can be assigned in customizing. This is defined in the following customizing:


SAP Customizing Implementation Guide

Customer Relationship Management

Trade Promotion Management

Key Figure Planning

Define Planning Profile Group


Each planning profile group may have more planning profiles assigned. The planning type defines the usage within the application.

Opportunity Specific Customizing

For opportunities the planning profile needs to be assigned to the transaction type. This needs to be done in the following customizing:


SAP Customizing Implementation Guide

Customer Relationship Management


Basic Settings

Define Transaction Types


Maintenance Dialog: Assignment of Business Transaction Categories ==> Customizing header for Opportunity Business Object

Known issues related to this customizing are documented in the following KBA:


1834913 - Opportunity Planning not working as Planning Area does not exist


Known Issues 

Missing CRM customizing

2049597 - Error Message 'System <RFC_DEST> cannot be reached raised' in Marketing Plan


Wrong BPS customizing

741512 - Common Customizing Problems in CRM Planning


Locking Issues

Locking issues related to BPS Planning are listed in the following blog:

Locking Issues with BPS planning


Decimal Issues

There are many known issues around decimals in BPS planning. Those are listed in the following blog:

Decimal Issues with BPS planning


Force Planning Data refresh in TPM


The planning data is refreshed only, when changing the planning profile group of the trade promotion. Changing the planning customer triggers a redestribution of the planning data. Even deleting a product does not reset the planning but the values get distributed over all remaining products.

If business requires a reset of the planning data on changing the planning account, the following BAdI approach will help:




* Reset planning if planning planning customer has changed

  IF cs_attributes_new-bp_guid <> is_attributes_old-bp_guid    
     AND is_attributes_old-plangroup IS NOT INITIAL.

          iv_mktproject_guid = mr_parent_mktproject->get_guid( )                  
          iv_no_check        = abap_true            
          not_possible       = 1                  
          failed             = 2                  
          OTHERS             = 3 ).




Depending on the scenario either BP_GUID for accounts, NODE_GUID for account hierarchies or TARGETGRP_GUID for target groups needs to be used.


Sorting of Products in the Planning Layout


In standard the products in the planning layout are sorted as per s per 0CRM_PROD characteristic (this takes the GUID as sorting criteria). The sort order may therefore differ from the sort order in the product assignment block in the trade promotion.


Depending on the UPX customizing the sort order can be influenced the following way:


In case a tree is used , the render takes care of the sorting - this is then sorted as per the characteristic (this uses the product guids rather than the IDs or short text). Technically this happens in CL_UPX_LAYOUT_RENDER11 method PREPARE_ROWS.


If no tree is used the BAdI UPX_LAYOUT_RENDER interface method ADOPT_PLAN_DATA  can be used to do the sorting. The following coding can be used as a template:



* Sort products
  data lt_row_index type standard table of upc_ys_api_row.
  data lt_row_sorted type standard table of upc_ys_api_row.
  data lt_row_sort type standard table of upc_ys_api_row.
  data lt_data_sort type standard table of upc_ys_api_data.
  data lt_data_sorted type standard table of upc_ys_api_data.
  data row_number type UPP_Y_ROW.
  data s_row type upc_ys_api_row.
  data s_data type upc_ys_api_data.
  field-symbols <s_row_index> type upc_ys_api_row.

  row_number 0001.

  lt_row_index xt_row.
  lt_row_sort  xt_row.

  lt_data_sort xt_data.

  delete lt_row_index where chanm <> '0CRM_PROD'.
  if lineslt_row_index 0.
    sort lt_row_index by txtlg.
    clear lt_row_sorted.
    clear lt_data_sorted.

    loop at lt_row_index assigning <s_row_index>.
      loop at lt_row_sort into s_row where row <s_row_index>-row.
        s_row-row row_number.
        append s_row to lt_row_sorted.
      loop at lt_data_sort into s_data where row <s_row_index>-row.
        s_data-row row_number.
        append s_data to lt_data_sorted.
      row_number row_number + 1.
    xt_row lt_row_sorted.
    xt_data lt_data_sorted.



Whether to use a tree or not may depend on the planning profile, and the amount of products. In case more products are used, it may be better to use trees and leave the sorting to the render. In that case the sorting may be influenced with using the BAdI UPX_LAYOUT_RENDER interface method ADOPT_XML_DOCUMENT. From there the xml that is sent to CRM can be modified.


Planning Layout not displayed


When using special characters such as '&' in the product description, it may appear that the planning layout is not displayed.

On navigating to the planning layout the error 'An exception occurred during planning processing' is raised, and the planning layout is not displayed:

2114229 Planning layout is not displayed when special characters used in text


Planning Layout cells losing focus

Cursor jumping around


The BPS planning table is implementes as Flex Planning Table (KFP Table) - the issue is probably a framework issue, and may be related to the browser used. If this issue happens in Internet Explorer, this may not necisarrily happen with any different browser such as Chrome. To bring the SAP Web UI Framework to the latest version the following notes are required:


2278248 - Fix flickering when the flex send a message

2264841 - Flex Planning Table: Wrong focus on Tab or Enter Key

2209501 - Flex table doesn't refresh with IE11

2068806 - FocusManger Exception: Tabbing in KF Planning Values

2013202 - Internet Explorer 11: Cellerator input focus issues


After implementing the notes the browser cache needs to be refreshed - as per the following note:


2050322 - Clearing Caches



Analyzing Tools


Runtime Analyzes


Feature for logging time spend in different commands when calling function UPX_KPI_API_XML


Logging Feature in CRM BPS Integration



  • No labels