Você está na página 1de 11

Fetching Data Directly from ECC System in BEX Query using RRI

Applies to:
SAP BIW 3.5 and BI7.0. For more information, visit the Business Intelligence homepage.

Summary
This Document provides step by step solution How to fetch data from ECC System Directly in Bex Query using RRI using real time example with all relevant details. Author: Vipul Goyal

Company: Accenture Services Ltd. Created on: 17 Sep 2009

Author Bio
Vipul Goyal is working as SAP BI Consultant in Accenture Services Private Ltd and having Extensive experience in implementation of BI projects specializing in HR/SCM areas.

SAP COMMUNITY NETWORK 2009 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com 1

Fetching Data Directly from ECC System in BEX Query using RRI

Table of Contents
Purpose............................................................................................................................................................... 3 Features .............................................................................................................................................................. 3 Assumptions ....................................................................................................................................................... 3 The Step By Step Solution.................................................................................................................................. 4 Output Demo: ..................................................................................................................................................... 9 Related Content ................................................................................................................................................ 10 Disclaimer and Liability Notice .......................................................................................................................... 11

SAP COMMUNITY NETWORK 2009 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com 2

Fetching Data Directly from ECC System in BEX Query using RRI

Purpose
This Content provides a robust functionality that enables the end user to execute any remote application without actually logging into remote system. The Advanced applications that this content helps to achieve are: 1. To display data from R/3 (or any SAP system) system at BW side based on the report value. 2. End user should be able to fetch the data from R/3 (or any SAP system) for display based on the ABAP report (developed in BW) without actually logging in the R/3 system. 3. At query level, any large volume of data that physically cant be extracted and stored to BW side can be fetched at runtime.

Features
RFC connection is set up between BW system and R/3 (or any SAP system) system through an ABAP program written at BW-side in SE-38 and data is fetched at runtime during query execution.

Assumptions
Reader is aware of following things; 1. Basic understanding of RFC fundamentals. 2. ABAP experience and know how to make custom function modules. 3. RRI functionalityProcess Plan The example explained here gives the insight into how to fetch data from R/3 system at runtime for any characteristic result in Query Output. In brief, course summary, are fetched from R/3 system for Course Id present in Query output through A RRI. The following steps explain the process: Create an ABAP program YTEST_RFC (or any custom defined name) in se-38.. This code can be used to fetch data from R/3 system at runtime, for any characteristic value in Query Output through RRI (or in start routine, in update rules for any object). Create a RRI on query to jump to the Local ABAP program (YTEST_RFC). In the program call a remote function module (ZFM_REMOTE_SYSTEM) by passing Course and CourseType as parameters. (Check the below ABAP code to know how to call remote function module). The function module gives back Course Description and comments, Link and Url Details for that Material.

SAP COMMUNITY NETWORK 2009 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com 3

Fetching Data Directly from ECC System in BEX Query using RRI

The Step By Step Solution


1. Create a RRI. Goto Transaction (RSBBS) . You reach the Sender/Receiver Assignment Maintenance screen shown below. Select the query from which you want to jump from, to the target. 2. Choose Create. You reach the Maintain Sender/Receiver Assignment dialog box. Then Choose a Report Type as ABAP Report and enter report name you want to call.(See step 4 to see sample program)

3. Choose Assignment Details. The Field Assignments dialog box appears. It will display all the fields those are being used in our query. So from the list that appears; select the fields you want to transfer to the target report. In this case Course is being passed and make sure it is passed as parameter in selection type as shown below: Make type as delete for all others

SAP COMMUNITY NETWORK 2009 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com 4

Fetching Data Directly from ECC System in BEX Query using RRI

4. Create an ABAP program YTEST_RFC (or any custom defined name) in se-38.This program can be
used to fetch data from R/3 system at runtime, for any characteristic value in Query Output through RRI In the program call a remote function module (ZFM_REMOTE_SYSTEM) with fields that are being selected above in STEP 2 as parameters. (Check the below ABAP code to know how to call remote function module). CODE TO MAKE AN RFC CALL TO REMOTE FUNCTION MODULE( ZFM_REMOTE_SYSTEM )
*&---------------------------------------------------------------------* *& Report YTEST_RFC *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT YTEST_RFC LINE-COUNT 65(8) LINE-SIZE 132. TABLES:/BI0/PTRAINING. *TO GET VALUES PASSED FROM REPORT INTO LOCAL PARAMETERS(LT_PARAM FOR COURSE AND LT_CTYPE FOR COURSE TYPE)* *Choose number of parameters depending upon number of field values sent from report( Here it is two)* SELECTION-SCREEN BEGIN OF LINE. PARAMETERS: LT_PARAM TYPE /BI0/PTRAINING-TRAINING NO-DISPLAY, LT_CTYPE TYPE /BI0/PTRAINING-TRAINOTYPE NO-DISPLAY . SELECTION-SCREEN END OF LINE. SELECTION-SCREEN SKIP. data:E_TXTLINE TYPE STRING, E_LINK TYPE STRING,

SAP COMMUNITY NETWORK 2009 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com 5

Fetching Data Directly from ECC System in BEX Query using RRI

E_URL

TYPE

STRING.

Write name of function module to be called.


CALL FUNCTION 'ZFM_REMOTE_SYSTEM' destination 'sh_remtote' CALL TO REMOTE FUCTION MODULE. TARGET SYSTEM(R/3 SYSTEM)

heresystem

*Input values to the funtion EXPORTING i_objid = LT_PARAM i_otype = LT_CTYPE

Write name of remote system here.

*Output after execution of FM at remote system IMPORTING E_TXTLINE = E_TXTLINE Course Description and comments E_LINK = E_LINK E_URL = E_URL EXCEPTIONS SYSTEM_FAILURE = 1 COMMUNICATION_FAILURE = 2. write: 'Report Starts For', LT_PARAM. if e_txtline is initial. write: / 'no comments availiable'. else. WRITE: / E_TXTLINE. ENDIF. WRITE: /,/ 'Link:', E_LINK, /,/ 'URL:',E_URL. CLEAR E_TXTLINE. WRITE:/,/ ' Report Ends'. 5. Now in the remote system(or R/3 source system) create a remote function module ZFM_REMOTE_SYSTEM.

6. Select the same import parameters as being passed from ABAP program above and make settings as shown in screen shot below:

SAP COMMUNITY NETWORK 2009 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com 6

Fetching Data Directly from ECC System in BEX Query using RRI

7. Select the exprot parameters:

8. Select the tables if you are using any as below:

Here is the sample code:


FUNCTION ZFM_REMOTE_SYSTEM. *"---------------------------------------------------------------------*"*"Local Interface: *" IMPORTING *" VALUE(I_OBJID) TYPE HRP1002-OBJID *" VALUE(I_OTYPE) TYPE HRP1002-OTYPE *" EXPORTING *" VALUE(E_LINK) TYPE STRING *" TABLES *" E_CCOMMENTS STRUCTURE HRT1002 *" E_URL_DETAILS STRUCTURE HRT1061 types: begin of l_itype, l_course type hrp1002-objid, l_tabnm type hrp1002-tabnr, l_txtline type string, end of l_itype. DATA: l_txtline1 type string. data : i_tab1 type standard table of l_itype with header line. data: i_tab2 type standard table of hrp1002 with header line, l_tabnr like hrp1061-tabnr. clear itab2. select * from hrp1002 into table i_tab2 where PLVAR = '01' and OTYPE = I_OTYPE and objid = I_OBJID. SELECT * FROM hrt1002 INTO TABLE E_CCOMMENTS FOR ALL ENTRIES IN i_tab2 WHERE ( tabnr = i_tab2-tabnr ). clear E_LINK.

SAP COMMUNITY NETWORK 2009 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com 7

Fetching Data Directly from ECC System in BEX Query using RRI

clear l_tabnr. select single linktxt tabnr from hrp1061 into (E_LINK,l_tabnr) where PLVAR = '01' and OTYPE = I_OTYPE and OBJID = I_OBJID. select * into table E_URL_DETAILS from hrt1061 where tabnr = l_tabnr. ENDFUNCTION.

SAP COMMUNITY NETWORK 2009 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com 8

Fetching Data Directly from ECC System in BEX Query using RRI

Output Demo:
Below is report output from where get details about the ID selected directly from R/3 system by clicking on the particular ID.

Following is window that will open while double clicking on the id seleted giving all the details for the id as shown:

SAP COMMUNITY NETWORK 2009 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com 9

Fetching Data Directly from ECC System in BEX Query using RRI

Related Content
1. Whenever remote function call is made, the remote system asks for user id or password before login to the system. Now suppose the end user dont have the access or wants to avoid this Login, BW system should be made trusted system with Remote system (Transaction-SM59). Please follow this link for more details on it: http://help.sap.com/saphelp_nw04/helpdata/en/22/042671488911d189490000e829fbbd/frameset.htm 2. The above code is basically developed for RRI, but the same can be used in VirtualProviders with Function Modules. In the Function Module for the Remote Cube you can write this code. Please follow this link for more details: VirtualProviders with Function Modules 3. For more details on RRI and various Features of RRI please go the Below Link Report-Report Interface 4. For more information, visit the Business Intelligence homepage.

SAP COMMUNITY NETWORK 2009 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com 10

Fetching Data Directly from ECC System in BEX Query using RRI

Disclaimer and Liability Notice


This document may discuss sample coding or other information that does not include SAP official interfaces and therefore is not supported by SAP. Changes made based on this information are not supported and can be overwritten during an upgrade. SAP will not be held liable for any damages caused by using or misusing the information, code or methods suggested in this document, and anyone using these methods does so at his/her own risk. SAP offers no guarantees and assumes no responsibility or liability of any type with respect to the content of this technical article or code sample, including any liability resulting from incompatibility between the content within this document and the materials and services offered by SAP. You agree that you will not hold, or seek to hold, SAP responsible or liable with respect to the content of this document.

SAP COMMUNITY NETWORK 2009 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com 11

Você também pode gostar