BOBJ Data Services and Netweaver BW
This document describes the configuration of BOBJ DS (Data Service) and SAP BW (Business Warehouse) Netweaver. This configuration manual can also be used for solutions that are running on top of the BW environment such as DSiM where there is a special need for data cleansing and harmonization before being loaded into a solution operating as BI Content.
This “how to guide” provide configuration steps for creating a RFC connection between DS and BW. This includes configuration advice to which connection type to use and how to configure it. This manual also provide some best practice and problem solving techniques to avoid costly problem solving, workarounds and error handling that is most apparent using the new BO DataService source type.
SAP Data Service 4.0
SAP BW 7.31
SAP NOTE 1727378
SAP Business Objects Data Services 4.0 Support Pack 2 (188.8.131.52)
Background for Data Service - BW data transfer
The Data Services tools can be used into the SAP BI staging process, especially for Non-SAP data.
Following is the procedure for using Data Services features into the SAP BI staging process -
1) Load the non-SAP data in the Data Services engine.
2) Perform Data Quality operations on the data in Data Services.
3) Load the data into SAP BI
There are two ways for DS Data Upload to BW:
1) Data Upload to BW is controlled by BW
2) Data Upload to BW is controlled by Data Services
In the first case you manually create the InfoPackage. Here you leverage the simplification brought by BO “Data Services” Source-system-type in BW. You need to fill the jobname (or it will be generated by BW, if you enter a data store in the source system attributes), since that job will be started in data services, when the InfoPackage is started.
In the second case, the job is started already by BO Data Services. It will generate a DS-Generated InfoPackage only because BW needs it to have an object, where BW can attach the BW data load request. After generation of the InfoPackage BO Data Services remotely starts the InfoPackage and gets back this data load request. With that request data services now can start sending data to BW. Hence the call of the InfoPackage into BO Data Services (which also happens when the InfoPackage is started remotely) is ignored on the BO Data Services side.
For that reason, the contents of the InfoPackage are completely irrelevant in the second case. But if you misuse such a package for the first case, then BO Data Services gives you an error, because it generate these placeholder InfoPackage in a way, which is inconsistent for itself (because at intended usage the contents is ignored (BO dev-team in Palo Alto).
BW – Creating a RFC connection
Connecting SAP BI with Data Services
In order to allow the exchange of data and meta data between SAP BI and Data Services, we have to first establish a connection between both the systems.
On the SAP BI side this is achieved by creating a source system (External Source System in older versions BW 3.X) and in Data Services we have to create a new DataStore. Please note that a new type of Source System is now available in BW 7.3X called BO DataServices. This should allow for better performance during data transfers.
Enter the SAP BW application.
Goto Transaction RSA1
Select Source Systems in the Modeling navigation pane on the left.
Navigate to BO DataServices right click and select create.
Enter Logical System Name and Source System Name as shown above and hit Continue.
Data Services will start an RFC Server program and indicates to SAP BI that it is ready to receive RFC calls. To identify itself as the RFC Server representing this SAP BI Source System a keyword is exchanged, in the screen shot below it is "BOE_DS_SRY_vmw4698". This is the Registered Server Program, the Data Services RFC Server will register itself with at SAP. Therefore, provide the same Program ID that you want to use for the call of the RFC Server on Data Services side. All other settings for the Source System can remain on the default settings. To complete the definition of the Source System, save it.
BO Data Service - Configure a RFC connection
In this section we will create establish the Source System and start the RFC Server on the Data Services side. Since version 3.2 of DataServices this RFC server is folded into the Management Console.
So we start the Management Console, ( selecting the button in the DS Designer) expand to the new "SAP Connections" node and open the "RFC Server Interface" item. In the Configuration tab a new RFC Server is added so that it can register itself inside the SAP System with the given PROGRAM_ID.
Start the RFC server
BW - Test the RFC Connection
Login the SAP BW application.
Goto Transaction SM59
Select the folder TCP/IP connections and double click on the RFC connection.
Click on Connection Test.
The connection will display if successful or not.
Create the BW Data Sources
Login the SAP BW application.
Goto Transaction RSA1
Navigate to Source Systems under Modeling and double click the created BO DataService connection.
Right click on Source Systems (RFC connection) and then create or map the data sources needed with a certain RFC connection. BI Content can also be activated and installed for this scenario and the schema or data structure (Meta data) will be visible in DS.
BW as target source in BO Data Services
Login the SAP BO Data Service Designer.
The SAP BO Data Service Designer will be used to create jobs and queries for data harmonization and cleansing.
Now we would like to map and select the created Master and Transaction data sources.
In the BO Data Service Designer Local Object Library double click on the created DataStore.
Import the BW data sources by selecting the Master/Transaction transfer structures accordingly. You can only select “import” in the branches of the tree structure.
Import all the Data Sources form BW which you would like to populate using DataServices.
Important to know BW 7.30 – Data Services XI4.0
There are two ways one can schedule or execute a BW Load Job:
- 1) BW Load Job is scheduled or executed from Data Services system. In this case you should create a BODS Source System (SAPDS_SOURCE) in SAP BW system (RSA1) with no attribute set. It points to (or correspond to) a separate RFC Destination (SM59), for example SAPDS. SAPDS may point to program ID DSPROGID.
- 2) BW Load Job is scheduled or executed from the BW system. In this case you should create another BODS Source System (SAPBWDS_SOURCE) in SAP BW system (RSA1) with attribute set. It points to (or correspond to) a separate RFC Destination (SM59), for example SAPBWDS. SAPBWDS may point to DSPROGID.
- If you don’t set the attributes, then you need to provide a repository name, jobserver name and job name in InfoPackage 3rd party parameter section.
- This option also give SAPGUI user to automatically create BW DataSource which get the structure from source table like Oracle. Please refer to external sources section below.
External Sources via BW 7.30 – Data Services XI4.0
BW 7.30 and Data Services XI 4.0 has a modeling integration, where you do not need to leave BW Data Warehousing Workbench at all in order to connect to any of these external systems and get the data out! But of course, since Data Services still is a separate installation, there are some prerequisites, which you need to do on data services in order to be able to retrieve remote function calls from your BW system.
Open up the Data Services Management Console,
Log in and go to the Administrator Section. What you need first and foremost, is an SAP connection, i.e. an RFC server listening to BW:
Log in and go to the Administrator Section and go to the “RFC Server Interface Configuration and add a connection.
The type of connection on ABAP side is a “registered server program” and the logon data you enter is needed to register this program on the SAP application server. For that reason, you need a separate RFC server configuration per SAP application server in data services. Give them all the same “RFC ProgramID” and make a note of it. In this example we use “DI_GEMINI”. You will need it later when you do the inverse connection from BW to Data Services.
Now login to your BW data warehousing workbench and connect using an external system. Start with the source system area of data warehousing workbench: In this example we are connecting to a MySQL Database.
Now we don’t use the “Data Services System”.as we want to connect to a (external) MySQL-Database and call a source system DB resp. “For example a Sales Database”.
Once creating a source system of type “Ëxternal System” you enter the RFC program ID, which you had named your RFC servers, You can access this via transaction SM59 – TCPIP. If you maintained the SNC settings in the RFC server, switch to the “Logon & Security” tab and check the radio button “Send Logon Ticket without Ref. to a target system”:
Save and test
When you leave the screen two screens should appear. You need to enter the name of the repository of your data services system and the name of the Job Server You may use the value help for the exact naming.
The second “attributes”” window will appear where one define Data services object “data store” To define this one require a username and password to logon to the BW. In order to access the business data on my MySQL database, one has to define another data store via data services. This time it is a source data store (a data store might be source or target).
In case there is no data store available which connects to the external database (MySQL), one can enter a new name into the input field and press the “create” button. The system prompts which data store type to use? In this example MySQL is a relational database management system without change -delta capture therefore we select “RDBMSDataStore”, and not “CDCRDBMSDataStore. The “configuration” name column becomes available. In this example the configuration is automatically named DEFAULT. But the type of configuration one needs to choose with the value help.
The DataSource is in this case an ODBC-Datasource not BW DataSource. Because the MySQL database is accessed via ODBC technology, one should enter the name of the database, a username and password to connect to the database. For entering the password, click on the input field and obtain another popup where we can enter the password. Confirm all popups and the system will go to data services and create the two mentioned data stores and store their names and the name of the repository and job server as attributes of the source system in BW. The data store configuration itself will not be stored in BW – but one can change it by clicking on the edit button in the source system attributes, it then will be retrieved from data services (BW dev-team Walldorf).
Typical errors and support
For errors related to invalid Jobname parameter in a DS generated InfoPackage in BW please follow the following workaround to remove the repository name in BW.
Go to transaction SE16.
Open the table RSBOBJDS_LOGSYS
Remove entries for REPOSITORY, JOBSERVER column for BO DS Source System.
Delete the DS generated InfoPackages and run the DS jobs again to create new ones.
You can also refer to SAP NOTE 1727378
In some documents the authors provide advice to complete the respository and jobname which could be misunderstood, in this case (using DS generated IP) will lead to a follow-up error as displayed below.
Therefore “Please donot complete the 3rd Party Selections tab” for DS generated InfoPackages using type BO Dataservice data source. It should remain empty as indicated below.
PS It’s important to remember that one must complete the repository and Jobaname parameters for InfoPackages created and triggered in BW.
Author and Editor