Real-Time Data Acquisition - BI@2004s

Real-Time Data Acquisition - BI@2004s

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

    Requires Free Membership to View

    When you register, you will start receiving targeted emails from my award-winning team of editorial writers. Our goal is to keep you informed on the hottest topics and biggest challenges faced by SAP professionals today.

    Hannah Smalltree, Editorial Director

    By submitting your registration information to SearchSAP.com you agree to receive email communications from TechTarget and TechTarget partners. We encourage you to read our Privacy Policy which contains important disclosures about how we collect and use your registration and other information. If you reside outside of the United States, by submitting this registration information you consent to having your personal data transferred to and processed in the United States. Your use of SearchSAP.com is governed by our Terms of Use. You may contact us at webmaster@TechTarget.com.

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.

Appendix

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.



This was first published in November 2006

Disclaimer: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.