Skip to Content

Modelling Utilties Products using PMU and BRF+ Rules


There have been some articles (cf. Recommendation for Utilities when Upgrading to SAP CRM 7.0 EHP3 and Recommendation: For utilities products (like electricity, gas, …) SAP strongly recommends to use PMU instead of PME!) in the SAP for Utilities space lately that recommend using the Product Modeling for Utilities (PMU) for product modelling in SAP CRM 7.0 EhP3. However, as with every new SAP feature, there is hardly any good documentation or even a tutorial available. In my opinion the documentation on the help portal (Product Modeling for the Utilities Industry – SAP Library) is only understandable if one has gone through the complete process of modelling a product at least once (including some debugging). Therefore, this blog aims to give a overview of the customizing necessary to use the PMU and also provides a simple example showing some of the available features.

Key Features

Besides the recommendations by SAP to use the PMU for product modelling, there are some key features that justify the effort to switch to the PMU. In my opinion these features are:

  • Product versioning and product transports
  • Product components
  • Modelling attribute visibility, default values and value helps using BRF+ rules.

The possibility to transport utilities products is a significant improvement over the manual creation of products in different systems. Together with product versioning this features enables a product modeling process similar to a software development process. In order to use the product transportation feature the business function CRM_UT_PROD_TRANS needs to be enabled.

Product components enable the grouping of certain product features into building blocks. These building block can then be used to model concrete products. For example, different features defining the contract duration could be grouped together and reused in all products that define a certain contract duration. Finally, the usage of BRF+ rules (Business Rule Framework plus) enables the flexible definition of attribute visibility, default values, value helps etc. without the need for custom development.

Basic Customizing

In order to being able to use the PMU and BRF+ rules for modelling products some basic customizing needs to be performed.

Product Categories

The first step is the creation of the required product categories and hierarchy in transaction COMM_HIERARCHY. Creating these hierarchies is usually quite cumbersome. Therefore, SAP provides the transaction CRM_ISU_PRODHIER that is able to create the required categories and hierarchies automatically. However, if there is already a product hierarchy defined in the system (which is usually the case) you will most likely need to create the required categories manually. The following screen shot shows the categories and hierarchy that is created by transaction CRM_ISU_PRODHIER.

2014-09-27 21_45_55-CFD(1)_100 Create Categories and Hierarchies for Utilities Products.png

Utilities Products and BRF+ Applications

The next step after creating the product hierarchy is to maintain the BRF+ applications required for the PMU. In order to understand the relation of BRF+ applications and product modelling it is important to understand the building blocks of utilities products in the PMU. As shown in the following image (source a utilities product consist of:

  • a product header
  • product attributes, possibly organized in attribute groups
  • modelling components
  • package components, possibly organized in component groups.


Using BRF+ rules, different properties of these building blocks can be controlled. For example, the following properties can be controlled for product attributes:

  • presentation control
  • help texts and checks
  • value helps
  • value determination.

In order to define e.g. a dynamic value help for a product attribute, a BRF+ rule that returns the possible values needs to be created and assigned to the attribute.

In general each BRF+ rule needs to be created as part of a BRF+ application. In the context of the PMU these applications are defined using the customizing view CRMV_ISU_BRF_APP. This customizing view is also available in SPRO at the following location: Customer Relationship Management -> Industry-Specific Solutions -> Utilities Industry -> General Settings -> BRFplus Integration -> Maintain Utilities BRFplus Applications. The following screen shot shows the customizing view CRMV_ISU_BRF_APP.

2014-10-04 18_30_11-CFD(2)_100 Change View _Utilities BRFplus Applications__ Overview.png

Each BRF+ application is assigned to an application usage. The application usage defines which types of rules can be created in the PMU. For example, in order to being able to define dynamic value helps a BRF+ application of the usage type “CV” needs to be created. Currently the following usage types are available (cf. the image of the building blocks of utilities products to see which application usages control which parts of a product) :

ID Application Usage
CC Component Conditions
CD Dynamic Value Determination
CG Attribute Group Presentation Control
CI Help Texts and Checks
CR Attribute Presentation Control
CV Dynamic Value Help
DC Detailed Comparison Attributes
HD Defaulting of Header Values
PA Product Actions
PD Price Determination
PL Product List
PM Price Determination Manager
PV Product Eligibilty and Compatibility

Besides the application usages also the storage type for the BRF+ application needs to be defined. In the examples I choose customizing as the storage type. After defining a BRF+ application it also needs to be generated using the “Generation” button. Once the application is generated it is possible to define BRF+ rules in the PMU.

Activating the BRF+ Rule Editor

The final customizing step is to activate the BRF+ rule editor for the utilities industry. In order to enable this rule editor the SICF service IU_BRF_OBJ_WRAPPER – Utilities BRFplus Object Wrapper needs to be activated. Once this service is active all necessary customizing is in place. The next step is now to model a example product using BRF+ rules.

Modelling an Example Product

The example product that I will create for this blog will contain two attributes, the product variant and the contract duration. The toy business logic for these two attributes will be the following:

  1. Product Variant
    • There will be three product variants: Basic, Standard and Premium.
    • The product variant Standard will be the default value
  2. Contract Duration
    • The contract duration will not be editable, it will instead depend on the product variant.
    • The contract duration for the product variant Basic will be 1 Month, for Standard 12 Month and for Premium 24 Month.

Defining Product Attributes

The first step is to define the product attributes. While there are different possibilities to define product attribute, SAP recommends to use the Simplified Configuration Attributes for this purpose. Simplified Configuration attributes are maintained in SPRO at Customer Relationship Management -> Industry-Specific Solutions -> Utilities Industry -> Product -> Simplified Configuration -> Maintain Simplified Configuration Attributes.

2014-10-04 20_04_44-CFD(2)_100 Change View _Available Fields__ Overview.png

To model the two product attributes I create two configuration attributes, Z_CONTRACT_DURATION and Z_PRODUCT_VARIANT. For both attributes the visibility was set to product. The visibility defines when a attribute of the simplified configuration in visible in a contract. If the visibility is set to product, the attribute is only visible if it was assigned to the selected product. Note, that the check box “BRF+ Relevant” is set to true for the attribute Z_PRODUCT_VARIANT. The reason is, that the value of Z_CONTRACT_DURATION is dependent on the value of Z_PRODUCT_VARIANT. Therefore, the value of this attribute needs to be added to the rule context so it can be used within the value determination for Z_CONTRACT_DURATION.

Product Modelling

After creating the attributes the next step is to model the utilities product. The product modelling tool is started by selecting Sales Cycle -> Utilities Products in the role UTIL_SALES. In the following screen clicking the button “Utilities Product” creates a new product.

2014-10-04 20_13_04-Home - [SAP] - Internet Explorer bereitgestellt von Ihrer regio iT.png2014-10-04 20_15_32-Search Utilities Products - [SAP] - Internet Explorer bereitgestellt von Ihrer r.png

On the Create Product screen first the product role needs to be selected. For the example product Z_EXAMPLE_PRODUCT I selected Saleable Product. The Category-ID needs to be one of the categories created during basic customizing. In the case of a saleable product the required category is ISU_SALES. Finally, the Item Category Group for the example product is IS-U Retail.

2014-10-04 20_36_57-Create_ Product - [SAP] - Internet Explorer bereitgestellt von Ihrer regio iT.png

The final step in modelling the product is to assign the product attributes to the product. Attributes are added to products using the Select Attributes screen. In this screen the available attributes are shown on the right hand side. Besides adding an attribute it is also possible to change the position of an attribute as well as to add the attribute to different groups.

2014-10-04 20_38_45-Select Attributes - [SAP] - Internet Explorer bereitgestellt von Ihrer regio iT.png

BRF+ Rule Modelling

Once the attributes are added to the product it is possible to define the BRF+ rules to modify the different properties of the attributes.

First I will model the properties of the Z_PRODUCT_VARIANT attribute. To do so, I define the default value for the product. After that I create a new rule for the dynamic value help.

2014-10-04 20_40_18-Utilities Product_ New Z_EXAMPLE_PROD, Version 0001 (In Process) - [SAP] - Inter.png

The rule I created is of type decision table. The following screen shot shows the final decision table. Its a simple table returning the value help consisting of the values BASIC, STANDARD and PREMIUM. After filling the decision table the rule needs to be checked an activated. Furthermore, it is also possible to simulate the rule execution using the button “Start Simulation”

2014-10-04 20_47_42-BRFplus Rule Editor_ Value Help at product Z_EXAMPLE_PROD_attribute Z_PRODUCT_VA.png

Next I modelled a rule of type “Dynamic Value Determination” for the attribute Z_CONTRACT_DURATION. In order to access the value of the attribute Z_PRODUCT_VARIANT in the rule, the attribute first needs to be added to the rule context.

2014-10-04 20_51_24-BRFplus Rule Editor_ Default Value at product Z_EXAMPLE_PROD_attribute Z_CONTRAC.png

After adding the attribute to the context I created the decision table shown below. Additionally, I set the changeability of the attribute to read only.

2014-10-04 20_54_16-BRFplus Rule Editor_ Default Value at product Z_EXAMPLE_PROD_attribute Z_CONTRAC.png

Once all rules are activated and the changes to the product are saved it is possible to simulate the product using the “Simulate” button. The next screen shot shows the simulation of the example product. The value help for the product variant contains the three entries BASIC, STANDARD and PREMIUM. Once the value of product variant is set .g. to BASIC, the contract duration is automatically changed to 1.

2014-10-04 21_13_48-Utilities Product Z_EXAMPLE_PROD, Version 0001 (In Process), 04.10.2014 - 31.12..png

The example product can now also be used e.g in the move in process. If the example product is selected, the product configuration looks like shown in the following screen shot. Again the value help for the product variant only contains the specified values and the contract duration is automatically calculated based on the product variant.

2014-10-04 22_07_49-.png
Additional Information

While introduction information regarding the PMU and BRF+ rules are not available the following links (which I found via Christiane Voigtmanns document Key Topic: SAP CRM for Utilities) provide helpful additional information:


After the initial customizing is in place modelling utilities products, consisting of product attributes and the corresponding business logic, is quite simple. Hopefully this blog provides a helpful introduction to the overall process.


You must be Logged on to comment or reply to a post.
  • Hi Christian,

    Thanks for this blog.

    I have facing an issue in defining product attribute in spro. I have some attributes for which text of values are more than 60 characters so instead of defining values at domain lvel i had to create value table for domain and define it their.

    now i dont see dropdown for these attibutes on UI.

    Is there any way to define table name for this.



    • Hi Madhumati,

      sorry I don't understand the problem you are facing. Could you please describe the problem in more detail, maybe using some screen shots?

      I'd also suggest that you create a discussion thread for this question and link to it in a comment.



  • Hello Christian,

    Well documented with customization steps and screen shots.The e.x. which you have taken is very simple and easy to understand, on similar lines to variant configuration in the sap ecc module.

    Kind Regards


  • Hello Christian ,

    Thanks a lot for the nice blog.

    However I have 1 question to you , if we have already configured the products in earlier releases of CRM ( e.g. CRM 5.0 or CRM 7.0) can you give us any insights/ pointers how we can upgrade it to PMU ?



    • Hi Sagar,

      how did you configure the products in the earlier releases? Did you just create the products (e.g. using transaction COMMPR01) or did you use something like the PME to model the products?


        • Hi Sagar,

          sorry, I have no experience with upgrading those kind of products. However, I'd expect that there is no simple way to upgrade the products. I guess your only option is to remodel the products.

          Try asking the question again in the forum of theSAP for Utilities space. Maybe some else has some experiences in that area.


  • Hello Christian.  Thank you for the blog.  I'm attempting to step through it and have a question regarding customizing view CRMV_ISU_BRF_APP.  It appears the first three are standard entries.  I see the generate button beside them.  Do these require "generation" before they are useful?  I attempted to select the generate button for each of them, not knowing any better, but I get a pop-up stating generation is not possible.  Makes me wonder if either the generate button is not necessary for these or I have some preliminary setup not in place yet.  Any thoughts?



    • Hi James,

      you don't need to generate the applications for the first three entries.

      AFAIK these are very basic sample applications. Therefore, you would only need to generate them if you want to have a look at the content.

      Regarding the generation error. It might well be, that you are still missing a configuration. Try to create a custom application and generate it. If you still get an error could you please post the detailed error message?


  • Hi Christian,

    Thanks for this blog. I am working in a project where we will use SAP NetWeaver Decision Service Management (mandatory with Utility product transport). When generating the application, which storage type should be selected as DSM is used to manage the applications?

    Best regards,


    • Hi Lauri,

      unfortunately I have no experience with DSM so far.

      However, from how I understand the different storage types I think "customizing" would be the correct storage type to choose.


  • Hi Christian,

    While going through your blog , I had 1 question.

    For the scenario that you have described in your blog , is it possible to explain how you can integrate the values with MDT for replication to ISU ?



    • Hi Sagar,

      the attributes of the simple configuration are available in the container of the MDT. There is no additional configuration necessary for this. In the MDT you can therefore simply access the configuration attributes usual methods.


  • Hi Christian,

    As per your blog I executed CRM_ISU_PRODHIER to create a hiererachy & I see that it got created similar to your screenshot of COMM_HIERARCHY.

    But when I goto Web_UI UTIL_SALES role , I see that the Reference Product option is not available. Exactly similar to your Screenshot of Utilities Product Creation Screen.

    Do you think the hiererachy is incorrect ? I tried moving up 1 level ie not below ISU_MODULE but below ISU_MODEL. But it did not work.

    Can you help me ?



    • Hi Sagar,

      l'm pretty sure the product hierarchy is correct.

      I'm not sure why the option to create a reference product is not available. Haven't try to use this feature myself so far. Maybe try to debug the product creation screen to see why the option is not shown.



      Hi Sagar,

      i was in similar situation. I got know that solution is table CRMV_PRODROLECAT, in SPRO you can find it in  CRM - Master Data - Products - Settings for Packets - Assigning products roles to category . In this table you need to add line with  name of your hierarchy , ID category from hierarchy and product role. For example: PRODHIER / ISU_REFERENCE / Reference product for Utilities.


  • Hi Christian,

    Thanks for this blog. ı am new CRM consultant. I tryed to pmu. But ı have a question. My system ehp3 also attribute maintenance as you see below not see brf+ check box. 

  • Hi Ömer,

    I forget to mention in the blog that certain business functions need to be activated. In order to use the BRF+ rules at least the business function CRM_UT_ER_3 needs to be activated. Furthermore, CRM_UT_PROD_ENH_1, besides other functionality, adds some features the the BRF+ editors. Finally, CRM_UT_PROD_TRANS is required if you want to use the product transport feature. However, the usage of the product transport feature also requires DSM (Decision Service Management). For DSM an additional license is required.

    Hope this helps,

  • Hı, Christian,
    Thank you for your help.I've done the steps before you said.But the result is still the same.Are there preprocessing to use the product simulation on the web side?

  • Hi Ömer,
    What is the exact error message that is raised (message number and message class)? Without further details it's hard to identify the root cause.

  • /
    • Hi Ömer,

      Seems to be a problem with your process customizing.

      The only thing i can suggest you here is to search for corresponding SAP nots or debug the code that raises the error message.



  • It Is really very informative . Got a good enough idea about configuring Product Model in ISU .

    But Christian ,I have a query ? If we want to configure Pricing in Product Modeling for the Utilities Industry (PMU) using BRF+ , How we can do it ?

    1. First Do I need to add this PD - Application usage in Customer Relationship Management -> Industry-Specific Solutions -> Utilities Industry -> General Settings -> BRFplus Integration -> Maintain Utilities BRFplus Applications. The following screen shot shows the customizing view CRMV_ISU_BRF_APP.


    2)      If we add that PD ( Price Determination )  Application usage in BRF+ Rule Modelling

    ,       Are we get a tab like CD ( Dynamic Value Determination ) and CV ( Dynamic Value Help )  in          Product modelling ??


    3) Again , If I want to achieve Pricing through Price Source Procedure , How will I do it ? I read quite a few docs but Not sure , how to go about it . I read as

    • Price Source Procedure
    • If you choose this option, an additional field appears in which you can select one of the price sources that has been maintained. The BRF plus function generated from this contains a procedure call for the static methodCL_CRM_ISU_PRC_MGR=> CALL_PRICE_OBJECT_STATIC( ). The system provides the IV_PRICE_SOURCE parameter with the price source selected. No additional BRF plus activity is required here, since Pricing is transferred from the ABAP class that corresponds to the price source.

    IS it good enough , Christian ??


    If I am wrong , Can you share some of your valuable thought regarding Pricing mechanism in PMU and PFC .

    • Hi Sanjeev,

      I've never configured pricing myself so I can't give you detailed advices on this. Maybe the following comments nevertheless help.

      First Do I need to add this PD – Application usage in Customer Relationship Management -> Industry-Specific Solutions -> Utilities Industry -> General Settings -> BRFplus Integration -> Maintain Utilities BRFplus Applications.

      Yes, you definitely need to do this. Only if you add the PD application you have an application in the BRF+ modeller to add you pricing functions to.

       If we add that PD ( Price Determination )  Application usage in BRF+ Rule Modelling, are we get a tab like CD ( Dynamic Value Determination ) and CV ( Dynamic Value Help )  in Product modelling ??

      This I haven't tried myself so I don'T know. Simply try it out in your test system. Best would be to post your findings here afterwards ?.

      Regrading your 3rd question. I never tried this myself. However, once you are in the ABAP world you can always call any BRF+ function from there. You could, e.g. create a simple decision table for your pricing and execute this as part of the generated static method. BRF+ provides a code template that generates the required code to invoke the BRF+ functions you collided from ABAP.


  • Hi chris,

    We are trying to immplement Product packages for our client.Can you post some inputs on how a  package can be created,used end to end for Non utility and utility products.I have refered the available cookbooks but E2E scenarios are not covered.




  • Also Chris,When am in UTIL_SALES role-->create Utility Products--->I  dont see any radio button to choose Packages..I cna only see Saleable Product,Product module ,Reference product and PDO.We are in EHP3

    • Hi Raj,

      have you seen this document?

      It contains links to further documentation.



  • Thanks Chris and a very happy new year as well .Its the same cookbook which I have already referred which lacks a but of more information.

    However I can see SAP NOTE 2047982 which has a report  to perform a POC on the packages but also has a pre-requisite 2551796.


    But  there seems to be a bug in 2551796.Either way is there any vedio which can be created and shared in Service market pls.It wil be of great benefit for some one who would like to know abt Packages.




  • Hi Christian,


    In CRM under "Products-->Settings for Packages",I have maintained an entry w.r.t Hierarchy and Caetegory id to Product role Sales package and i am able to see in UTIL_SALES a new product role "Package" as a radio button appearing.

    But when I enter the Package name and proceed,the successive screen does not come through.Is there any further configuration which I need to check to .Pls share.





    Thanks  Christian for the reply .

    1) If I want to further extend the Product modelling , say u have 3 Product  , Basic , Standard and Premium ( Eco Friendly ) like the way you showed .

    We have added 1 set type as  BUDGETBILLING . .
    This set type contains two configurable attributes for entering budget billing cycle and budget billing amount . Cycle as 1 month , 12 month and 24 month same as you showed  and BB Amount as 10 $ , 125$  and 200 $  .

    and we have Discount  Attribute and Value as 0 & , 10% and 20 % .

    If I select Basic , it should show us Value as 1 month , 10 $ and NO Discount .

                   Standard , It should show Value as 12 month , 125$ and 10% discount .

                   Premium it should show Value as 24 month , 200$ and 20 % Discount.

    How do we achieve this other 2 Values determination ?

    We will use DYNAMIC VALUE HELP (CV )  for the Product Basic , Standard and Premium and modelled a rule of type “Dynamic Value Determination ( CD )” for the attribute Z_CONTRACT_DURATION as 1 ,12 and 24 months respectively .

    How will I model the BUDGETBILLING and DISCOUNT attribute ?

    2) Again , How do we integrate Pricing . As I know that Product is modelled in SAP CRM and Rate Category is modelled in ISU and through MDT its modelled .

    Do you have any documentation on this . Can you throw some light on this .