cancel
Showing results for 
Search instead for 
Did you mean: 

Help required in retrieving the category1 & category2 values for CRM SR

former_member184390
Participant
0 Kudos

Hi Friends,

We are currently working on a requirement where in we need to update the status of Service request having the external reference nbr that is coming from back end ECC System. This number is already stored in the CRM Service request document. The external reference field is added through AET Tool.

The backend application calls our CRM RFC FM and passes the external reference nbr as input parameter. We are trying to query the CRMD_ORDERADM_H table with the external reference number and get the list of all service requests having this number. Now we need to select only those service requests having the category1 as Order and category2 as block.

We have found the table CRMD_SRV_SUBJECT but not able to find the link table that connects the GUID of service request with GUID of CRMD_SRV_SUBJECT.

Any pointers on this would be of great help.

Thanks,

Udaya

Accepted Solutions (1)

Accepted Solutions (1)

former_member193352
Active Contributor
0 Kudos

Hello Udaya,

Welcome to Categories Search. I also faced this issue to retrieve all levels of categories for a Service Request.

I am glad I can share with you how this was resolved.

Use the following steps:

1. Pass SR GUID in field GUID of table CRMV_REPORT_SUBJ and get KATALOGART, CODEGRUPPE and CODE field values in lv_catalog, lv_codegrp and lv_code.

2. Now you need to concatenate these 3 fields values carefully like this:

CONCATENATE lv_catelog lv_codegrp ' ' lv_code into lv_category1.

*Remember there are 4 spaces between lv_codegrp and lv_code.*

3. Now pass this lv_category1 in field OBJEXT in table CRMC_ERMS_CAT_OK and get OBJGUID in field lv_objguid.

4. Pass this lv_objguid in field OBJ_GUID and *LNK_TYPE = 'IS_CODE'* in table CRMC_ERMS_CAT_LN and get value of CAT_GUID in lv_cat_guid.

5. Pass this lv_cat_guid in field CAT_GUID in table CRMC_ERMS_CAT_CA and get value of CAT_ID in field lv_cat_text.

Remember this lv_cat_text is the text value of your last level of category of SR.

6. To get its upper cateogry level value, simple use table CRMC_ERMS_CAT_HI and get parent guid value and pass this as CAT_GUID again in table CRMC_ERMS_CAT_CA to get its text.

Alternatively, you can also use class method cl_crm_ml_category_util=>get_parse_all to get all levels of categories.

I hope this helps.

Thanks

Vishal

Edited by: Vishal Kesar on Jul 30, 2010 5:12 PM

Former Member
0 Kudos

how do you make sure, that you get the correct cat_id?

if you change your cat_id several times, you are going to get several results at that point:

5. Pass this lv_cat_guid in field CAT_GUID in table CRMC_ERMS_CAT_CA and get value of CAT_ID in field lv_cat_text.

Remember this lv_cat_text is the text value of your last level of category of SR.

Actually you cannot use the "latest" of the results, because there might be a non-active version of category schema, which is newer than the active one.

Do you know any other way, a function module maybe, which can provide the CAT_GUID of an ACTIVE category schema for sure?

SandeshK
Participant
0 Kudos

Perfect. I was able to retrieve the multilevel categorisation values for Interaction Record using the same logic. Thanks Vishal

Former Member
0 Kudos

Hello Vishal,

on the step6 can you please explain what values to be passed to get upper category level.

you wrote that to get upper category level value, simple use table CRMC_ERMS_CAT_HI and get parent GUID,

but what values to pass and to which filed to get to the parent GUID, seems this link is missing

or maybe I am missing something here, can you please explain this.

Thanks

Chandu

0 Kudos

Hello San,

Would you be able to explain the steps of how to retrieve the multilevel categorization values for service request.

I am currently struggling to find the same.

thanks

Shilpi

Answers (0)