on 03-29-2011 3:07 PM
Hi,
I am very new to CRM. i need to enhance the search object BT Query1o with new zfield (custom) for the comoponent icccmp_bt_inr. what are the nesccessary steps to be followed as it is of type cs_prm_bol_query_service, what is the different from cs_prm_bol_dquery_service?
Thanks,
RaJ.
Hi RaJ,
most guides for SAP CRM Web UI Business Transaction Search Enhancement tell you how to implement a BADI or how to hack the search query object even in cases you just want to add some simple fields as search criteria or result list field.
Because I didn´t want to develop in cases it is not needed, I searched for a better solution. And I found it. I hope my solution will help you too.
http://www.hybrid-eichhoernchen.de/business-transaction-search-enhancement/
Kind regards,
Peter
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I am very new to CRM. i need to enhance the search object BTQuery1O with new zfield (custom) for the comoponent icccmp_bt_inr. what are the nesccessary steps to be followed as it is of type cl_crm_bol_query_service, what is the different from cl_crm_bol_dquery_service?
sorry for mistakes in in typing for my previous posting....
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi ,
In Customer Relationship Management->CRM Cross-Application Components->Generic Interaction Layer/Object Layer->Component-Specific Settings->Business Transactions->Define Custom Handler Classes for Business Transaction Model Nodes
You need to give the external obj name BTQuery1O and the handler class -
Z CLASS name.
You can put a break point in methods GET_RESULT_LIST and IF_CRM_QUERY_RUNTIME_BTIL~GET_QUERY_RESULT of the class CL_CRM_QUERY1O_RUN_BTIL to check how result is fetched.
Regards,
Gangadhar.S
Edited by: gangadhar rao on Mar 30, 2011 8:13 AM
Hi Gangadhar,
requirement is, After adding zfield to search screen, then need to filter the entries with comparing zfield which exists in table 'CRMD_ORDERADM_H', is it automatically take care for filtration after add of zfield or I need to compare and remove entities which are not matching with entered zfield value in screen,
as well what ever the path shown is to make BTQurery1O will uses zclass after maintaining it, I am right?
so u r suggested that need to maintain object name with class, but here it showing object name and structure name?..
looking forward for your help,....
Hi,
You need to give the z class name in the structure name
Example if the class name is ZCL_CRM_QUERY1O_RUN_BTIL to need to give ZCL_CRM_QUERY1O in the structure name removing RUNBTIL .
After getting the results from GET_RESULT_LIST compare the results and modify .
Regards,
Gangadhar.S
Edited by: gangadhar rao on Mar 30, 2011 9:12 AM
Hi Gangadhar,
so what exactly I understand is :
1. first enhance the structure CRMST_QUERY1O_BTIL with new zfield by append structure.
2. then copy the class CL_CRM_QUERY10_RUN_BTIL to Zclass then modify method get_quary_result
at the point after GET_RESULT_LIST for filtration.
3. then maintain zclass at Define Custom Handler Classes for Business Transaction Model Nodes in SPRO transaction,
what ever the path shown by you...
is it ok to complete this application...or any further steps also needed...?
case - 1:
I heared for some of search extension,
1. enhance structure
2. enhance search class
3. enhance API for GENIL
4. enhance Database....
In which case we do all these...
also how we can find API for this...?
case - 2:
I seen one of forum which says :
I am trying to add a field in the IC Interaction History. I have enhanced the BOL structure for BTQuery10 and displayed the field in the Web UI. I have implemented the BADI CRM_RF_SEARCH_EEW, Added entry to CRMC_REPDY for the field.
But when i enter any value in the Field it is not executing the BADI. I tried with the Break Point but it has not executed the BADI.
You can redefine the genil CL_CRM_BTIL->get_query_dynamic_result method (oneorder) and write the logic only for required object else all the one order objects will be affected.
when we use this process...
looking forward, sorry for making you to get answered a lot...please....
Hi Raj,
Try this:
1. Add Z fields in CRMST_QUERY10_BTIL, append z fields in standard structure
2. Copy class CL_CRM_QUERY1O_RUN_BTIL in to Z Class - ZCL_QUERY1O_RUN_BTIL
3. Change READ_BUSINESS_TRANSCTION write below code:
If is_query10-YOURFIELDNAME is not initial.
Call method get_range
exporting
iv_value = is_query10-YOURFIELDNAME
Importing
et_range = lt_range
endif.
add above code for all your fields. Make sure that your lt_range is different for all fields.
4. Go to table CRMC_OBJ_BTIL_C in sm30 and maintain your custom class name for query object. Dont enter RUNBTIL here.
5. Maintain these ZFIELDS in Standard table CRMC_REPDY in sm30. enter appropriate dyn method. Your dyn method depends upon the area you are extending. Scan through present entries and you would get fair idea. In case you are enhancing activity header then you dyn method should be dyn_activity_h. Also here you will have to define the database table where your field resides on Db. Like for activity header its crmd_activity_h~yourfieldname.
Trust this solves your issue.
Please let me know if this helps.
e Regards,
Bhushan
Hi,
You need to extend the structure CRMST_QUERY1O_BTIL with Z FIELD and copy the class CL_CRM_QUERY1O_RUN_BTIL to Z CLASS and modify the method IF_CRM_QUERY_RUNTIME_BTIL~GET_QUERY_RESULT .
Regards,
Gangadhar.S
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
5 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.