5.1.5.  Set Restrictions for assigning Attribute Sets and Attributes


This topic elaborates the functional use of Marketing attribute sets and Marketing Attributes and how you can set restrictions via authorizations. Attribute sets and attributes –Functional info

This chapter illustrates what marketing attribute sets and marketing attributes are, what they are used for and how you can create and assign them to one or more business partners in your system.      What?


The first thing you need to know is what marketing attribute sets and attributes are.


An attribute set is used to group attributes created specifically within CRM Marketing together for a marketing-related purpose. Each attribute set therefore contains those attributes belonging to a business partner that are relevant for the purpose/application at hand.



Attribute sets are used in applications such as CRM Internet Sales and CRM Telesales. In Internet Sales, they record marketing attributes for all business partners visiting Web shops, enabling the business partner to be assigned to a marketing profile. In CRM Telesales, they can be used to profile Telesales agents.


An attribute is a criterion used to describe an object.

Attributes with the following sources can be used for business partner segmentation in CRM Marketing:

1.                           Business partner master data, for example "age", "gender", "address"

2.                           BW master data/transaction data, for example "number of purchases per month"

3.                           Attributes created especially in CRM for marketing purposes, for example "hobbies". Such attributes  

                         are combined to create attribute sets.      How can you create them?


In the SAP menu in CRM (if you do not see the same menu, you can add the CRM_MENU in your SAP User account as default) you can create and display attribute sets and attributes using the following path:


SAP Menu à Marketing à Segmentation of business partners à Marketing Attributes MAINTAIN/CREATE ATTRIBUTES


Launch the transaction code CRMD_PROF_CHAR to have a look at how these attributes are configured.


The first thing you will see is the locator.


Here you can search for attributes based on several criteria such as description, data type and name.


You can also create new ones using the “create attribute” or “create by copying” buttons.




In this section you will learn how to create a marketing attribute.

Use the transaction code CRMD_PROF_CHAR to maintain/create new attributes.


In order to create a new attribute, press the button “create attribute”.

Creation of first attributes relevant for bookstore Amazon


- Create attribute  “Genre”

-         Create attribute “Author”


        - Create Attribute “PRICE”


Creation of attributes for HerbaLife


I will only create two attributes for this case, since the purpose is to illustrate how we can restrict authorization for maintaining attributes and attribute sets for a business partner.


-         Create Attribute “Gender”

      -    Create Attribute “active sports”


For classification purposes you will next group attributes for which you decide that they logically belong together into an attribute set. MAINTAIN/CREATE ATTRIBUTE SETS


Launch the transaction code CRMD_PROF_TEMPL and have a look at how these attribute sets are configured.


Again you will see that the locator for this Object is launched.

In my example I will group together the attributes I created for both Amazon and HerbaLife.


To create a new attribute set, press the button “create Attribute Set”.


A)    Create the attribute set for customers of Amazon

You can see I assigned the three attributes I created to this attribute set:

-          GENRE

-         AUTHOR

-         PRICE_CAT


Furthermore, since I only want this kind of information to be assigned to Persons, and not organizations, I removed the “flag” for organizations.


Next, I also maintained the field “Maintn” which corresponds to the field BGRKP (relevant for authorization object C_KLAH_BKP) with the value “AAA” and the field “assign” which corresponds to the field BGRKL (relevant for authorization object C_KLAH_BKL) with the value AAA.


B)    Create the new attribute set for customers of HerbaLife.

For this Attribute I maintained the Value “BBB” for both BGRKP and BGRKL.


Authorization specific fields on this screen are:


-         Class Maintenance Authorization Group (C_KLAH_BKP) - BGRKP

-         Classification Authorization Group  (C_KLAH_BKL) - BGRKL

Class maintenance authorization group

Authorization key that determines whether a user is allowed to maintain this class.

This authorization must be defined in the user master record. The authorization object is BGRKP.


Classification authorization group

Authorization key: determines whether a user is allowed to assign objects to this class.

This authorization must be defined in the user master record. The authorization object is BGRKL. Assignment of Attribute sets to Business Partners


You can do this by launching the transaction code CRMD_PROF_BP.

Again the locator for this process is launched.


You can first search for an attribute set, select it and next choose the business partner to assign it to.


Example: Search for the attribute set we just created “Z_AMAZON”.

By double-clicking on an attribute set, you get the following screen:

Now you can go into change mode and maintain the attributes within this attribute set for this specific customer.

By double clicking on an attribute you will see the possible values you can maintain on the right hand side of the screen.


Maintain for each attribute a value(s).

You will see that per value you maintain, a line with the combination Attribute-Maintained value will appear on the left side of the screen.

After having maintained the necessary attribute values, save the changes.

Now you can check if the assignment of this attribute set, and the maintenance of the attributes has been processed. Launch the transaction code BP (maintain business partner) and select the business partner 100016113.

Next, select the tab page “Marketing attributes”.

You can clearly see that the attribute set Z_AMAZON has been assigned to this business partner. If you look more detailed at the attribute values, you can also see that those are the ones I maintained and belong the attribute set Z_AMAZON.


By double clicking on the name of the attribute set, you will display the maintained attribute values, which belong to this particular attribute set.

If you would have pressed the “create assignment” button, you would directly go to this screen, and could have selected the business partner and attribute set using the Input Help function.


So far we have seen one way of assigning and maintaining an attribute set for a specific business partner.  Another way of performing this action is by directly assign an attribute set on business partner level (assuming you have the right authorizations for this action).


Launch t-code BP, go to the marketing tab.


Example: I will assign the attribute Set Z_HERBALIFE to the customer 100016113.


If you are in change mode, you should be able to see the different existing attribute sets that are available. By selecting Z_HERBALIFE and pressing the button “assign attribute set” you will see that it will be added in the list.


Next you can maintain values for the different attributes within this attribute set.

By double clicking on the line of the attribute, you will get a popup with “possible values” if they are maintained on the level of the attribute. Authorization Setup


To grant different users authorization to maintain attribute sets, in the transaction PFCG, you assign the appropriate three-digit attribute set key under the authorization group BGKRL to the authorization object C_KLAH_BKL for assigning attribute sets and to the authorization object C_KLAH_BKP for maintaining attribute sets.


The important authorization objects are:





Classification: authorization to classify or assign (C_KLAH_BKL)

This authorization group defines whether the user is allowed to assign objects to a class.

The Classification authorization group allows you to restrict access to certain classes.
When you create or change a class, you can enter an authorization group for classifying objects in the class. A user can only classify objects in the class if the user master record contains the authorization group you enter.













In this example, the user is only authorized to display objects assigned to or classified in classes if the class concerned has classification group AAA.

This authorization group is checked in all functions for assigning objects to classes in the classification system and in master record maintenance functions.


Defined fields


Possible entries




AAA-ZZZ, 000-999


Authorization group




for classification












Change, Delete









This authorization object allows you to restrict access to functions for maintaining characteristics.

This authorization object is automatically checked in the following functions:

  • Create characteristic
  • Change characteristic
  • Display characteristic

Defined fields



Possible entries






The user is allowed to create characteristics data.








The user is allowed to change characteristics data.








The user is allowed to display characteristics data.







In PPPI process management, authorization object C_PROCCHAR controls external system access to characteristics. Please ensure that the authorization for creating and changing characteristics and the authorization for external system access to characteristics are not given to the same person.




Classification: authorization to maintain classes (C_KLAH_BKP)

This controls the authorization of a user to maintain a class.

This check is made in the following class maintenance functions:

  • Create class
  • Display class
  • Change class
  • Delete class

You can use the Class maintenance authorization group to restrict access to certain classes.

When you create or change a class, you can enter an authorization group for editing or displaying the class. A user can only maintain or display the class if the user master record contains the authorization group you enter.










01 - 03

In this example, the user is only allowed to create, change, or display classes with the authorization group 030. The user is not allowed to delete classes with group 030, nor use the activities listed above on classes with other groups.


Defined fields


Possible entries




AAA-999, 000-999


Authorization group for class maintenance


























In the class list functions, the authorization to display (03) is checked for each class. Example Role


In the previous chapters we have seen how to create and maintain attribute sets and attributes. We also learned how to assigned these attribute sets to a business partner via two different methods.


Now suppose you have created several attribute sets, but do want to place restrictions in who is allowed to assign and maintain particular attribute sets for business partners.


Case: I want my employees be able to assign only a restricted number of attribute sets. Therefore we maintained a classification (authorization group) on each attribute set.


Only attribute sets with classification AAA and BBB should be allowed for assignment by this group of employees.


To test and elaborate this I have created 3 single roles.


- Transaction code assigned: CRMD_PROF_BP




Z_BASIC_ENDUSER_ROLE: copy of end user role SAP_BC_ENDUSER


-         This role allows me to perform SU53 and other non critical authorizations and was necessary to do the necessary checks



-         Includes the following transaction codes (actually I only needed the T-code BP for this test case)


à I assigned this role to my test user in order to test the assignment of attribute sets via the transaction code BP.


Now the actual restrictions we want to test are maintained in my single role Z_ATTRIBUTES.


If we take a look at it you will see the following:


-         Cross-application Authorization Objects


§         Transaction code: CRMD_PROF_BP


-         Classification


§         Activity: 01,02,03


§         Activity:            03,23,78


§         Activity: 01,02,03

§         Classification authorization:  AAA, BBB


§         Activity:  01,02,03,06

§         Class Maintenance Authorization: AAA, BBB


§         Class Type:  *


The restrictions we want to realize are obtained by restricting the Objects C_KLAH_BKL and C_CKLAH_BKP.


Only attribute sets with classification AAA or BBB may be assigned and maintained.


Unit Test:


Method 1: Use transaction code CRMD_PROF_BP



I use a new business partner 100016114 as business partner to assign the attribute set Z_AMAZON.

This works fine. (In fact this is my positive test, since I should be allowed to assign this Attribute Set).

Double-check this via transaction code BP:

You can see that the assignment has happened and the attribute values I maintained are also available.




Now I will try to assign an exiting marketing attribute set which does not have the classification AAA or BBB maintained for the same business partner.


First of all, you will notice that in the locator search I only will be able to search for attribute sets of classification AAA and/or BBB.


If I would search for attribute sets using “Z*” as search criteria with another User who has all authorizations in the authorization objects C_KLAH_BKL and C_KLAH_BKP I would see the following list.

If I directly search on the attribute set Z_CUSTOMER_INFO with the user who has restricted authorizations I do not get to see it.


Remark: You will not get an authorization message, but you can see via the user authorization check that you do not have the right authorization values.

If I actually try to create the assignment by filling out the Customer number and the attribute set, and next press the enter button, you do get to see an authorization message!


Method 2: Use transaction BP to assign and maintain attribute set for a business partner




Launch transaction BP and select the customer 100016114.


As you can see, in method 1 during positive testing we already assigned the attribute set Z_AMAZON to this customer.  Now we will assign the attribute set Z_HERBALIFE.

You do this by selecting Z_HERBALIFE and pressing the button “assign attribute set”.

In the list of profiles the new entry will be added.




Now, this test is done very quickly. Since I do not get to see any other attribute set in my dropdown list, accept the ones belonging to the classification AAA or BBB, I obviously cannot assign such an attribute set this way.





Note Number





Inherited characteristics are not displayed



Authorizations Enhancement of attribute set: Up to now, you can only assign one authorization for attribute sets, that is, you cannot differentiate between editing an attribute set and a classification.




Maintenance of attribute Sets in several languages: Currently, attribute sets are only valid in the language in which they are maintained. (release 3.0 and 3.1 )



Class Create: Authorization Check: When you create a class via the BAPI or the API CLMA_CLASS_MAINTAIN,the system does not check the authorization of object C_KLAH_BKP (authorization for class maintenance from the authorization group).




Authorization check BAPIs for reading class data



MKTATT: wrong F4 values for markt attribute set authorization group: TRX: CRM_PROF_TEMPL. While Creating an attribute set we give two authorizations. One for maintaining the attribute set and one for assigning that attribute set to BP. But for both these authorizations F4 help is same.



Authorization Check for Characteristic groups (prerequisite is note 456375) (valid for release 3.0)



Authorizations for attribute sets (prerequisite is note 446634) (Valid for release 3.0 and 3.1)



Profiles: Creating a characteristic group via template

 (Valid for release 3.0)



Authorization check for Marketing attributes: Even though you only have read-only authorization (authorization object C_KLAH_BKP), the system allows you to enter changes and only issues an error message when you try to save your entries.

(Valid for release 5.1.)