You might be having complex reports in your BI System, which helps in making decisions on the basis of data of your transactional system. Sometimes (quarter closure, month end, year ending...) single change in the transactional data can change your decision, and its very important to consider each record of transactional data of the company at the same time in BI system as it gets updated in the transactional system.
Using new functionality of Real-time Data Acquisition (RDA) with the NetWeaver (BI) 2004s system we can now load transactional data into SAP BI system every single minute. If your business is demanding real-time data in SAP BI, you should start exploring RDA.
The source system for RDA could be a SAP system or it could be any non-SAP system. SAP is providing most of the Standard DataSources as real-time enabled.
The other alternative for RDA is Web Services, even though Web Services are referred for non-SAP systems. For testing purposes, I am implementing Web Service (RFC) in SAP source system.
For more information on RDA check the RDA SAP help Documentation.
Below are the steps to load real time data from SAP source system to SAP BI system using Web Services @RDA concept.
1. Create Web Services DataSource in BI system.
When you will activate Web Service DataSource it will create Web Service/RFC FM automatically for you. (/BIC/CQFI_GL_00001000)
2. Create transformation on Data Target (DSO) while taking Web Service DataSource as source of transformation.
3. Create DTP on Data Target by selecting DTP type as 'DTP for Real-Time Dara Acquisition'
4. Create InfoPackage. (When you create InfoPackage for Web Services DataSource it will automatically enable Real-Time field for you, but if when you create it for SAP Source System DataSource you have to enable Real-Time field while creating InfoPackage, if your DataSource supports RDA)
In the processing tab of InfoPackage we enter the maximum time (Threshold value) for each request to open. Once that limit is cross RDA creates new request. The data is updated into data target ASAP it comes from Source System (~ 1 min), even though request will be open to take new record.
Click on Assign window to go to RDA Monitor. (You can also go to RDA Monitor using TCode RSRDA)
5. Assign a new Daemon for DataSource from Unassigned node. (Required to start the Daemon)
6. Assign the DTP to newly created Daemon.
7. Start the Daemon.
Once you start the Daemon, you can check Open Request in PSA of DataSource or in RDA Monitor under InfoPackage also.
8. Call RFC from the Source System, which got created when we created DataSource. Check Appendix for creating test FM to call RFC from (ZTEST_BW) Source System.
9. Under RDA Monitor or PSA table now you can check one record under Open Request.
When you call RFC from Source System it will take ~ one minute to load it to PSA of DataSource.
Once the record will come to PSA Table, RDA Daemon will create new open request for DTP, and update the data into Data Target at the same time.
You can see Open request in RDA Monitor for DTP, and Record to be cleared from 'Records in Upload', it means record is already updated into Data Target.
You can also check the status of DTP Monitor:
Check the data in DSO activated data table or in the manage request tab of DSO.
10. Close the Request. You can manually close the request also, it will create new request for the same InfoPackage. It is required for performance reason even though it's not a mandatory step.
11. Stop the Daemon Load. Even though the Daemon will run under sleep mode all the time, and once the request will come from source system it will start working automatically. In General practice we don't need to close the Daemon, but if it is required by any chance you can.
Create Test FM to call the RFC in BI system. (I am using RFC for testing purposes; you can also use Web Services) Below is the FM that will get created automatically on BI side when we activate Web Services DataSource.
It takes Import parameter as a Table Type, which is linked to Line Type Structure.
Structure in Line Type contains the basic parameters as fields what we added in DataSource.
We have to create Structure with the same parameters in SAP System to call this RFC FM.
Create FM (ZTEST_BW) and call BI RFC of Web Services DataSource from here.
FUNCTION ZTEST_BW. *"---------------------------------------------------------------------- *"*"Local Interface: *"---------------------------------------------------------------------- DATA : l_data LIKE ZCQZFI_GL_00001000 , lt_data LIKE STANDARD TABLE OF l_data . l_data-BUKRS = '3620' . l_data-FISCPER = '2006' . l_data-BELNR = '100039090' . l_data-BUZEI = '01' . l_data-STATUSPS = '0' . l_data-KTOPL = 'FHS1' . l_data-HKONT = '503902' . l_data-KOART = 'S' . l_data-BLART = 'SA' . l_data-BSCHL = '40' . l_data-FISCVAR = 'K4' . l_data-BLDAT = '20061108' . l_data-BUDAT = '20061108' . l_data-CPUDT = '20061108' . l_data-KOKRS = 'FHCA' . l_data-PRCTR = 'FHCA' . l_data-LCURR = 'USD' . l_data-DMSOL = 100 . l_data-DMSHB = 100 . l_data-WAERS = 'USD' . l_data-WRSOL = 100 . l_data-WRSHB = 100 . l_data-AWGJA = '2006' . l_data-SGTXT = 'test' . APPEND l_DATA TO Lt_DATA. CALL FUNCTION '/BIC/CQZFI_GL_00001000' DESTINATION 'BIDCLT100' EXPORTING data = lT_data EXCEPTIONS INTERNAL_ERROR = 1 OTHERS = 2 . IF sy-subrc <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. ENDFUNCTION.
This content is reposted from the SAP Developer Network.
Copyright 2006, SAP Developer Network
SAP Developer Network (SDN) is an active online community where ABAP, Java, .NET, and other cutting-edge technologies converge to form a resource and collaboration channel for SAP developers, consultants, integrators, and business analysts. SDN hosts a technical library, expert blogs, exclusive downloads and code samples, an extensive eLearning catalog, and active, moderated discussion forums. SDN membership is free.
Want to read more from this author? Click here to read KJ's (Kamaljeet) Weblog. Click here to read more about Business Intelligence on SDN.