Wednesday, July 4, 2012

Using Configurable Data Retrieval to limit data


In SAP CRM, transactions are linked to the Business Partner in assignment blocks. For instance, the opportunities for a certain customer are visible in the assignment block BP_BPBT/ACCOUNTOPPORTUNITIESOV .
  As a standard, SAP CRM shows all opportunities that are linked to the business partner, regardless how old they are, or what status they have. For opportunities this is most of the time not much of a problem, since opportunities don’t come in big tranches (depends on what company you’re working for ;-)). However, for activities it can be very helpful to filter on certain parameters so only the relevant activities are shown.
To make this possible, SAP has introduced Configurable Data Retreival (CDR).

How does it work?

The filtering of transactions works the same as the input of parameters in any given search screen of the WebUI, only then per assignment block. The search / filter parameters are standard hidden, therefore you have to activate business function CRM_INF_1 in SWF5 (Switch Framework). This functionality  is not documented in the available online help on this switch, however.

When the switch is activated, go to transaction SE38 and type in program name BSP_DLC_CONF_DAT_RETRIEV_USAGE  and execute. 

The result is a list of all assignment blocks with views that are suitable for CDR. You can see the page name and which parameters are available for every page. Make sure your assignment block is in here, or else you won’t be able to use CDR!

So, you’ve activated the switch, you’ve made sure you’re working on the right page, now what?
Well, you just go to the assignment block (in my case BP_BPBT / AccountOpportunitiesOV) and go to the configuration tab. Scroll down, and surprise; there is a new area called Data retrieval Parameters beneath the regular configuration:

The values you can set here, are all regular customized values of the available parameters. Unfortunately, only predefined (fixed) parameters are maintained for every view.

Like mentioned earlier you can check this by executing the report BSP_DLC_CONF_DAT_RETRIEV_USAGE, but if you want more detail than that, take a look at class CL_CRM_UIU_BP_BT_TOOLS. This will probably temper your enthusiasm to add extra parameters…

Ehmm..So what’s  the result?

Well, if you open a partner you will only see the open opportunities that have priority Important and from type Project . The other good thing about this approach is that you can configure it per role. So, if you want to make different data available for distinct roles this is now done via configuration.