Skip to main content

SAP CRM: Steps to create new pricing condition type

Submitted by Stefan Barsuhn on

First of all, this blog contains some of the steps required to configure pricing. But in case it goes away, I'm listing the steps here as well.

First item of note is that not all the steps in the blog are actually required, e.g. if your access sequence does not use product, you don't need to maintain anything at the product level. And some of the steps were missing (at least in my case).

The general steps to add a new condition type (assuming pricing is otherwise already set up):

  1. Create new condition type (SPRO -> Customer Relationship Management -> Basic Functions -> Pricing -> Define Settings for Pricing -> Create Condition Types
  2. Add condition type to pricing procedure (same level, Create Pricing Procedure)
    1. Note: The assignment of pricing procedure to business transaction is done via transaction type customizing (one level up, Pricing in the Business Transaction, Assign Document Pricing Procedure to Transaction) -> transaction type -> Assignment of Business Transaction Categories -> Sales -> Customizing header -> Document Pricing procedure
    2. This document pricing procedure is then used in "Determine Pricing Procedures" (same level) to determine the "Procedure" using the Sales Org Data as well
    3. The "Procedure" is the entry which you need to pick in Create Pricing Procedure  
  3. Adjust Maintenance Group (SPRO -> Customer Relationship Management -> Master Data -> Conditions and Condition Technique -> Condition Technique: Basics -> Create Maintenance Group
    1. Note: The order here is not important, so just add the conditions to the end, the pricing procedure (previous step) determines the order seen in the transaction
  4. Next check which Maintenance Context your Maintenance Group is assigned to (I have to admit, I'm not sure how the Maintenance Context is determined as we didn't have to change this in our system). You can do that in Define Maintenance Groups for Context on the same level. Usually, it will be GCM (General Condition Maintenance).
  5. If your context is GCM (not sure about the others), you have to go to to transaction /SAPCND/GCM. Now this is one of your very unintuitive SAP screens, so here's what you need to do:
    1.  On the first screen, enter you maintenance group and hit F8:
      image 22
    2. Select Condition Type and press the little box above:
      image 23
    3. Enter an asterisk in the condition type and hit F8:
      image 24
    4. At the end of the list that you see, there's an empty line in edit mode. Use the F4 help to select the condition type you want to add:
      image 25
    5. Maintain all the other parameters in the row, taking previous entries as an example.
  6. That's it. At least in our system it was enough to display the new conditions.

Notes:

  • In case you are trying to debug conditions, you won't have a lot of success as all the conditions are calculated in IPC. You can do a where-used on function modules SPC_PERF_GET_PRICING_CONDITION (loading of pricing conditions) and SPC_PERF_ADD_PRICING_CONDITION (changing of pricing conditions) to see where IPC is called. But you can't debug into these modules.
  • The conditions maintained in transaction /SAPCND/GCM are not transported. This means you need to maintain them directly in production after importing your new condition types.
  • Your new condition types will only appear in transactions created after changing the /SAPCND/GCM. For existing transactions you can add the condition manually via "Add"
    image 26

Tags