Skip to Content

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 SAP System or it could be any non-SAP system. SAP is providing most of the Standard DataSources as real-time enabled. For more information on this check the /thread/248635 [original link is broken]

The other alternative for RDA is Web Services, even though Web Services are referred for non-SAP systems, but for testing purpose here 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.

    image

    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.

    image

  3. Create DTP on Data Target by selecting DTP type as ‘DTP for Real-Time Dara Acquisition’

    image

  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)

    image

    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.

    image

    Click on Assign window to go to RDA Monitor. (You can also go to RDA Monitor using TCode RSRDA)

    image

  5. Assign a new Daemon for DataSource from Unassigned node. (Required to start the Daemon)

    image

  6. Assign the DTP to newly created Daemon.

    image

    image

  7. Start the Daemon.

    image

    Once you start the Daemon, you can check Open Request in PSA of DataSource or in RDA Monitor under InfoPackage also.

    image

  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.

    image

  9. Under RDA Monitor or PSA table now you can check 1 record under Open Request.

    image

    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.

    image

    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:

    image

    Check the data in DSO activated data table or in the manage request tab of DSO.

    image

  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.

    image

  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.

    image

Appendix
Create Test FM to call the RFC in BI system. (I am using RFC for testing purpose you can also use Web Service)
Below is the FM that will get created automatically on BI side when we activate Web Services DataSource.

image

It takes Import parameter as a Table Type, which is linked to Line Type Structure.

image

Structure in Line Type contains the basic parameters as fields what we added in DataSource.

image

We have to create Structure with the same parameters in SAP System to call this RFC FM.

image

Create FM (ZTEST_BW) and call BI RFC of Web Services DataSource from here.

To report this post you need to login first.

13 Comments

You must be Logged on to comment or reply to a post.

    1. Kamaljeet Kharbanda Post author
      Thanks for the comment.

      Under the source system you can get option of creating web servies.

      If you are trying to connect to the same SAP system (as in my example) for which your BI Server is already connected, you need to create one more logical system for the same system, and assign it to your Web Servies source system.

      KJ!!!

      (0) 
      1. suneel S
        Hi KJ,
        Thanks I got it!
        I am on SP9 and the DTP creation always fails saying the DS is not active eventhough its active message (DTASRC). I searched the notes and I guess we need SP11
        Whats your SP level for the example ?

        The infopackage selection for the Deamon is it always ~ 1 min  for the data to fetch from Source system?

        And what does “Automatic Closure of request mean”

        Once again thanks its a great blog
        Cheer up KJ

        Regards,
        Suneel

        (0) 
        1. Kamaljeet Kharbanda Post author
          We are on SP9, and i think SP10 is also released last week. For DTP you can find some OSS note, post your problem in forums you will surley get proper Note for it.

          yup its ~1 min.

          Automatic closure of request means, rather than closing request manually you can set threshold for that. Minmium is 1 hour for performance reason. Even though you can keep open your request till the time you want, try to play around with it, you will surely can see the advantage of using closing request, as performance always matters.

          Thanks again,
          KJ!!!

          (0) 
  1. Arvind Bhaskar
    The blog is very useful. It is possible to use RDA in 3.X also. Call up RSCRT on 3.X system. Infopackage should be registered in the table
    ‘RSCRT_DTA_DS_LG
    (0) 
    1. Andreas Keppler
      Hi together,

      there is a technical possibility to use RDA in 3.x version, yet it is very different to SAP NetWeaver 2004s version. Official support by SAP is only provided for SAP NetWeaver 2004s version.
        Cheers
          SAP NetWeaver BI Organisation

      (0) 
  2. Claudio Caforio
    Hi Kamaljeet,

    In your example you use an extractor named ZFI_GL_4…. It have the same functionalities that the corrispondent 0FI_GL_4?
    If yes, this custom copy, is really Real Time Enabled?

    Thank you,

    Claudio

    (0) 
    1. Kamaljeet Kharbanda Post author
      Hi Claudio,

      I was just trying to simulate GL Datasource with RFC with some basic fields. It will work fine if you have good functional understanding of FI, i.e. which other module data can be affected by posting a FI GL document (ex, FI-SL), and you will post or save all the relevant data at the same time, otherwise you will miss those data when you will call RFC with only GL data. Data Integrity is the basic problem if you will try to simulate it.

      For more details on the discussion of same topic check the BI NetWeaver Forum. I remember I already had some good discussion on this topic earlier iin forums.

      Regards,
      Kamaljeet @KJ…

      (0) 
  3. Galina Pak
    Hi, Kamaljeet.
    Your blog is very usefull.
    In your example Real Time property on the Extraction tab page for DS ZFI_GL_4 is set (Real-Time Data Aquisition Supported). Could you tell how to do this? In our system this property is disabled and there is no way to change it. Thanks.
    (0) 
  4. shailendra jain
    Hello Kamaljeet,

    Thanks for nice blog. Very useful info.
    I am wondering, if I could use a RDA from a non-Sap Source System (Oracle) and populate virtual provider for daily transaction thru RDA. and delete those transaction at the end of the day and copy the same in standard cube.

    Could you please give me some inputs for same.

    Thanks and regards
    Shailendra

    (0) 
  5. Jad Batal
    Hi Kamaljeet,

    Thanks for the great effort.

    I have two points:

    1- I am getting a syntax error in the FM in statement
    “l_data  LIKE YCQYDEMO01000010000001” the system is basically saing that you can only use like with a flat table and not with a structure I coorected that by using TYPE.

    2- How to triger the load after creating this FM?
    I followed exactly your steps but not able to get the one record hardcoded above by the way I created this FM module as RFC enabled.

    Appreciate your feedback.

    Thanks,

    (0) 

Leave a Reply