cancel
Showing results for 
Search instead for 
Did you mean: 

Categorization Schema and authorization

andreamazzanti
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi All, I'm working on CRM 7.0 with Bunsiness transaction of type Service Request and Multilevel Categorization.

I need to know if it is possible to associate one Schema, linked to one Catalog, to one Service Request, and, by the authorization role, filter the value displayed into the 2 level of my Service Request Multilevel Categorization (first and second Subjects fileds, drop down list box).

Scenario: Helicopter Spare Parts with 5 different Line; 5 different employees responsible; one Catalog containing all the 5 Lines (and a set of Helicopter Model for each Line); by the authorization role I need to filter for each employee exactly one Helicopter Line, in other terms each employee should be allowed to display its own Line of competence.

Are any authorization objects available in order to meet this requirements?

Thanks in advance.

Best regards.

Andrea.

View Entire Topic
j_bergvanden
Discoverer
0 Kudos

BUMP

I know this thread is nearly a year old, but I am having the same challenge.

Has anyone found a solution for this issue? Is it at all possible to do it?

Kind regards,

Jeroen

former_member272765
Discoverer
0 Kudos

The Standard Solution does have this EHP1 crm  but maintenance is a little cumbersome. . But to attempt and provide some direction,  I shall provide some coding options which  may be pursued.

Standard Option - 1 .

Use Authorization Object CRM_SSCCAT. It has a template for up to 4(Plus 1 for the first id) i think. Copy to have a ZAuthorization object and have up to moere levels if required and adjust the code in F4 drop down list box.

Hint and Help in Standard

The key points in code are

LOOP at ct_ddlb_tables ASSIGNING <fs_ddlb_tables>

     lv_level= sy-tabix.

     LOOP at  <fs_ddlb_tables>  ASSIGNING <fs_ddlb_line> where key is not initial.

     clear lt_cat.

lv_cat_guid-  <fs_ddlb_line>-key.

CALL FUNCTION 'CRM_ERMS_CAT_CA_READ'

EXPORTING

ilv_cat_guid=lv_cat_guid

IMPORTINT

et_cat=lt_cat

EXCEPTIONS

OTHERS=O.

READ TABLE lt_Cat ASSIGNING <fs_cat> WITH KEY cat_guid= lv_cat_guid.

IF sy-subrc IS NOT INITIAL.

DELETE TABLE <fs_ddlb_tables> from <fs_ddlb_line>.

CONTINUE.

ENDIF.

* Check and Delete unauthorized values if user authorization object  does not have access

lv_subrc = cl_crm_ssc_authorization_util => category authority check (

iv_selected_cat_level = lv_level

iv_selected_category_id = <fs_Cat>-cat-cat_id

iv_uname = iv_uname

iv_mode= iv_mode).

IF lv_subrc ne0.

DELETE TABLE <fs_ddlb_tables> from <fs_ddlb_line>.

ENDIF.

The above code removes the entries which the user is not authorized to enter and does not show in F4 drop down search.

--------------------

Option -2 - Development and UI Enhancement .

Step 1 - Copy to have a ZAuthorization object and have up to moere levels if required and adjust the code in F4 drop down list box. 

Step 2 - General Coding IDeas in One Order Service Objects ( IR, SR, SO, Complaint etc).

Step 3 - Create different roles and make Configuration keys with field visible/editable etc

Rgds

Ram