Skip to Content

This blog talks about my learning to work on a CRM development to enhance the UI reporting to show up additional values when searching for customer information.
The blog talks about how you can make changes in the CRM reporting and do easy customization with the help of BADI.

Below is what the blog covers:

  1. Requirement
  2. Analysis
  3. Technical details
  4. Additional information

Requirement:

In this current scenario, I am trying to display values for DATE as shown below for one of the transaction ID types which was not shown currently. The solution was to map the value stored in one of the custom fields to the standard SAP field so it starts showing up

Analysis:

Reports are created combining header. item and index tables in CRM. Whether your requirement is to improve the performance or modify what the user sees as a result of the search criteria is controlled using program CRM_INDEX_REBUILD

This table is run as a background job and updates all the tables so the value is seen correctly on the UI side and helps a lot to tackle any issues related to performance and customizations as needed.

Majorly the program includes

  • Table  crmd_orderadm_h
  • Table crmd_order_index
  • Using FM CRM_ORDER_READ to read specific information related to order.
  • Updates CRM_DNO_MONITOR

 

Technical details:

If you would like to modify the logic of this program SAP has provided a BADI which can be used for customization. Below are the steps to be followed;

The program CRM_INDEX_REBUILD updates the value in the index tables after which the values are updated in the Portal. The BADI CRM_ORDER_INDEX_BADI is called within this program and can be used to change the standard logic.

Step 1: Add custom fields to the  Structure CRMT_ORDER_INDEX using Append structure:

Step 2: To add values to date 2 write code  to populate the value in date 2 field from the Zfield as shown below.

 LOOP AT ct_order_index ASSIGNING FIELD-SYMBOL(<ls_order>).
  <ls_order>-DATE_1 = <ls_order>-ZZ_date .
 ENDLOOP

Remember you may need to check whether it is Header or line item field from which you need to populate this value as one transaction can have header/line item and multiple partner function values. With the above logic, I was now able to populate Date 1 field with the value stored in a custom field ZZ_date. Now the screen would look something like below

 

Additional information

The note below talks in detail about some additional concepts related to CRM indexing. Please have a look at it

1527039 – Enhancements in CRM Reporting Framework

 

Some Archived discussion links below which I found an interesting read

https://archive.sap.com/discussions/thread/1937316

https://archive.sap.com/discussions/thread/1832810

 

Thanks for reading the blog Please share your comments.

To report this post you need to login first.

Be the first to leave a comment

You must be Logged on to comment or reply to a post.

Leave a Reply