SAP MDM Integration to SAP BW using SAP Process integration (XI) as middleware
BW consultant’s/Developer’s who are planning to implement/design solution for SAP MDM integration with SAP BW 7.x.
h3. Purpose of the document
This document describes the nuances to push XML(Xenstible markup language) data to SAP-BW using the Web services.
Note: SAP BW has source system called WEB service in Data warehousing workbench-RSA1
There are scenarios as customer demands, if you need to push the data from a non-SAP system in to SAP BW, there are three different ways to do it. They are listed as below,
a) Transferring Data Using the SOAP-Service
b) Data Transfer Using Web Service
c) Data Transfer Using SAP XI
In all three transfer mechanisms mentioned above, data transfer takes place via transfer mechanisms that are sufficient for Simple Object Access Protocol (SOAP) and are XML based.
The Below high level architecture that shows SAP-MDM as outbound system push the data to SAP-XI which in turn send data records to SAP-BW via ABAP proxy calls.
Figure 1 High level data flow of Integrating MDM using XI as middleware to SAP-BW
h3. *System Pre-requisites *
a) SAP MDM as source system
b) SAP XI as middleware
c) SAP BW as Target system
h3. *Web service Datasource-Definition *
Web Services are independent, executable application functions based on open and generally accepted standards. They can be published, searched for and called across the entire network.
The following are the high level steps that are necessary for development and integration of SAP MDM data records into BW using XI as middleware.
- Create Data source for the Web Service based source system
- Create Info Package for the Data source
- Create ABAP Proxy using Function Module generated by Web Service
- Create Data Target
- Insert Info Object as InfoProvider
- Create Transformation and DTPs to load data to Target
*Procedure </h3><p class=”Default”>The following are the step by step procedures followed for Sending SAP MDM data records push into SAP-BW. </p><p>+Note*: MDM always sends the data records in form of XML tags</p><p>Example of XML Tags are shown below</p><p class=”Default”> </p><p class=”Default”> </p><p class=”Default”>
h3. Step -1 Create Web Service Based Source system
a) Go to Transaction RSA1 from SAP BW system.
b) Click on Source System, Right Click on Web Service folder
c) From the context menu, Select +Create +
d) In the pop-up window, enter logical system name and source system name(Description) as shown in below screen shot
h3. Step-2 Create Web Service DataSource
a) Choose XI source system; right click on select Display DataSource Tree. This will take to data sources Page in DW Workbench.
b) Right click on the Application Component and select Create DataSource
c) In the pop up screen, enter DataSource name, Source System and type of Data Source
d) Maintain fields which needs to be extracted from XML under Fields tab
e) Save and activate the Data Source
After maintaining the relevant fields the next step would be to save and activate the Web service datasource, the system will automatically generate the Web Service with technical name as /+BWC/CQYDS_XML00001000 +and the relevant Function Module with technical name +/BWC/CQYDS_XML00001000 +are generated.
h3. Step-3 Create Info Package for the DataSource
Infopackage is mandatory to extract and stage data from source system into PSA for SAP BW NW2004s system.
a) Right click on DataSource and select Create InfoPackage
b) Give Info Package Description and press Save
h3. *Step-4 Generate ABAP Proxy that uses Function Module (Web Service) *
a) Start Transaction +SPROXY </p><p class=”Default”>b) Choose the Message Interface Name of the Web Service </p><p class=”Default”>c) Choose the Inbound Interface, right click and select Create Proxy </p><p>d) Enter name of the package and prefix with Y for the proxy name and press Continue. Save and Activate the Proxy</p><p class=”Default”>e) Navigate to Implementation class “YLOCCL_CUST_BW_ASYNC_IN” by double clicking</p><p class=”Default”>f) Navigate to the method “YLOCII_CUST_BW_ASYNC_IN~EQUIP_BW_ASYNC_IN+”
g) Implement the code as per your requirement
h) Then Save and activate all the method, class and interface components.BW is now ready to receive data from the Integration Server of XI via the Proxy Framework and the implemented Proxy.
*Step-5 Create Data Target (In this context Info Object) </h3><p class=”Default”>a) Navigate to Info Objects by double clicking in RSA1 transaction </p><p class=”Default”>b) Right click on the Info Area and select Create InfoPackage </p><p class=”Default”>c) Give the Info Object name and description </p><p class=”Default”>d) Choose the required data type and enter the length </p><h3 class=”Default”>Step-6 Insert Info Object as InfoProvider </h3><p class=”Default”>a) Navigate to InfoProvider by double clicking </p><p class=”Default”>b) Find the Info Area, right click and select Insert Characteristic as InfoProvider </p><p class=”Default”>C) Give the Info Object name in the pop up screen. This will insert Info Object as Info Provider to load Attributes and Text data</p><h3 class=”Default”>Step-7 Create Transformation and DTP to load data to Target </h3><ol><li>Right click on Data Transfer Process folder under Info Object and press Create Data Transfer Process.</li><li>Give DTP name and choose appropriate DataSource and Source system name in the pop up screen.</li></ol><h3 class=”Default”>End Result*
a) XML files will be picked by XI middleware to process and sent to BW PSA table
b) In the DataSource. Requests in PSA will be open for any number of loads. We need to change it to successful to load to Data Target. This task can be performed manually .Go to Monitor in Info Package change the status manually to Green by choosing Status ok.
c) After Setting is set to successful, we can load the data to Data Target through DTPs.
To automate this process use process chain use the process type as Close Request of InfoPackage (RDA/Push)