Downtime Announcement: Please note the SAP Community Wiki will be unavailable due to a system upgrade on Thursday, September 24th between 6 and 7 AM CEST
Skip to end of metadata
Go to start of metadata

A CRM trade promotion may generate different types of conditions. Depending on the trade spends a trade promotion will generate price determination relevant conditions such as pricing conditions (PR), rebate conditions (BO) and free goods conditions (FG). This page contains information about PR conditions only.





Pricing Conditions are used in the off-invoice scenario to give a certain discount to the customer when buying the promoted goods. That can be a fixed amount per case (10€ off per sales unit) or a percentage value (2,5% off). The discount is applied on the invoice, the discount is therefore applied in advance. The discount is driven by the trade spend type used. Off-Invoice Trade Spends create condition records from type PR.


The sample promotion contains different trade spends and shows the PR conditions created.

For each trade offinvoice trade spend a seperate PR condition record will be generated.


In case there are exceptions maintained for the products the PR conditions are generated accordingly.

It is therefore possible that several PR condition records are generated for a single product in the trade promotion. This is depending on the product exceptions.


The spend value is taken from the trade spends. There are two different scenarios:

  • CRM rates: In case of CRM rates the spend value is stored in CRM on trade spend level. The values can be edited in CRM using the trade spend assignment block.
  • BI rates: In case of BI rates the spend value is stored in BW only. The values need to be entered in the planning layout of the trade promotion. The trade spend assignment block won't show the values at all.


PR Conditions Generation


Usually PR conditions are generated when releasing the TP. PR conditions ca also be generated manually using the 'generate conditions' button. Using the 'generate conditions' button the PR conditions can be re-generated again after any changes were done to the trade spends.

Using the 'generate conditions' button the conditions are generated or re-generated for the selected trade spend only.


When PR conditions are generated the product assignment is validated against the master data. This happens in the call of

cl_crm_mktgs_prod_assign=>reeval_mass_assign. In case the master data got changed conditions cannot be generated and the following error is raised:


CRM_MKTPL_COND_IF 077 Pricing conds not maintained successfully; status change cannot be saved


In that case the PMDC report needs to be used to correct the product master data. Please find further information about the PMDC in the following wiki page:


PMDC report in CRM Trade Promotions




Status Dependencies



There is the following design based on the status of the trade promotion:

  • Status CREATED: In status created PR conditions can be generated manually only using the 'generate conditions' button.
  • Status RELEASED: On releasing a trade promotion the PR conditions are automatically generated.
  • Status LOCK, CANCEL Locking or cancelling a trade promotion deletes the PR conditions. The condition records are not deleted physically but get the deletion flag assigned, and cannot be used.
  • Status UNLOCK, UNCANCEL Unlocking or undoing the cancel status will activate the PR conditions again that are flagged for deletion.
  • Status FINISHED Finishing a trade promotion won't affect the PR conditions, the conditions are still valid.


PR condition records are updated automatically when changing the trade promotion execution dates, or when changing the product or trade spend validity.

When the trade promotion execution period gets changed the PR conditions get changed automatically.


When having product effective dates, chaging the trade promotion date is not changing the Pr condition dates. Those are still created based on the product effective dates.




When changing the spend value or maintaining any product exceptions for a released trade promotion the the PR conditions need to be re-generated manually.


PR conditions are deleted by one of the above mentioned status. Additionally the conditions are deleted when deleting either the product or the trade spend. This is however prohibited for active released trade promotions, so is allowed either for not yet released or for future dated trade promotions only. PR condition records are not deleted physically but get the deletion flag assigned.

The PR conditions can be deleted manually as well. This happens when using the 'delete' button from the Discounts assignment block. This function can be used to delete the individual PR records manually:


Retroactive Trade Spends


A past dated trade promotion (with having the end date earlier than today's date) has so called retroactive trade spends assigned. With having business function CRM_TPM_1 activated it is controlled via the customizing whether it is allowed to process retroactive trade spends. There is a check if off-invoice trade spends exist in the trade promotion. When off-invoice trade spends with dates in the past already exist, there is the following customizing:


  • Retro-Active Trade Spend Allowed
    • Past dated off-invoice trade spends can be added
    • Products can be added for past dated trade spends
  • Retro-Active Trade Spend not Allowed
    • Off-invoice trade spends with dates in the past must not be added or processed
    • Effective dates for products that are in the past must not be added


The design is documented in the following KBA:


2181744 - Error "Cannot add or modify retroactive off-invoice trade spend "in Trade promotion with Retroactive Dates





CRM or BI rates


In the following customizing it needs to be defined wheater CRM or BI rates are used.


Customer Relationship Management
Trade Promotion Management
Basic Data
Define Rates' Origin

This customizing defines where to maintain the spend values.


Trade Spends


In the following customizing is required for defining the trade spends that are to be used in the trade promotion.


Customer Relationship Management
Trade Promotion Management
Trade Promotions
Trade Spends
Define Trade Spends for Values



The customizing defines the possible spend type, spend category and spend method. This customizing holds the mapping to the key figure used in the planning layout.


Using the 'Relate Date Range' maintenance dialog any of the additional date range can be used as condition dates.


Condition Generation Customizing


The condition generation is depending on the condition generation type. The condition generation type is mapped to a the trade promotion type and the sales organization, distribution channel and division data. The mapping is done in the following customizing:


Customer Relationship Management
Trade Promotion Management
Trade Promotions
Condition Maintenance
Assign Condition Generation Types


The PR conditions customizing is linked to the condition generation type and needs to be maintained in the following customizing:


Customer Relationship Management
Trade Promotion Management
Trade Promotions
Condition Maintenance
Define Condition Generation


The PR specific customizing is available in the 'Pricing Condition Types' dialog.


This contains a mapping from the trade spend type, spend category, spend method to the condition type. The condition type from usage PR are off-invoice conditions.


The 'Conditions Table' dialog holds the mapping for the account dimension and product dimension to the condition table that is used for generating the PR records.


Condition Types


The condition types are available in the following customizing path:


Customer Relationship Management
Basic Functions
Define Settings for Pricing
Create Condition Types


The condition type stores the information about the conditions to be generated. For Pr conditions the most important information is the calculation type. The calculation type specifies how the system calculates the conditon value. For PR conditions this is either a fixed amount per quantity or a percentage value.


Condition Tables


The condition tables are available in the following customizing path:


Customer Relationship Management
Master Data
Conditions and Condition Technique
Condition Technique: Basics
Create Condition Tables


The condition table contains the combination of fields used for the coniditons generation.


Retroactive Trade Spends


The following customizing enables for trade promotions created in a specific sales area:


Customer Relationship Management
Trade Promotion Management
Trade Promotions
Trade Spends
Define Sales Areas for Off-Invoice Check






The BAdI CRM_MKTPL_COND_IF provides method CHANGE_WORKING_SET_PR to modify the PR condition records while creation. This may be used to change or add addional attributes.


Additional Information



Depending on the account dimension of the trade promotion the PR conditions can be created on sold to level, or on account hierarchy or target group level. The same is defined by the condition table used.


Some PR condition records may not include the account field at all, these condition records require the campaign ID instead. The conditions are then identified and applied when the trade promotion is determined using the CD records. This is the case for short term trade promotions.

In this case there is no account information included in the PR record, but due to the condition type used the TP guid is available on the PR condition record.


Pricing Conditions can never be generated without spend value assigned. The conditions generation is failing with the following error messages in that case:


No data for condition generation available for &1, &2, &3. [CRM_MKTPL_COND_IF 109]

No data for condition generation available [CRM_MKTPL_COND_IF 044]


Using report CRM_MKTPL_COND_IF_R002 PR conditions for trade promotions can be created from the backend.


Known Issues


There are some known issues that should be solved with the following SAP notes:


Conditions cannot be generated due to overlaping condition records

Date Shift not working


There is an issue happening for long term trade promotions - for trade promotions without having campaign determination records and without having the campaign guid available as field in the underlying condition table. Whenever there are similar conditions existing that were deleted earlier (technically got the deletion flag) conditions cannot be generated properly on releasing the newly created trade promotion, nor on shifting the trade promotion dates. The reason is an overlap issue with the existing deleted condition records.


The deleted condition records may come from old 'finished' ttrade promotions. Those deleted records should not be considered in the overlap checks.


The issue can be solved with implementing BAdI /SAPCND/MNT_CHK_R3C.


Using the following filter settings:


Appl.     = CRM

Usages    = PR

Cond.Type = *

Table     = *

MaintCont = 'CAMPAIGN'


The interface method PREVENT_PROCESSING_DELETED_WSI needs to be implemented - the following can be taken as a template:



* By default method was executed and everything was ok

  e_was_executed = ctcus_true.

e_result       = 0.


* TP excludes deleted condition records from processing

* Overlap check will not take deleted records into consideration

e_is_processing_allowed = ctcus_false.




Error on generating conditions


2195430  Not able to generate conditions: infinite loop

2074961  Error in condition generation when BO and PR trade spends exist and one has conditions at customer level

2035429  In Trade Promotion, when generating conditions, if trade spend value is 0, in certain circumstances no error message is triggered.

1901912  Condition generation errors


Error on changing TP status


2145334  Run time error while closing long term Promotions


Error on shifting TP dates


2064219  In Trade Promotion, changing the Effective To date of a product category change the 'TO' date of all product category condition records

1999452  Dates in campaign determination record not adjusted when campaign dates are changed

1644003  Cannot change End Date of a released Off-Invoice Promotion


Amount issues with BI rates


When using BI rates the decimal settings in BPS planning need to be considered as well - the set up is documented in the following blog:


Decimal issues in BPS Planning for CRM Marketing Objects




  • No labels