Abstract
This whitepaper provides an insight into Report-to-report interface and how RRI provides the flexibility to pass the selection screen values from source query to the target query, but the alteration of the selection screen values are not possible directly in the ‘Assignment Details’ (RRI Settings).
Document explains the details to do the adjustment of the selection screen values using Standard BADI and Jumping from BW query to CRM Web Portal with particular selection parameter.
Target Audience: BW Consultants with basic knowledge on ABAP
1. Introduction
RRI (Report to Report Interface):
RRI is a technique used in SAP BW to link reports for Drill-through reporting. It calls a 2nd more detailed report (receiver query) from an initial request (sender query). It allows the drilled down from InfoCube to DSO objects for more detailed reporting.
Query jump targets:
Jump Queries are pairs of queries that are linked based on given characteristic values. A jump query allows you to automatically access a specific BEx query, An ABAP report, BEX WAD Application, Crystal Reports, InfoSet Query, and Web Address.
These are also collectively referred as jump targets icon-linking points within a query. Jump query uses RRI as an interface between the sender and receiver queries. Query jump targets are applicable for calling the following report types:
BW BEx Query, BW Web Application Designer etc.
Demonstration on how to execute RRI
Report-Report-Interfacing is the terminology used to describe
linking reports together. Report-Report-Interfacing uses Jump Targets that are created using the transaction code
RSBBS. Query with RRI functionality can be identified by clicking on the
Goto icon in the BEx Analyzer toolbar.
2. Scenario:
We need to jump from BEx report to CRM Webportal
-> Source (BEx Query) Details: Source Query (
TEST_JUMP_CRM) RRI Interface Functionality:
-> Target (CRM web portal) Details:
http://crmcd1ci.XXXXXXXXXXXX/sap(bD1lbiZjPTMwMCZkPW1pbg==)/bc/bsp/sap/crm_ui_start/default.htm?sapro...
3. Step-by-step Solution:
Step 1:
Setting up RRI: To get started with RRI setup, from the initial screen select
SAP Menu -> Business Explorer -> Query -> Maintain Sender- > Recipient Mapping.
Also, can use the T-code: RSBBS as shown
The t-code will display the RRI screen as shown below.
The RRI function works for query level and Info-Provider level (All queries of Info-Provider) as shown below.
‘TEST_JUMP_CRM’ query as the sender.
To do this, use the F4 input help to view all the queries in the system. This paper uses CRM OPPORTUNITIES (TEST_JUMP_CRM).
Click on the create option, which takes you to the screen, as shown below –
We need to Jump into CRM Web portal, so selected Report type as Web Address and passed the URL in Receiver Object and given description.
URL Passed –
http://crmcd1ci.XXXXXXXXXXXX/sap(bD1lbiZjPTMwMCZkPW1pbg==)/bc/bsp/sap/crm_ui_start/default.htm?sapro...
Step 2:
Setting up the RRI Assignment
To setup RRI assignment,
->Click on the Assignment Details button, to select or identify the fields to be assigned from sender to receiver.
To make changes to the individual fields choose the required settings from the dropdown list of the respective cells. In the example, I will select the type as InfoObject and field name 0CRM_PROSPE and selection type as single value as shown below
When the system calls up the receiver, the settings made in the field assignments dialog box are set. This completes the necessary configuration settings for the RRI to work.
Note: Jump targets that have been assigned to the BEx query can be selected in Web Applications and in the BEx Analyzer. They can be accessed from the context menu under the GoTo function.
Step 3:
Results
The following illustration shows the execution of the sender (TEST_CRM_JUMP), choose the ACCOUNT and use the context menu option GoTo - > Account details set as receiver.
The result of initial setup of the RRI will allow the query jump.
By clicking on Account details it will call the URL which we had set in RSBBS and URl will be appended with value which we selected in the Bex Report as shown below.
http://crmcd1ci.XXXXXXXXXXXX/sap(bD1lbiZjPTMwMCZkPW1pbg==)/bc/bsp/sap/crm_ui_start/default.htm?sapro...
These URL directly opens up the Account which we selected in BEx in CRM web portal.
4. Complex Case for Opportunities in CRM
There are few complex situations where in CRM we can search only using GUID’s instead of values and GUID’s is not being displayed in the reports.
We need GUID to be appended for the above URL to open particular opportunity in CRM.
In below screen shot we have Opportunity ID’s not GUID’s. In this case if we need to open particular opportunity in CRM using Jump ( RRI ) we need GUID to Jump.
We have GUID’s in the underlying DSO’s. In order to get the GUIDs at the time of jump, we need to write an ABAP code to select GUID from DSO with the value clicked on the report at the time of Jump.
An implementation BADI has been created to achieve this.
5. Steps to create Implementation to the Standard BADI ‘RS_BBS_BADI’
-> Go to SE19 Transaction and give the name as shown below and click on create
-> Give the implementation name as shown below
Enter a short description.
Choose the Interface tab page.
-> Enter a name for the implementing class and copy the proposal from the system ZCL_IM__RS_BBS_BADI as shown below
Save your implementation.
-> Double-click the method GET_TYPES and use below code in that method.
method if_ex_rs_bbs_badi~get_types.
data: ls_handler type rsbbs_s_badi_handler.
* Technical application name (any customer-defined name)
ls_handler-appl = 'ZDET'.
* ABAP class implementing interface IF_RS_BBS_BADI_HANDLER
create object ls_handler-handler type zcl_if_rs_bbs_badi_handler_det.
insert ls_handler into table c_th_handler.
** Add second entry with other ABAP class
* ls_handler-appl = 'Zxxx'.
* create object ls_handler-handler type zcl_im_rs_bbs_badi_handler_xxx.
* insert ls_handler into table c_th_handler.
endmethod.
-> Activate the implementing ABAP class (in the example: ZCL_IF__RS_BBS_BADI_DET).
-> Activate the implementation (in the example: Z_RS_BBS).
6. Creating ABAP Classes with Interface IF_RS_BBS_BADI_HANDLER.
-> Go to SE24 Transaction and give the name ZCL_IM_RS_BBS_BADI_HANDLER_DET
Enter a name for the object type (in the example: ZCL_IM_RS_BBS_BADI_HANDLER_DET).
Choose Create.
Save the class interface.
-> Choose the Interfaces tab page.
Specify the interface IF_RS_BBS_BADI_HANDLER as shown below.
Save your entries. By saving your entries, the methods of the interface become visible.
Select the Methods tab page.
-> Create method CLASS_CONSTRUCTOR. Since the method does not exist in the interface, you must create it manually.
method CLASS_CONSTRUCTOR.
* This text appears in dropdown box of new jump target in transaction RSBBS
if_rs_bbs_badi_handler~n_text = ‘Opp Details'.
This is the text which we get after this setting in constructor.
* Define what calls can be handled
if_rs_bbs_badi_handler~n_url_call = rs_c_true.
if_rs_bbs_badi_handler~n_sapgui_call = rs_c_false.
endmethod.
-> Change the method IF_RS_BBS_BADI_HANDLER~GET_TARGETS in order to obtain an input help under Report in the maintenance transaction for the sender-receiver assignment as shown below.
These entries (“Details of Product” and “Details of Customer”) appear as value help in RSBBS
-> Change the method IF_RS_BBS_BADI_HANDLER~CALL_URL in order to create the URL and append the required parameters as shown below.
7. Testing
Execute the BI Report -> Right Click on Opportunity ID -> Click on GoTo as shown below
This will call the standard BADI and generate GUID and append it to the URL, which is mentioned in the BADI. Shown below:
References
References