in BI Strategy & Execution, Data Management

Connecting BusinessObjects to SAP

Following SAP’s big acquisition of BusinessObjects, more and more companies running SAP are looking to BusinessObjects as an answer for their reporting needs. The BusinessObjects tools WebIntelligence and Xcelsius are well suited for this role. However, getting SAP data into those tools is not yet as easy as SAP would like.

Tools like WebIntelligence and Xcelsius are primarily driven by the BusinessObjects universe. Unfortunately for SAP customers, SAP has not yet produced a universe connector to allow you to tap directly into your SAP R/3 data. Instead, SAP customers need to leverage an ETL tool to extract the SAP data into a relational database. For a variety of reasons, BusinessObjects Data Services is the tool of choice for this job. In this post I will explain how Data Services talks to SAP to extract data.  

Data Services connects to SAP using the same information you would use to connect through the SAP GUI tool.  In Data Services, you create a datastore with all the required SAP server information.  Once set up, you can import SAP tables into Data Services just as you would with any other data source.  Instead of using a standard Data Flow as you would with a relational database, with SAP data you must use the R/3 Data Flow.

The standard method for manually extracting SAP data is to write custom ABAP code which generates a flat data file. The flat file can then be consumed by other processes.  With the R/3 Data Flow, Data Services uses this same method, although it automates the entire process.  A basic SAP R/3 Data Flow in Data Services will generate ABAP on-the-fly and upload it to the SAP server via a shared directory.  The shared directory can be a network share or FTP that both the Data Services and SAP servers can access.  Data Services then asks SAP to execute this ABAP code.  The resulting flat file is generated in the same shared folder, which Data Services then processes.

Inside an R/3 Data Flow — Joining 4 Sales fact tables from SAP R/3

From here, any normal Data Services transformations can occur on the data — the extraction from SAP is complete. The SAP data can be joined with data from other sources, or you can use Data Services’ built in Key Generation and Table Comparison transforms to build a true datamart with slowly changing dimensions and delta-loaded fact tables. The BusinessObjects universe can be laid on top of this database, allowing you to use all the other tools in the BusinessObjects suite — reporting with Web Intelligence, analysis with Explorer, or dashboarding with Xcelsius.

SAP also offers several “Rapid Marts”, which combine Data Services jobs with a prebuilt universe, providing a plug-and-play solution. There are Rapid Marts for Sales, Inventory, Cost Centers, Projects, and more.  Whether you choose to use one of these prebuilt solutions or design your own, it is good to understand the challenges involved with connecting BusinessObjects to SAP.

For More Information

Free Web Intelligence Best Practices Guide

We put together a Best Practices Guide for Web Intelligence Development that includes over 20 pages of tips and techniques for developing business-ready reports. Plus we'll show you the common functions that have a negative impact on performance, how to create interactive reports, the best ways to standardize look-and-feel, and much more!


Powered by ConvertKit

Write a Comment


  1. Hi Ryan,
    May i ask you a layman question here,.
    When SAP R3/ECC has already got a DB,. why do we need DS here,.
    Infact why do we need to extract the data using DS in real time,.
    Could you please give some real time examples as of how DS is useful.

    If i am not wrong, SAP BI is a reporting tool,. which is used to pull the date from sap and generate reports,. and it has got its own ETL tool,.

    Am lil confused as of the real time usage of BODS,.
    Appreciate your help in explaining the same,.


    • Niha, unfortunately you cannot use the SAP BusinessObjects reporting tools directly against SAP R3. If you wish to use these tools, you would need to use BODS to extract the data into a relational database. Until SAP finds a way to connect BusinessObjects to SAP data directly, this is the method we will have to use.

      You can however use SAP BI to do your reporting, but BusinessObjects has a lot more to offer — such as the interactive dashboarding capabilities of Xcelsius (aka Crystal Dashboard Design).

  2. Hi Ryan,

    I’ve been working on a project lately where I’m pulling data from SAP tables and load them into a DW. At first, after I configured the datastores (SAP and DW) I built a normal DataFlow extracting data from an SAP table with some filters and load it into the DW. For my surprise I worked beautifully, so my question is the following: What’s the difference between the R/3 Dataflow extraction and the normal dataflow extraction?? Is it wrong to use the normal dataflow extraction?

    Thanks a lot for your feedback.

    Kind regards,


    • Christian,
      The difference as I understand it is that the regular Dataflow does not generate ABAP code but instead uses RFC/BAPI to extract the data from SAP. This works fine in simple cases but I don’t think you can join tables or manipulate the data in any way. Also I believe the performance from the R/3 dataflow is better in general when connecting to SAP.

      I would suggest reading the SAP Supplement for Data Services from for more information on this.


  3. Hi Ryan,

    Good day!
    My question is what are the possible causes of the error ‘cannot connect to sap r/3 (datastore) using host, client , user, and system number . Please make sure the sap r/3 server is running and the log in information is correct?

    But when we rerun the job it will be completed successfully.


  4. Dear Ryan,

    I get data from BIODS to my SAP BI. The problem I am facing is “The data gets loaded into my SAP BI Cubes successfully and the request status will be green, but the status in moniter will be red.”

    On account of this my process chain which has this cube shows as failed.

    Can u please let me know how to overcome the issue!!!