Hi,
we have the requirement that in MM02 users should be able to remove/delete any material class allocations from a material master. (Necessary for cleaning up "old" class allocations after having introduced a new classification concept in material management.)
Afterwards, the user should be able to allocate only specific material classes to the material master again. The classes which are allowed to be used for a new allocation have been specified in transaction CL02 with a specific class authorization; value e.g. 'ABC' (Table KLAH, Field BGRKL).
Therefore, I created a single role that contains authorization object C_KLAH_BKL twice:
C_KLAH_BKL
- ACTVT: 01
- BGRKL: ABC
C_KLAH_BKL
- ACTVT: 02, 03
- BGRKL: *
I thought this would enable the user to remove (Activity 02) and display (Activity 03) any class allocation, while at the same time allowing him to allocate only classes with class authorization 'ABC'.
The documentation of authority object C_KLAH_BKL shows that Activity 02 means "Change, Delete".
However, it does not work that way. An authorization trace showed, that during the removal of an "old" class (e.g. with KLAH-BGRKL = 'XYZ') SAP checks the authorization object C_KLAH_BKL with BGRKL = 'XYZ' (ok!) but with activity 01 (???), instead of 02!
Can someone provide a solution for my problem?
Best regards,
Karl