Extraction CRM BW
Extraction CRM BW
Extraction CRM BW
Applies to:
SAP Net Weaver BW. For more information, visit the EDW homepage
Summary
Detailed description on how to extract a CRM Data source - using BADI Author: Adlin Sundararaj
Author Bio
Adlin S is working as SAP-BI Consultant in Accenture Services Private Ltd and has experience of working on implementation and maintenance projects.
Table of Contents
Introduction ......................................................................................................................................................... 3 Business Scenario .............................................................................................................................................. 3 Step By Step Implementation ............................................................................................................................. 3 Step 1: Checking the Source System (CRM in our case) .................................................................................. 3 Step 2: Add the SDM field in the Source System ............................................................................................... 4 Step 2.1: Create an append structure for the 0CRM_SALES_ORDER_I ...................................................... 4 Step 2.2: Check if the business content is active for the SAP CRM sales order DataSource ........................ 5 Step 2.3: Check the extraction structure and the BDoc mapping ................................................................... 5 Step 2.4: Create a new BAdI implementation to fill the enhanced field in the append structure .................... 6 Step 2.5: Activate the new BAdI implementation ............................................................................................ 7 Step 2.6: Test the new BAdI implementation in the extractor checker ........................................................... 7 Conclusion .......................................................................................................................................................... 8 Related Content .................................................................................................................................................. 9 Disclaimer and Liability Notice .......................................................................................................................... 10
Introduction
SAP CRM uses BW Adapter to extract data from SAP CRM and send it to SAP Business Information Warehouse and SAP NetWeaver Business Intelligence. We can use Adapter when we have Synchronization Business Documents (sBDocs) & Messaging Business Documents (mBDocs).
For sBDocs, BW Adapter extracts objects relevant to mobile clients. For mBDocs, BW Adapter extracts objects for CRM business transactions and CRM billing. To populate the enhanced fields in real time, which means that the enhanced fields are written to the delta at the time we save the transaction. In this case, we can use a Business Document (BDoc) Business Add-In (BAdI) to enhance the CRM DataSource. This is a new process many CRM-BW implementations still use the traditional BAdI or user exit processes.
Business Scenario
In our example, we are going to extract a custom field from CRM system to BW using BADI. Our CRM DataSource 0CRM_SALES_CONTR_I Custom field Service Delivery Manager (SDM) Our standard DS does not have all the fields which are required by customer, so we need to manually add the required fields and do the extraction.
Step By Step Implementation Step 1: Checking the Source System (CRM in our case)
Go to the source system and check the Sales order data. As we can see below, the Service Delivery Manager (SDM) field is present in CRM system Service Delivery Manager (SDM) is a partner function which is maintained in CRM system.
If we check RSA6 in SourceSytem (CRM), in this screen you can see the list of all of the activated Data Sources in the source system.
Double Click on the DataSource 0CRM_SALES_ORDER_I this field is not available in the Extractor. We need to extract this field Service Delivery Manager (SDM) to BW.
to continue.
Now add the field Service Delivery Manager (SDM) in the append structure. Create a field SDM in BU_PARTNER domain since it is a business partner function.
And maintain the field label as well. Now save and activate. Now if you can see, new field will be created in the extraction structure of 0CRM_SALES_ORDER_I Datasource. Save and activate the Append structure & extraction Structure.
Step 2.2: Check if the business content is active for the SAP CRM sales order DataSource Follow IMG menu path SBIW Data Transfer to the SAP BIW Settings for Application-Specific Data Sources (CRM). In this example, I have a Messaging Business Document (mBDocs) because I am not dealing with mobile clients. For mBDocs, BW Adapter extracts objects for CRM business transactions and CRM billing use the BAdI CRM_BWA_MFLOW. BW Adapter calls the mBDocs BAdI CRM_BWA_MFLOW to enhance the partner function Service Delivery Manager (SDM) In SAP CRM 2005, use transaction code BWA5 to check if the business content is active for your CRM DataSource in my example, this is 0CRM_SALES_ORDER_I
Step 2.3: Check the extraction structure and the BDoc mapping Use transaction code BWA1 (creates or enhances new CRM-specific Data Sources using the BW Adapter). Enter the CRM DataSource you want to check in our example, this is 0CRM_SALES_ORDER_I. Click on the Display button to see the extract structure and confirm that it matches our CRM DataSource.
The above figure shows that the BW Adapter knows about the additional field, but it does not yet know how to fill it. In the following steps you show BW Adapter how to fill these fields. The Mapping tab contains the mapping of BDoc fields to the extract structure fields, but you dont need to take any action here. Step 2.4: Create a new BAdI implementation to fill the enhanced field in the append structure Object-Oriented (OO) ABAP code in a BAdI is based on the concept of classes, methods, and inheritance, but you do not have to understand this fully to implement a BAdI. Simply think of methods as a function module with the same import and export parameters and follow the simple instructions below to implement the BDoc BAdI. In transaction SE19 (BAdI implementations), in the Create Implementation section, select Classic BAdI and enter CRM_BWA_MFLOW as the BAdI Name (Figure 8). Click on the Create Impl. button and name the new implementation ZCRM_BWA_MFLOW_IMPL.
After you create ZCRM_BWA_MFLOW_IMPL, click on the Interface tab to see the BAdI implementation with the Interface Name IF_EX_CRM_BWA_MFLOW (Figure 9). The system assigns the method ENHANCE_DATA_SOURCE, which contains the logic to populate the enhanced field.
Step 2.5: Activate the new BAdI implementation In transaction SE19, Click on Enhancement Implementation Activate to activate ZCRM_BWA_MFLOW_IMPL. After you implement this BAdI, you can also display your implementation by using transaction code SBIW and following IMG menu path Data Transfer to the SAP Business Information Warehouse Settings for Application-Specific Data Sources (CRM) Settings for BW Adapter BAdI BW Adapter: Enhancement of DataSource in the Messaging Flow. Step 2.6: Test the new BAdI implementation in the extractor checker After you add the new implementation ZCRM_BWA_MFLOW_IMPL, run transaction RSA3. Youll see the below screen in (without the Debug Mode check box selected).
Execute the extractor checker. If you filter the value to this value SDM,
If the value is not what you expected in this example 910001 select Debug Mode and run the extractor checker again. Set the BAdI breakpoint for debugging at the first stop when you run transaction RSA3. Now that you have the enhanced field in the extract structure and have populated the value with the BDoc BAdI, it is ready for the BW team to extract to SAP Net Weaver BI. Follow the same process that you would for any other enhancements: Replicate the enhanced Data Source in SAP BW Add the enhanced Info Object in the data container: Data Store Object or Info Cube Map the enhanced fields in the transformation or Info Source Load the data
Conclusion
Like this we can write all our enhancements in separate methods in the same class. By this we improve performance and flexibility to work on respective enhancements without disturbing other enhancements.
Related Content
http://forums.sdn.sap.com/thread.jspa?threadID=1942175 http://forums.sdn.sap.com/thread.jspa?threadID=1700193 For more information, visit the EDW homepage