A Treatise on CRM (ADB) Data Extraction for Business Information Reporting

Applies to:
Customer Relationship Management (CRM 7.0) with my SAP Business Suite and Business Warehousing (BW) with SAP NetWeaver 7.x.For more information, visit the EDW homepage.

Summary
The article focuses on the concept and implementation of SAP Customer Relationship Management (CRM 7.0) application database (ADB) data extraction for business information reporting. CRM BW analytics offered by SAP is a vast topic due to the extensive and tight integration offered by SAP between the two applications, and thus the content presented in this paper would largely confine to the data extraction from the application database of SAP CRM 7.0 system using its BW adapter framework. The paper explores in detail the concept behind the SAP CRM BW Adapter used for exchange of information between SAP CRM and NetWeaver BW, and the steps involved in configuring and implementing the same. Analytics for CRM mobile clients, consolidated databases (CDB) remain outside the scope of this paper. Author: C V Vijay Raj

Created on: 28 July 2010

Author Bio
C V Vijay Raj is a Production/Industrial engineer and works as an SME and lead consultant for Business Intelligence with SAP NetWeaver BW 7.x and Business Objects, and executes multiple business intelligence/enterprise data warehousing implementations for enterprises across the globe. He focuses on process centered early business intelligence implementations with SAP in SOA environments.

SAP COMMUNITY NETWORK © 2010 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com 1

A Treatise on CRM (ADB) Data Extraction for Business Information Reporting

Table of Contents
Introduction ......................................................................................................................................................... 3 The CRM Application .......................................................................................................................................... 3 The paradigm of packaged application development ......................................................................................... 4 Adoption of SAP standard solution – An early BI scenario ............................................................................. 4 Use of surrogates within SAP to meet requirements ...................................................................................... 6 Custom development ...................................................................................................................................... 8 Concept of SAP CRM data extraction ................................................................................................................ 8 Understanding the SAP CRM One Order Framework – A brief...................................................................... 8 Business Documents or BDocs ...................................................................................................................... 8 SAP CRM BW Adapter ................................................................................................................................. 10 Delta initialization of BWA Data sources....................................................................................................... 11 Delta extraction of BWA Data Sources ......................................................................................................... 13 Implementation of data extraction based on BW Adapter data sources .......................................................... 15 Installing business content BW Adapter based data sources ....................................................................... 15 Customization for BWA data sources ........................................................................................................... 17 Enhancing a BW adapter based data source ................................................................................................... 19 Scenario A ..................................................................................................................................................... 20 Scenario B ..................................................................................................................................................... 25 Scenario C .................................................................................................................................................... 26
Enhancement with CRM Application Enhancement Tool ........................................................................................... 26 Enhancement with CRM Easy Enhancement Workbench ......................................................................................... 38

Extraction of user status of one order objects .................................................................................................. 43 Operational aspects of BW Adapter data sources ........................................................................................... 48 Delta Initialization .......................................................................................................................................... 48 Incremental delta upload ............................................................................................................................... 49 Delta upload .................................................................................................................................................. 51 Conclusion ........................................................................................................................................................ 55 Related Content ................................................................................................................................................ 56 Disclaimer and Liability Notice .......................................................................................................................... 57

SAP COMMUNITY NETWORK © 2010 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com 2

A Treatise on CRM (ADB) Data Extraction for Business Information Reporting

Introduction
SAP Customer Relationship Management (CRM 7.0) application which comes as a part of my SAP Business Suite is arguably evolving as the best customer relationship management solution currently available in the market. There was a time when the CRM solution offered by SAP was looked up on as a less competent product against the other competitor CRM products available in the market. But over a period of time during the life cycle of this product SAP has been largely successful in positioning its CRM solution as arguably the best, and changing the perception of the industry. Behind this success, much is attributed to the extensive integration that SAP has offered for its CRM solution, with its counterpart analytic application, Business Intelligence, and the backed ERP, which forms a part of SAP ECC 6.0 on the SAP NetWeaver platform. There perhaps is no product which can match the capability offered by the CRM BW combination that SAP has offered for its customers. Thus the integration between SAP CRM and SAP BW forms the basis for the analytical applications delivered with my SAP CRM Analytics. And, for this very reason, my SAP CRM Analytics happen to remain a vast topic, that a complete treatise on the same would apparently end up in writing a voluminous book, something which I would tactfully refrain to as a pretext. Thus the content of this paper is confined to basics of the CRM BW adapter framework, for application data, which forms the basis for data transfer from CRM to BW. The concept behind the CRM BW adapter framework is discussed in detail with emphasis on the data extraction from the CRM Application Database (ADB). It shall also cover the necessary configurations to be carried out in the SAP CRM system for data extraction to the BW system. The paper would exclude the data extraction for SAP mobile CRM which is configured for mobile clients exchanging data with the CRM server, though the same also fundamentally works based on the CRM middleware and the BW adapter.

The CRM Application
A customer relationship management solution is primarily responsible for the interface of an enterprise with its customers, clients, partners and sales prospects. Unlike an ERP, the functionality expected out a CRM application is different, essentially due to the dynamic market and ever changing needs of the customer. A good CRM solution offers tight integration to automate and synchronize business process with customer centric activities of marketing to after sales service/support. It involves all stages starting from the identification of prospects from the market, followed by sales conversion, execution (which generally happens in the core ERP application, demanding the need for tight integration of a CRM application with core ERP application) and after sales support. Thus a CRM application should be a flexible platform that supports end to end processes across and beyond the enterprise. A good CRM implementation should also be capable of addressing key questions relating to the customers, market dynamics, sales and service operations. The analysis of information captured by the CRM application is thus the basis for marketing campaigns, opportunity and sales planning and service execution, which is often described as the closed loop scenario by SAP. A closed loop scenario is the complete cycle from capturing the data, analysis of data, and applying the results in the operational areas. The results are then returned from the operational level to be fed back into the analysis. This constitutes a closed loop incorporating analysis, operation, and feedback. A successful and comprehensive CRM solution calls for close integration with a customer information platform, where all relevant customer information is gathered consistently, and analytical insights have to be provided in the operational processes to enable informed decision making. The dynamic nature of the market and ever changing customer needs require the technology and application to be based on a framework that would cater the same. For all these reasons, my SAP CRM is tightly integrated with NetWeaver BW, and helps with the following;     Measure and assess the success of business by collecting all relevant data and monitoring the corresponding key performance indicators. Predictive capabilities to identify hidden patterns and trends that drive business, and apply these learning to predict future trends and carry out efficient operations. Application of the analytical results to operational processes to enable decision making at process level. Available standard business content extractors to facilitate automated collection of relevant data from CRM.

SAP COMMUNITY NETWORK © 2010 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com 3

A Treatise on CRM (ADB) Data Extraction for Business Information Reporting

Data Mining in BW for CRM Analytics      Clustering; for customer segmentation. Association analysis: for cross selling behavior. Decision trees: for identifying specific profiles that impact a particular behavior observed Scoring: for combining different aspects in an overall evaluation. Linear and multi-linear regression: to extrapolate data for prediction and behavioral trends.

Thus my SAP CRM consists of an operational CRM system together with a data warehouse that serves as a consistent organizational customer knowledge base.

The paradigm of packaged application development
One of the prime motives behind this paper happened when it was observed, as a part of audits for SAP CRM-BW implementations, that consultants adopt the same method of data extraction for the SAP CRM system as that of an SAP ECC system. It is true that the same method of data extraction definitely works, and it is in this context that a reiteration of the often lesser spoken paradigm of packaged application development is made. The paradigm of packaged application development, as I would call, can be put up as a set of simple points, which determines the approach that needs to be adopted while executing an SAP implementation. A package application is a commercial application program or collection of programs developed to meet the needs of a variety of users or customers, than custom designed for a specific user or company. SAP too has its own products or packaged applications that meet the desired requirements of a variety of enterprises. An organization procures the packaged application as a product and deploys the same depending up on its needs and requirements to facilitate and carry out its operations. In packaged application deployments, as with SAP implementations, right solution adoption (often referred to as right ‘solutioning’ in the industry, paradoxically with ‘solutioning’ itself being a wrong usage in English language) is the key, and is the backbone of all successful implementations. A wrong solution adoption often affects business operations, maintenance, scalability, upgrades and change management process. The product and its functionality knowledge is very important in driving the right solution adoption. A crystal clear understanding of features offered by the packaged application, the scenarios under which the same can be leveraged is the stepping stone for the right solution adoption. With SAP applications, the consultant’s business process assimilation remains the basic prerequisite and his expertise, judged up on by the understanding and working knowledge of the respective SAP product, is required to be successfully able to map the former to the latter. The below three points, in sequence often drives the right solution adoption 1. Adoption of standard SAP solution, business content as for BI. 2. Use of surrogates within SAP to meet requirements 3. Custom development within the framework of the SAP solution. Adoption of SAP standard solution – An early BI scenario Adoption of the standard solution is the first and the best principle when it comes to successful solution deployments. The packaged application, as with SAP, provides the standard functionality, along with scenarios, where the same needs to be deployed. Use of standard solution decreases implementation efforts, increases quality of deployment, easier scalability and maintainability, and remains compatible with upgrades. From a standard solution perspective, SAP recommends use of CRM BW adapter framework for BW adapter based CRM data sources, than using classical methods of data extraction similar to SAP ECC. Specific focus on early BI scenario is taken as most of the SAP CRM deployments have BW, often in parallel, in the implementation roadmaps. As in case of SAP Business Intelligence, a consultant is expected to have a crystal clear understanding of each of the standard business content data models delivered by SAP, how underlying information from SAP ECC, CRM, SRM, SBO etc is modeled by standard SAP which itself is a huge task, apart from fundamental knowledge of business process and technology understanding (SAP BI as a data warehousing application). This is very important from the perspective of success of an early BI implementation, where the OLTP and

SAP COMMUNITY NETWORK © 2010 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com 4

A Treatise on CRM (ADB) Data Extraction for Business Information Reporting

the OLAP implementations are carried out hand in hand. In such implementation due focus is laid on the information requirements of the organization, together with the automation of business process and leveraging the advantages of an ERP application for the same. BI consultants play a very important role in these implementations by active participation, right from the business process analysis and blueprint phase and helps determining the necessary configuration and fields for capturing information after analyzing the information requirements of the organization. After studying the information requirements of the organization, in these implementations, the consultant analyzes the same with the data models offered by SAP as part of the business content, and provides analysis oriented inputs for the SAP OLTP consultants. CRM BW being a robust competent solution offered by SAP, BW implementations often happen hand in hand along with the CRM implementations. Below is explained a sample scenario, where the same happens during an early BI implementation. For e.g. an organization having CRM and BW in parallel in its implementation roadmap, as a part of its service process has an information requirement for analyzing costs of service. A service for the customer, as a part of service process can happen as a paid service, warranty service, goodwill service, FOC, etc, and the costs incurred differs based on the type of service transaction (i.e. whether it is a paid service, warranty service, goodwill, free of charge etc.). The same service, say a replacement of a part, incurs different costs on the organization depending on the type of the transaction, i.e. paid service, under warranty, goodwill, FOC delivery etc. For reporting to happen for this kind of requirement, in early BI implementations, the BI consultant has to ensure whether he/she is having the underlying data for meeting the organizations information requirement. The BI consultant, with his/her solution knowledge understands that, SAP, in its standard business content has got the provisions for meeting this kind of requirements. The standard SAP business content data model for CRM Cost and Revenue Analysis as a part of Service Analytics provides the info-object called accounting indicator (0CRM_AC_IND) which is specifically delivered by SAP to meet this kind of requirements. The accounting indicator when set in the CRM system can serve as a distinguishing parameter in addition to differentiation by cost elements. Thus incurred costs and earned profits are identified by sales volume, warranty or good will. The accounting indicator serves as the criterion to differentiate between billable, non-billable, and partially billable products for pricing and controlling purposes. Non-billable and partially billable services and parts are those provided under warranty or in goodwill. The accounting indicator is used for differentiation of products for pricing in service, based on absolute or percentage discounts and surcharges. Accounting indicator in the pricing conditions controls pricing for products covered. It also helps in differentiation of actual costs in controlling, where CRM is integrated with ECC controlling, where the accounting indicator is used to differentiate actual costs and expenses while posting to an internal order. Every service order in SAP CRM, when configured appropriately (single object controlling based on transaction types), creates an internal order in ECC for settlement. The accounting indicator thus influences the determination of value fields for the profitability segment in the profitability analysis. The related internal order settles its costs to different receivers, where associated costs are settled to a specified cost center. To address the information requirement of the service department of the organization, the BI consultant has to ensure that the required data is captured in the SAP CRM system. If the data is not captured at this level, the BI application will never be able to meet the information requirement, though from a process level CRM will still be able to carry out the operations. The data model provided by SAP standard for CRM Cost and Revenue Analysis, as a part of the standard business content will be unable to fetch any data if the source system, i.e. SAP CRM in this case, as it is not configured for the same. This disconnect normally happens when, the requirements provided by the organization happens at two levels, where people heading and managing operations in the organization drive the CRM implementation. They will not be able to envisage the information requirements from a holistic perspective, which requires highest level insights. A BI consultant, involved with the early BI implementation, resolves this disconnect by incorporating the holistic view at the process level. Early BI implementations, though challenging, ensures that all information requirements are met, in comparison with normal BI implementations, where BI starts after OLTP implementation or with live OLTP systems, where sometimes certain information requirements are not met with data not being captured at process level at all. To use the accounting indicator for meeting information requirements, the activation of the accounting indicator is required, and entries have to be maintained in SAP CRM in customizing. The information requirement as a part of the process also determines whether the same needs to be captured at the header level or item level. When captured at the header level, it gets copied to all items. And the accounting indicator can be set at the item level, in scenarios where items can have different pricing, for example, when a replacement part is procured and the service is free, which happens to be two different items of the same

SAP COMMUNITY NETWORK © 2010 SAP AG

SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com | UAC - uac.sap.com 5

sap.com 6 . Figure 1: Approach for early stage BI implementation with SAP Use of surrogates within SAP to meet requirements There are scenarios in real life implementations. where a part to part replacement is executed by the OEM.boc. an example of the adoption of a surrogate solution when desired functionality is not available as a part of the standard solution. Note that the accounting indicator is only used for the posting of costs to the receiving cost collector and revenues are always posted without the usage of an accounting indicator. The surrogate solution requires deep expertise both at business process level and at SAP product level. In depth knowledge of business process and in depth product or packaged application knowledge. the external authorized service centers carry out the required service for the end customer.bpx. SAP standard. where features provided by SAP do not directly meet the requirements at business. The scenario gets even complex as both financial settlements. the service center raises a claim on the OEM for services borne by it.e. yet remain confined to the framework provided. as I would call.e.com | BPX . A surrogate.sap. to meet different kind of scenarios in implementations. failure of parts covered by the warranty tenure.sdn.com | BOC . does not meet. say an automobile manufacturer.e. but is leveraged from the standard SAP solution as a surrogate.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting service order.sap. After the service. it is a sale for the service center to the end customer fulfilled from the stock owned by the service center. in case of service by SAP COMMUNITY NETWORK © 2010 SAP AG SDN . Such scenarios would require the consultant to go beyond the standard solutions offered by the packaged application.uac. the service center still would carry out the service for the end customer by replacing the part from the available stock. in cases of warranty. In part replacement. outside the set of standard scenarios provided. But in case of a warranty service. the SAP product. and the approach of adopting the standard remains as the first principle behind all successful package application deployments. The scenario comprises of external authorized service centers carrying out service on behalf of the OEM. by standard. Below is explained. include or cover the scenarios available at hand. Thus. i. i. i. It is under these circumstances that the consultant needs to look for alternative solutions within the framework provided by the packaged application. in case of paid service. is required to provide surrogate solution for requirements outside standard scenarios of the packaged application. which even may require the replacement of the part.com | UAC . is a functionality that can be leveraged from the standard features provided in the packaged application. the above looks example explores how the standard BI solution offered by SAP gets implemented in an early BI implementation for CRM service. SAP. Whenever there is a part failure in automobile sold by the OEM. Identification and deployment of surrogates is required to meet the out of box requirements arising during the course of the real life implementation.sap.

0. Any failure occurring in the metro train is always at the level of the wagon for which a notification gets created. This even today remains the niche aspect and the cornerstone for successful SAP implementations. the wagon. and financial settlement to the service center from the OEM.0 system. when made accessible through the CRM WUI has provisions for capturing the failure on equipment or its individual parts. As a part of the solution scope. and get the same integrated to it. A deep analysis of the requirement from a process level will indicate that the same can be met by the CRM complaints object. and should also be tightly integrated with SAP ECC (core ERP application) for logistic execution of the part to part replacement and reimbursements.e. The scenario was a part of an SAP implementation for metro rail business. availability. SAP CRM as a part of the standard does not directly have this feature commonly required by automobile and large equipment manufacturing industries for processing service claims. i. and the attempt was to leverage the standard content delivered by SAP BW for ECC plant maintenance to meet the analysis requirements. and maintenance orders. was configured as the standard PM functional location. the ECC PM notification captures the information of breakdowns. tasks and activities) along with DSO for breakdowns. in addition to the other marketing and sales functionalities offered by SAP CRM. and part replacement are possible under warranty. where the failed part is covered under warranty by the vendor from whom the OEM has procured the same. i. the equipments. The warranty claim available in CRM is more from a vendor/supplier warranty process. The claim would be created online and has an approval process.com | BOC . Train. both at the packaged application level and at the process level. provided with CRM service. The complaint object being closely and tightly integrated with ECC sales order can also take care of the logistic execution in SAP ECC 6. mean time to repair. The OEM. are assigned to functional location. wanted to implement SAP CRM.com 7 .0 for dealer claims as well as part to part replacement. cost and operations. had decided to use SAP ECC 6. for which a maintenance activity is carried out. and the standard scenario needs to be differentiated from the requirement at hand which is completely different. The wagons.0 module of plant maintenance to be used for maintenance operations. SAP COMMUNITY NETWORK © 2010 SAP AG SDN .boc. mean time to repair and mean time between repair. As a part of the process.sdn. in rail road / metro rail industry is commonly referred to as rolling stock. The challenge as a part of the implementation was to identify the right technical object offered by SAP PM for the rolling stock which would serve as a surrogate. The challenge imposed was to configure train in the SAP ECC 6. the train. The rolling stock. was configured as the equipment as a fleet object. a great deal of expertise is required. the existent warranty claim available in CRM is mistaken to serve this process. with its existent ERP modules based on SAP ECC 6.com | UAC .bpx. The technical objects offered by SAP PM are so powerful. The scenario required SAP ECC 6. the management was interested in monitoring and analyzing key performance indicators which included mean time between failures. As part of the example provided. and other details.sap. which throws more light to the concept of surrogates where consultant leverages standard functionality for requirements not provided as a part of standard SAP solution. The standard business content data model for ECC PM in BW cover notifications (header. Thus in identifying surrogates. so that seemingly out of box requirements are met within the framework offered by SAP. of the rolling stock. as from name. The CRM complaint object. As a part of analysis requirements for maintenance and operations for metro rail business. with the use of forward install base measurement counter reading attached to the complaint and the other required details. on the other hand.uac. All the analysis requirements are met out of the standard data model driven out of BW with minimal enhancements. that when configured the right way they enable capture the process level information and suit the analytic requirements in the simplest and standard way. This is an example of using surrogate functionality in the standard way to meet out of box requirements arising in real life implementations. Often. as a metro train at any point of time is comprised of a set of wagons. breakdown durations and revenue hour breakdowns for metro trains.e. causes.com | BPX . and thus enable capturing the process level information and will meet analytic needs of the organization. as a part of its business transformation program. which forms the surrogate for rolling stock/train.sap. identified by numbers.0 PM module for carrying out maintenance and service operations of trains. the meter reading at the point of failure. with measurement readings get captured at the wagon level. the organization. using standard object networking and the break down information. which has a subsequent maintenance order which carries out the actual maintenance aspect. the required process and object is similar.sap. It should capture the failure details of the equipment.sap. with specific dimensions and loading capacities. Following is described a second example. meter reading of the equipment. with the use of subject profile multi level categorization. items. which would require a customer call logging feature followed by processing of service center claims as part of the service process.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting the service center.

create. Though the same always works. sales order. A BDoc has different sets of data partitioned in terms of segment.g.bpx. Business Documents or BDocs The CRM BW adapter forms the framework which is primarily responsible for extraction of data into the SAP Business Information Warehouse from the SAP CRM application database.uac. Custom developments take more effort. Lack of readily available documentation too adds to this challenge. SAP COMMUNITY NETWORK © 2010 SAP AG SDN . Segments are mapped to a table where the mapping defines the relation between abstraction and physical database. that the consultant for the packaged application. priority. say SAP. for e. Concept of SAP CRM data extraction One of the prime reasons for the above literature. Thus they have different properties and characteristics. On the other hand. uses a BDoc and each of the CRM business transactions have their own dedicated BDoc. This ease can also be attributed to the very structured and equally flexible framework of CRM One Order. The business object type basically controls the functions (fields and methods) available for an object from the business object repository. text determination procedure. opportunity etc.g. which represent a logical object.0. as SAP.com | UAC . it is not uncommon to have requirements at hand. display.com | BOC . has offered the CRM BW adapter for this very specific purpose. may it be a service order. organization data. by standard. but the segments and fields need not have direct physical representations. Every SAP CRM one order object has a business object type assigned to it. It encapsulates all business data that necessary to run a business process. All transactions whether the service order. offer lesser scalability and maintainability. though from a highest level..g. partner data. and comprises of the a set of order segments. the transaction header. execute) – but are different transaction types. but once the basic concepts underlying the SAP CRM solution is clear. complaint. a Service Info Request is a completely different business object type. CRMD_ORDERADM_I etc. transaction item. a sales order. that can absolutely be not met by the packaged application.) and methods (e. CRM_ORDER_SAVE etc. A business object type can have many transaction types (similar to a document type) which define properties and characteristics such as partner determination procedure.sap. both not fulfilled by standard functionality and by surrogates. status.0 concept of data extraction from the CRM system to BW. function modules CRM_ORDER_READ. organizational data profile. and user status profile. The fields of a segment are equivalent to the columns/ fields of a table. For example a service call ticket and a service order share the same underlying BOR object type and hence have the same available fields (e.boc. apply across all one order transactions. The SAP CRM transactions use business documents or BDoc for writing the transactions to the CRM application database and also for all other communications.sap. for e. resort to the last option of custom development. A business document or the BDoc is defined as a set of transaction statements. opportunity. the service order object. service info request. Sometimes BW consultants adopt the commonly practiced SAP ECC 6. meaning it really has different functionality and fields. All these different order objects are distinguished by the CRM business object type (for e. at least in BW. SAP CRM has a more encapsulated object based approach which takes a little more time for consultants new to CRM to understand the way CRM functions. It is this context. before implementing the extraction of CRM data to SAP BW.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Custom development In ERP and enterprise data warehouse/ business intelligence implementations. this often remains confined to a specific module or a set of modules. are technically handled in a similar way by SAP CRM with its one order framework.sdn. that holds specific data like. subject profile data etc. and customers go for the packaged application. Understanding the SAP CRM One Order Framework – A brief It is very important to understand the CRM One Order framework for business transactions. Segments correspond to logical tables. and that both the applications are based on the same framework. was to give a deeper insight to the methodology for right solution adoption.sap. dates. with SAP at its best. Likewise the tables CRMD_ORDERADM_H. Every business object.com 8 . Unlike ECC 6. It is like a semantic layer that resides above the CRM application database. In packaged application implementations. which transacts with the application database to request or to write data. it is not an indication of the right solution adoption..g. business object type ‘BUS2000116’ determines the service object). The transaction CRMD_ORDER is used to display all transaction in the SAP CRM backend within the CRM one order framework. it is far simpler to understand and work with in comparison to SAP ECC 6.g. complaint etc. etc. A segment is a part of every business document and has at least one segment table per segment.com | BPX . for the strong foundations they offer for the technology and application platform.sap.0.

b) Synchronization BDocs (sBDocs) – These are used only for data synchronization with mobile clients. or sending data to an external system. whereas in BDocs used. and there exists a mapping between the BDoc segments and the consolidated databases (CDB). In CRM.0 or BW. all happens through the semantic framework of b-docs. all interactions with the application tables. as the latter signifies its use for data transfer between different systems. a data segment can also be mapped to a join of tables or to a table view. Figure 2: Structure of a business document or BDoc SAP CRM makes use of messaging BDocs for data extraction to BW via the SAP CRM BW Adapter. a) Messaging BDocs (mBDocs) – The message exchange with CRM server applications.sap. The control segment merely contains header information.boc. They were also called write BDocs. which is also referred to as segment attributes. on the client side only. the socalled control segment and the BDoc body consists of one or more data segments and one error segment.0 and external system takes place within the CRM middleware using messaging BDocs. It gives a standard structure to facilitate data exchange.sap. SAP COMMUNITY NETWORK © 2010 SAP AG SDN . They were also sometimes referred read BDocs. The error segment is used to store error information.uac. ECC 6. Every data segment contains segment fields. These are broadly classified into three as follows.bpx.com 9 .com | BPX . They are also sometimes referred to as online documents. No mapping between segments and database tables in the middleware side exists and they only transport gross data.com | BOC . A BDoc type consists of a header and a body. In BDoc types used for data exchange between mobile clients and the CRM Server. c) Mobile application BDocs – These are used for mobile sales/service applications to query databases.sap.com | UAC . Depending on their purpose there are different types of BDocs available in the SAP CRM system. The BDoc header consists of one single data segment. a data segment is mapped to exactly one database table. may it be SAP ECC 6. They can also be assigned to messaging BDocs.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Physical tables and columns are mapped into segments and fields and are defined in the repository.sdn.sap. These fields are mapped to actual data fields of physical database tables. may it be writing to it. The below figure shows the structure of a business document. Messaging BDocs will not be exchanged with mobile clients and hence will not be stored in the CDB for mobile clients. There exists no real difference between a BDoc and BDoc messages. and the individual data segments contain the actual table entries that form the corresponding business object. for example.

The connections to external systems are established via software adapters and they map and convert data to various formats. called BW Adapter metadata. the BW Adapter extracts the following objects into the SAP BW: a) CRM business transactions (mBDoc) b) Documents for CRM billing (mBDoc) c) Objects relevant for mobile clients (sBDoc) Extracting data using the BW Adapter requires additional information. This is not relevant for an initial data upload. and here focus is laid out only on data extraction from the CRM application database. The BW adapter in SAP CRM forms the an essential layer of CRM BW integration hence serves as the basis for transferring data for all analytical applications delivered with my SAP CRM Analytics. The CRM application components also exchange data with the middleware layer via a CRM adapter.sap. Thus. mBDocs.com | BPX . An adapter. that is. The BW Adapter thus in the process of data transfer to BW performs the following a) Relevance Check: that is whether the BDoc is relevant for BW delta upload.sap. which uses.sap.bpx. mobile clients. The BW Adapter translates the BDoc data into a structure compatible with SAP BW. i. for mobile clients.com 10 . b) Completion Service: adds information from the database to those BDocs that contain the changed data. and has been discussed in detail in the following sections. in general. This metadata comprises of the assignment of the required data source to the concerned BDoc.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting SAP CRM BW Adapter The middleware layer in SAP CRM mainly supports the controlled data exchange with other systems. would remain outside the scope of this paper. which gives the framework of CRM BW data extraction and the complete concept of data extraction in detail in the following sections.boc. to the extract structure of a BW data source. backend systems like SAP ECC 6.e. so that the data is extracted to SAP BW through the Service API. c) Mapping of the BDoc structure to the extract structure of a Data source. for using a data source for data extraction requires the activation of BW adapter metadata as a fundamental prerequisite.com | UAC . This is achieved by the flow control mechanism present in the CRM middleware which calls a number of services for every BDoc message. is a framework that translates one interface into another compatible interface. With the appropriate BDoc type. The CRM BW data extraction happens with the help of a special type BDoc called the messaging business document or the m-BDocs. It is called up as part of the flows for the following BDoc types: a) sBDoc types for synchronizing the consolidated database (CDB) and the mobile clients b) mBDoc types for the message flow within the CRM server The sBDoc based data extraction. Below is given a figure.com | BOC .uac.sap. The BW adapter metadata maps the fields of the mBDoc to the fields of the extract structure. SAP COMMUNITY NETWORK © 2010 SAP AG SDN .0 and data warehouses like SAP NetWeaver BW.sdn.

sap. The data source for extraction also works based on these same objects. the same after writing to the application database is pushed out to the external system using a compatible structure called the messaging BDoc or mBDoc.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Figure 3: BW Adapter data source flow Transactions in SAP CRM are based on the one order framework.sap.sdn. the order segments and the business documents underlying the BW Adapter. as a part of its configuration has provided the mechanism for making available these order segments and BDocs for BW data extractions.sap.boc. Thus whenever a transaction is entered /created in the SAP CRM application. complaint etc. may it be the service order. These one order objects have specific business documents or BDocs associated with them and so do they have the respective order segments and segment attributes. The required order segments are released for data extraction and the individual fields of the BDoc is mapped to the fields of the extract structure. The consultant has to ensure that only the required order segments are made available for data extraction to SAP BW taking into consideration the performance aspects too. Figure 4: BW Adapter Data source Mappings Delta initialization of BWA Data sources The BW adapter.sap. SAP COMMUNITY NETWORK © 2010 SAP AG SDN . SAP.uac.com | UAC .com 11 .com | BPX . as discussed above.com | BOC . and each of them are based on the business object types.bpx. works as an interface which transfers the data from SAP CRM systems to the BW system. These BDocs serves as an outbound structure from the SAP CRM system to the external system and the triggering of the same is governed by the CRM middleware flow controller and are determined once an entry is made to the application tables.

the system would still use the respective mBDocs which reads data from the CRM application database and transfers the same to the extract structure of the data source. Once a delta initialization Info Package is executed.boc.uac. transfers data to SAP BW using the Service API. the SAP BW system calls up the BW Adapter using the standard Service API. It has to be noted that the data source and BW adapter metadata are separate entities. in the case of a delta upload.sdn. As in the case for other SAP BW extractors. For data extraction from application databases. though in the latest releases of SAP CRM. the latter gets automatically activated with the activation of the former.sap.bpx.sap.com | UAC . A mapping module.com | BOC .sap.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Delta initialization. a delta initialization of a BW adapter based data source is also carried out by means of an INIT Info Package. maps and helps the data extraction from the CRM system using the mBDocs to the data source extract structure. SAP delivered with customer specific BAdI implementations. Activation of BW adapter metadata. which maps the BDoc fields to the extract structure fields.com 12 . the CRM BW Adapter with the help of mBDocs transfers the data stored in the CRM application database to the BW system using the respective extract structure. being a process where an initial upload of data is carried out to a BW system. The middleware in our scenario is largely responsible for triggering the outbound from SAP CRM system once the data has been written to the application database. Though the CRM middleware is not used for initialization. is a prerequisite for using the BW adapter based data sources delivered by SAP for CRM data extraction.com | BPX .sap. occurs without integration to CRM Middleware. Figure 5: Delta initialization of BWA Order Data Sources SAP COMMUNITY NETWORK © 2010 SAP AG SDN . The CRM middleware determines the delta for subsequent extractions and.

sap. The change is transferred to SAP BW using the Service API. is pushed to the BW delta queue by the BW adapter. Table SMOXHEAD contains the name of the mapping module. first checks whether the change communicated via the BDoc.uac. including determining the fact that whether the message is relevant for BW or not. The CRM middleware flow definition is displayed in the transaction SMO8FD in SAP CRM and is primarily responsible for sending the data to the BW delta queue via the adapter.com | BOC .sap. the after image. If the relevance check is successful. This BAdI helps the change of assignments delivered by SAP. Figure 6: CRM middleware flow definition for BW Adapter (SMO8FD) The BW Adapter in the event of a change to a transaction in the CRM Application.com 13 . The flow controller component of the CRM middleware calls up the BW Adapter. changing or deleting of a transaction in the CRM application. which is an integral part of the CRM middleware. Furthermore the flow control writes into the flow control log file. these BDoc types. The BAdI CRM_BWA_SFLOW is used for customer specific enhancements. The after image then gets extracted to BW by the delta Info Package executed on the BW side. The flow control. The CRM middleware flow control calls a number of services for every BDoc message and passes the BDoc message as a parameter to the services that are called.com | UAC . The CRM BW adapter based data sources works based on the after image delta with deletion.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Delta extraction of BWA Data Sources Upon the event of creating. The mapping module called up during delta upload and the BAdI's that are called up are the same as those called up during the initialization of the delta process.sap. Mapping metadata is stored in table SMOXRELP. the change is not transferred to SAP BW and the process is completed. SAP COMMUNITY NETWORK © 2010 SAP AG SDN . are used for data extraction from the CRM application database. the same information is communicated via CRM middleware in the form of a BDoc. For both initial upload and delta uploads. Services are function modules that perform particular tasks on a BDoc message. b) sBDoc types: This part definitely lies outside the scope of this paper and is applicable for data extraction for consolidated databases for mobile clients. A change is relevant if a data source for the BDoc is active and in case if it is not relevant.boc. the BW Adapter calls up the mapping module responsible for converting the BDoc data into the extract structure. AIMD. The type of Business Add-In (BAdI) called up by the BW Adapter also depends on the BDoc type: a) mBDoc types: The focus of this paper. the same mapping module (SAP-delivered mapping and customer-specific BADI implementation) is used.sap. is a virtual machine to process BDoc messages. is relevant for SAP BW or not.sdn. where the changed record. and uses the BAdI CRM_BWA_MFLOW.com | BPX .bpx.

sap. and the status of the same will be yellow.com | UAC . For transfer of the data to the BW delta queue.sap.bpx.sap. Upon the event of a change in the transaction.com | BOC .com 14 .A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Figure 7: Delta extraction framework of BW Adapter based order data sources The BW delta works on processing queue BUS_TRANS_MSG.uac. SAP COMMUNITY NETWORK © 2010 SAP AG SDN .sdn. Figure 8: Register BDoc message queue CSA* for delta transfer to BW (SMQR) Once the BDoc is successfully processed the data is written to the BW SAPI delta queue. the CSA* queue should be registered in the transaction SMQR in the SAP CRM system.sap.boc.com | BPX . the BDoc message gets created and the BDoc would have the queue CSA_ORDER_<transaction number>. If the queue is not registered the BDoc message generated for the transaction will never be written to the BW delta queue.

as in case of other data sources. After installation of the selected data source. Figure 10: Post process data sources and hierarchy (RSA6) In contrast with the other SAP data sources.sdn. is available in the transaction RSA5. the same needs to be installed from the standard delivery version. installation of data sources form business content. Figure 9: Installation of standard business content data sources (RSA5) As in the case of any other SAP delivered data source. are delivered by SAP as a part of the standard content.com | BPX . the post process data source and hierarchy. The BW Adapter metadata comprises of the assignment of the Data source to a BDoc.sap.0 the BW Adapter metadata gets activated automatically after the data source is activated in RSA5 transaction.sap. 0CRM_SRV_PROCESS_H (CRM Service Order Header Data).uac. the BW adapter based data sources are also activated from transaction after transferring the application component hierarchy from transaction RSA9.boc. Figure 11: BW Adapter metadata (BWA5) SAP COMMUNITY NETWORK © 2010 SAP AG SDN . Transaction BWA5 after 5. the corresponding BW adapter metadata is also activated.com | BOC .com | UAC .com 15 .bpx.0. say.sap. For versions prior to 5. The transaction BWA5 in CRM is still used for metadata version management of BW Adapter.sap. Once the data source is activated in RSA5.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Implementation of data extraction based on BW Adapter data sources Installing business content BW Adapter based data sources Data sources based on CRM BW Adapter. and the same is checked in transaction BWA5. this activity had to be carried out manually in transaction BWA5.0 is still used for metadata delta selection and version comparison but not for activation anymore. is available in the transaction RSA6. In order to use the data sources for extraction. the BW adapter data sources requires the BW adapter metadata to be active for their use. The data sources delivered as a part of the standard SAP content. In SAP CRM versions after CRM 5.

AIMD.com | BPX . the mapping module which maps the associated BDoc to the data source extract structure and the selection module for carrying out the initialization of the BW Adapter data source. The BW adapter metadata is stored in the following tables. gives the service API metadata.com 16 . and is also determined by the BW adapter. The BWA1 transaction is also used to maintain the BW Adapter data sources.com | UAC . The metadata tab of BWA1 gives the associated BDoc related to the data source.bpx.table SMOXGSEL Attribute key fields .sap.sdn. as for any other SAP delivered data source.sap.uac. The CRM BW adapter based data sources also works on the after image delta with deletion. Figure 12: Service API metadata for a BW Adapter data source (RSA2) Other than the Service API metadata (given in RSA2).boc.table SMOXRELP Global selection conditions .com | BOC . a) b) c) d) Header information . the BW Adapter metadata can be viewed in the metadata tab of the transaction BWA1.sap. choose ‘select delta’ to mark inactive data sources or to highlight differences between active and delivered versions.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting As in the case of service API metadata activation in RSA5.table SMOXAFLD The transaction RSA2.sap.table SMOXHEAD Mapping information . SAP COMMUNITY NETWORK © 2010 SAP AG SDN .

boc.sap.uac. more segments are provided in addition to those existent. SAP COMMUNITY NETWORK © 2010 SAP AG SDN .sdn. and keeping them inactive if not required.com | UAC . This allows easy enhancement of the data sources in the BAdI implementation.sap. But with the later CRM versions. The consultant is given the choice of activating these new segments only if required. The enhancement would allow the additional option of ‘release/un-release segments’ in BWA_SEGREL for flexibility of extraction of specific segments.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Figure 13: BW Adapter data source metadata (BWA1) Customization for BWA data sources After installing the SAP delivered BW adapter data sources. data from segments that are not present in the standard extractors are obtained by enhancing field information separately using CRM_ORDER_READ or by any other function in enhancement BAdI implementation. and this extracted information is added to the enhanced structure.sap. These standard segments are directly available for extraction and have to be released for data extraction. where the data extraction is carried out into SAP BW for those segments for which data is captured and that are applicable for reporting.com | BPX .com 17 .0. it has to be ensured that all order segments associated with the CRM one order transaction object required for reporting are available with the data source.sap. It has a performance consideration too.bpx. This helps improved performance of data extractors. and avoids the need for fetching additional data separately in the BAdI. The transaction BWA_SEGREL helps releasing the required order segments for data extraction into BW. The earlier versions of CRM before 4.com | BOC .

com 18 .sdn.sap.com | BPX .sap.g. For e.boc. The respective BDoc segments are viewed in the transaction SBDM as shown below.com | BOC . Figure 15: CRM BDoc Modeler (SBDM) SAP COMMUNITY NETWORK © 2010 SAP AG SDN .com | UAC .sap.sap. the business document BUS_TRANSACTION_MESSAGE is associated with the data source 0CRM_SRV_PROCESS_H.bpx. The BDoc BUS_TRANSACTION_MESSAGE is a messaging BDoc used for data transfer of the service order object to external systems including BW.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Figure 14: Order segments release maintenance (BWA_SEGREL) The business document or the BDoc associated with the SAP BW data source is displayed in the transaction SBDM in the CRM system.uac.

The CRM application provides a set of standard fields as a part of the CRM order objects distinguished by business transaction type. The BW adapter works in the messaging flow as well as in the synchronization flow.com | BPX . And. During the data selection for the initial upload using parallel processing. thereby avoiding data inconsistencies.boc.sap. This is applicable for all SAP delivered data sources. Parallel processing is applicable only to data sources that extract data using the BW Adapter which are connected to the BDoc BUS_TRANSACTION_MESSAGE.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting The transaction BWA1 helps maintenance of the BW Adapter based CRM data sources. The parallel processing is dispatched to a server group. the extraction process terminates. Here a BW adapter based data source with corresponding BW adapter metadata can be created. As a part of the definition of a BWA data source a BDoc is assigned to the data source in the BW adapter. It should also be able to churn the data captured by the application into useful information that can be used by the management of the organization for both operational and strategic decision making. Any CRM application.com | BOC . and adds the data to the corresponding BW delta queue. Enhancing a BW adapter based data source Enhancing a BW adapter based data source is different from other service API based data sources. the BW adapter is called up in the flow variant of the BDoc. data sources delivered by SAP can be changed. The BW adapter enables enhancement of the standard functionality of the service API in SAP BW.sap. In the case of a delta update. Thus SAP CRM.com 19 . should be flexible enough to capture data related to the ever changing customer behavior and the dynamic market in which it is a part of. provides the enhancement framework.sap. from an application perspective. the consultant should clearly understand the enhancement framework offered by SAP CRM. This accelerates the data extraction of one order data sources using parallel processing.com | UAC . thus SAP as a rule of thumb suggests that the maximum number of parallel processes should be approximately one and a half times the number of processors on the application servers. The transaction BWA8 in the CRM system is used to setup parallel processing for initial upload to BW. Other than using parallel processing for the data selection. Figure 16: Parallel processing for initial upload to BW (BWA8) Entering too large of a number of processes has negative consequences on system performance.sap.bpx. and in case a server group is not specified. SAP COMMUNITY NETWORK © 2010 SAP AG SDN . the load on the application server is distributed across several processes belonging to a server group. the system uses all application servers for the initialization. but often from a process level these objects requires to be enhanced to capture all the required data. The SAP CRM system allows use of parallel processing to improve the performance of the BW Adapter data sources. required for the capturing the detailed data related to the customer as well as the market. Before getting into the details of SAP CRM BWA data source enhancement. the settings for data updates to SAP BW in parallel in the IMG activity 'Maintain Control Parameters for Data Transfer' can be set. and also the data source with BW adapter metadata is enhanced.sdn. If the server group cannot be reached during data extraction or if one of the processes generates an error once executed. more than front end office automation.uac. But a data source can only be created and changed for data sources based on synchronization flow.

Figure 18: Partner function in business transactions (SPRO) SAP COMMUNITY NETWORK © 2010 SAP AG SDN . service order. Whenever an application object. i.sap.sdn.com | BOC . gets changed successfully. notifying interested components about the change.sap. product. the application starts the outbound processing.boc. say an additional partner function in the service order header.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting The enhancement associated with the CRM data sources. say area sales manager.com | UAC . service order.com 20 . Messaging flow dispatches the notification to receivers.e.uac. Examples for application objects are: business partner. Scenario A There are scenarios occurring in CRM BW implementation where.sap. and conditions. 2) Scenario B: Additional fields not present in the standard data source (service order header data) but captured as a part of a different order object (say a service contract/info request object which can be a preceding document).sap. the standard extractor provided by SAP needs to be enhanced from fields captured as a part of fields captured in the CRM order object.bpx.com | BPX . can be classified into the following types. 1) Scenario A: Additional fields not present in the standard data source (service order header data) but part of the same order object (say additional partner function in the service order header). the consultant should clearly understand partner determination procedure to know the relationship that the respective partner function bears with the transaction. based on the scenarios commonly arising out in an implementation. say an additional classification of service process in service order. is captured as a part of the service order header data for our example. 3) Scenario C: Additional fields required to capture extra information along with the order object. The additional partner function. Figure 17: Partner determination procedure for business transactions (SPRO) Before deciding for enhancements.

80000000655 (CRM_UI) Once the data is entered for the partner function. but the mapping for the custom partner does not exist and thus requires enhancement.com | BOC .com 21 .sap. i. the area sales manager. the BDoc BUS_TRANSACTION_MESSAGE is of interest.com | UAC .uac. SAP COMMUNITY NETWORK © 2010 SAP AG SDN . the BDoc structure BUS_TRANS_MSG_PARTNER returns the data for all partner functions with the messaging BDoc.boc.sdn.e. The BDoc is displayed in the transaction SMW01 for the BDoc type BUS_TRANS_MSG. The CRM middleware flow controller also determines the out bounds for this business object. and the enhancement of the order data source also is governed by the same to a large extent. As far as the data extraction to the BW system is concerned.sap. The same data the respective partner. The messaging BDoc generated after saving the service order transaction displays the data.com | BPX . Figure 20: Display BDoc (SMW01) As a part of the CRM order object. For this very reason.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting The CRM middleware flow controller decides the events related to flow for a order object. for is entered and saved for the service transaction object. Figure 19: Partner function entry in the service transaction . and saved. the same is passed through the messaging BDoc in the structure for partners to all out bounds including the BW delta queue. the data is written to the application tables.sap. including the custom partner.sap. It is to be noted that the same mapping modules are called up for a delta initialization too which happens without the use of the flow definitions. When the data for the partner is entered in the service order.bpx. an illustration of the same is provided here before describing the procedure for enhancement for the sake of brevity.

here 0CRM_SRV_PROCESS_H.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting The BDoc BUS_TRANSACTION_MSG.com | BOC .sap. The inclusion of the new field is carried by adding an append structure to the standard extract structure in the transaction RSA6. including the custom partner.sap. returns the data for all the order object segments with the messaging BDoc. including those for the partners.sap. as shown below.bpx.com | UAC .com 22 .sdn.uac. Figure 22: Display BDoc partners for order object (SMW01) The respective data source. SAP COMMUNITY NETWORK © 2010 SAP AG SDN . as shown below.boc.sap. has to be enhanced for including the additional partner data in the service order header. returns the data for all partner functions with the messaging BDoc.com | BPX . Figure 21: Display BDoc body (SMW01) The BDoc structure BUS_TRANS_MSG_PARTNER.

sap.com | BPX .sap.sap.boc.uac.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Figure 23: Changing the data source to include append structure (RSA6) It is also possible to map the respective segment field of the messaging BDoc to the field of the extract structure in the BW adapter maintenance in BWA1. Figure 24: BW adapter data source maintenance (BWA1) SAP COMMUNITY NETWORK © 2010 SAP AG SDN .com | UAC .bpx.sap.sdn.com | BOC .com 23 .

Here it is possible to use a field that has already been used for the BDoc. The function module CRM_BADI_GET_XIF accesses the BDoc data from memory and helps improving the performance of the data extraction for the BWA data sources. The logic is implemented using the BAdI definition.boc.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting After enhancing the data source with the append structure fields.com | BPX . The function module forms a part of the CRM XIF interface for data transfer.uac. The SAP delivered implementation CRM_BWA_ENHANCE_EX gives an insight on this.sap. The documents in the BAdI are made visible for the data sources for business transactions and extra fields are added to the extracted data.sap. BAdI CRM_BWA_MFLOW (SE18) Figure 26: Enhancing the BWA data source.sdn.com | BOC . The system calls up BAdI implementation directly using the delivered SAP standard mapping. CRM_BWA_MFLOW (SE18) SAP COMMUNITY NETWORK © 2010 SAP AG SDN .sap. Figure 25: Enhancing the BWA data source. and is used instead of the conventional method of using CRM_ORDER_READ. and helps modification of mapping relationships between BDoc and extract structure for data sources supported by the BW Adapter in the message flow.com | UAC .bpx.com 24 . The function module CRM_BADI_GET_XIF is used for this purpose. The BAdI CRM_BWA_MFLOW is used for enhancement of data sources in the messaging flow. CRM_BWA_MFLOW. provided by SAP standard.sap. logic has to be written to populate the data to the data source.

is used for data retrieval.sap. and the BW adapter data sources also support this method of enhancement. These values for the BDoc information and the list of BDoc segments are used for getting the XIF output on BAdI implementation. The information is used by another function module CRM_BADI_GET_XIF to get the relevant XIF structures for individual business transactions. CRM_ORDER_READ is a function module which is used to get the details of any business transaction based on the Header GUID.com | UAC . CRM_ORDER_READ need to be only when the GUID for the proceeding transaction has been obtained. The CRM_BWA_BDOC_XIF function module provides the BDoc information that is used for the XIF representation of BDoc data.boc. and unhidden to transfer data to BW. the function module CRMXIF_BWA_MAP_SERVICE is called for XIF conversion. This kind of enhancement is similar to a common data source enhancement.g. This is similar to the classical method of data source enhancement and the data source extract structure is appended with the required fields. or the data is extracted by reading data from the CRM application tables. CRM_BADI_GET_XIF. Scenario B The scenario B as described here differs from the above mentioned case as the additional fields. which is the input parameter.com | BPX .sap. and depending upon the data source name.sap. else data is extracted accessing application tables or by other function modules provided.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting The function module CRM_BWA_BDOC_XIF stores the values in the global variables.bpx. SAP COMMUNITY NETWORK © 2010 SAP AG SDN . The function modules provided by SAP CRM.sdn. calls the function module for XIF conversion.uac. complaint. In case the data source name is not specified. CRM_BWA _MFLOW. not a part of the standard data source (service order header data). for test purpose is executed from a report CRM_ORDER_READ from SE38 as single test function in transaction SE37 is not possible for sorted tables used as import parameters. the system checks for the business object type.com 25 . The data for the same is captured with this different transaction. like CRM_ORDER_READ. The function module CRM_ORDER_READ. The CRM_BWA_BDOC_XIF function module must be active for this function module to work. from the first entry in the BDoc and provide the relevant XIF structure. or a service info request which can be a proceeding document).com | BOC .sap. This function module serves as a local memory for storing the BDoc information and the list of BDOC segments used when extracting data to the BW system. The function module. Item GUID or both. in the case of the data source 0CRM_SRV_PROCESS_H. and the instance for the BDoc for this object also is different. are part of the different order object (say a contract. For e. is called by the BW Adapter for enhancement of data sources in messaging flow BAdI. The logic is implemented in the standard BAdI definition RSU5_SAPI_BADI for populating the additional fields.

uac. The Application Enhancement Tool in SAP CRM is integrated in the UI Configuration Tool.0. The AET is part of the new CRM Web UI and is seamlessly integrated with the UI Configuration Tool. Adding a new field and making it available on the UI does not require deep technical knowledge and reduces development efforts to a large extent. and thus helps enhancing the CRM objects ensuring and taking care of all aspects related to technical definition of the new field. These new fields available on the user interface are made available by adding them to the view.0 adding a custom field has become even easier and has made the CRM enhancement framework in SAP CRM simpler and flexible. With the introduction of application enhancement tool (AET) for structural enhancement in SAP CRM 7. change.sap. SAP has provided the application enhancement tool (AET) in addition to the CRM easy enhancement workbench (EEW) for making enhancements simple and flexible. say an additional categorization of service process in service order. the Application Enhancement Tool (AET) has been introduced to enhance CRM applications and is used to display.com | UAC .com 26 . RSU5_SAPI_BADI (SE18) The enhancement being similar to any common SAP data source is not elaborated with the most granular of detail in this paper. Earlier in CRM implementations the new field created in EEW was then displayed and configured using the UI Configuration Tool.boc. reporting and mobile systems. SAP has provided the easy enhancement workbench (EEW) in CRM for this very purpose. like those in ECC. but would describe the extraction detail along with the enhancements with CRM application enhancement tool.bpx. The fields added to an application are available in the UI configuration of the corresponding UI component and view. value helps and dropdowns for the new field.sap. screen level changes for the new field for capturing data. Moreover the enhanced field can be easily extended to integrated applications like NetWeaver BW. Scenario C Often in CRM implementations scenarios arise where additional fields are required to capture extra information along with the order object. as the same will help in deciding how data needs to be captured as a part of the business process.com | BPX . Thus SAP as a part of its CRM application has provided an enhancement framework to meet the scenarios mentioned here. and can be started in this tool. create. NetWeaver BW and other external systems.sap. and delete enhancements. From SAP CRM 7.0. Enhancement with CRM Application Enhancement Tool With latest version of SAP CRM. The BW consultant has to clearly understand the enhancement framework provided by SAP CRM. SAP COMMUNITY NETWORK © 2010 SAP AG SDN . and the integration aspects with backend.com | BOC .A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Figure 27: BAdI implementation for SAPI Enhancement.sdn.sap. makes it difficult as SAP CRM is an application that has tight integration with many systems. These enhancements if standalone. The paper as a part of this scenario would explore the initial framework of enhancement with CRM easy enhancement workbench. like SAP ECC 6.

this depends on the enhanced business object f) Using different data types. either using the URL or transaction CRM_UI. ease of implementation and for minimizing the total cost of ownership.com | UAC .0 Application Enhancement Tool is used due to its flexibility. such as characters. SAP COMMUNITY NETWORK © 2010 SAP AG SDN . As a part of the implementation it has been decided that the field needs to be enhanced at the service call header level.sap. Figure 29: Selecting CRM service transaction from CRM Web UI (CRM_UI) Select the required transaction for enhancement.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Following are the main functions offered by the CRM Application Enhancement Tool: a) b) c) d) e) Creating custom fields Defining dropdown list boxes for custom fields Translating field labels and entries in dropdown list boxes Assigning search helps and check tables to custom fields Making new custom fields available in search criteria and/or result lists. service object. a classification intended specifically for analysis purpose.com | BPX .sap. as the data source also is an impacted object in the generation of the enhancement. dates. Login to the CRM Web UI. a new field needs to be added to the service order header. and CRM interactive reporting.uac. partners. R/3 Adapter. if these business objects are based on the same enhancement place In our scenario. as the classification is required more from an analysis perspective.com 27 . over classical procedures of enhancements. pricing etc. Figure 28: Ensure AP business content data source for the respective business object is installed Once the CRM technical activities for CRM UI configuration is carried out and sufficient authorization are provided. as in this case and use the UI configuration tool to create the enhancement. i. and select the respective transaction.sap. The activation of the data source is important. and the enhancement is implemented within the framework for enhancement provided by SAP CRM. times. Before carrying out the enhancement using the SAP CRM Application Enhancement Tool.sdn. the enhancement of the business objects is done from the CRM Web UI.e.bpx. The CRM 7. An inactive data source would result in the failure of the enhancement generation. dates. The field is not available as a part of standard.boc.com | BOC . CRM Mobile. which is required more at a process level to determine status.sap. necessary CRM technical configuration has to be carried out in the system and it has to be ensured by the BW consultant that the data source concerning to the relevant business object has to be activated. business intelligence (BI) reporting. called call type. and numbers g) Reusing fields in other business objects. than the business transaction type.

com | UAC . Figure 31: Selection of object part for enhancement (UI configuration tool) After selecting the object part enhancement.sap.sap.com | BOC . Here the service data header has been chosen as the object part for enhancement. SAP COMMUNITY NETWORK © 2010 SAP AG SDN . chose new to create the enhancement as shown below.com | BPX .sap.com 28 .bpx.uac.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Figure 30: Configuration mode from CRM Web UI (UI configuration tool) The appropriate part for creation of the enhancement needs to be selected before the creation of the new field.sap.boc.sdn.

if applicable can also be specified in the UI configuration tool. Once generated.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Figure 32: Creating the enhancement (UI configuration tool) The screen opens where the details of the new fields have to be furnished for the creation of the field. the flag can be unchecked.sdn.sap. The values of the drop down can also be specified at the UI configuration level as shown below.com | BOC .sap.com | BPX . If the field is not relevant to BW reporting. The ‘relevance for BW reporting’ also needs to specified as this is important for data extraction to BW. check table and other aspects. the description.com 29 . field is added across all objects. Figure 34: Dropdown values (UI configuration tool) The language dependencies of the new field.bpx. for e.uac.boc. the enhancement and the field identifiers.g.sap. Figure 33: Field details for the new field (UI configuration tool) The details of the new field includes the technical properties of the field. dropdown values.com | UAC . a description. Figure 35: Translation (UI configuration tool) SAP COMMUNITY NETWORK © 2010 SAP AG SDN .sap.

sdn.bpx. Figure 37: User interface for service transaction (Web UI) SAP COMMUNITY NETWORK © 2010 SAP AG SDN .sap. and is also present in all related objects to help data transfer to BW.com | UAC .com 30 .com | BOC .A Treatise on CRM (ADB) Data Extraction for Business Information Reporting The field can be made available on the CRM Web UI for service transaction as shown below.uac.sap.sap.sap. The following section gives a detail of the same.boc.com | BPX . Figure 36: Displaying the added field in Web UI (UI configuration tool) The field is now available to capture the data in the service transaction.

Figure 38: Overview of extensible business objects (AXTREG) The below screen shots give a complete detail of the enhancement carried out. Figure 39: Enhanced BO Part Detail (AXTREG) In addition to the enhancement to concerned BO part.sap.sdn.com | BOC .sap.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting The details of the enhancement carried out through the UI configuration tool in SAP CRM is displayed in the transaction AXTREG. It gives a detail of the generation that has taken place for the new field.com | BPX .bpx.sap. is viewed under the generation details for further generation. the detail of further generation. SAP COMMUNITY NETWORK © 2010 SAP AG SDN .uac. It gives a detail of the enhanced business objects. with the detail of the enhancement.boc. BW data transfer etc.com | UAC . as for mobile data transfer.sap.com 31 .

it is seen that the following objects gets modified with the newly added field. like for BW.sap.bpx.uac.sap.sap.com | UAC .com 32 .sap. CRMD_SERVICE_H is added with the new field as an include.com | BOC . SAP COMMUNITY NETWORK © 2010 SAP AG SDN . First and foremost the application database table.sdn.boc.com | BPX . Figure 41: Detail for enhancement indicator for BW Reporting (AXTREG) After carrying the enhancement using the application enhancement tool.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Figure 40: Further generation detail for the business object (AXTREG) Generation detail displays the detail of the enhancement for each of the enhancement indicators.

6 etc. a custom master data text data source is created in SAP CRM.com | BOC . say 1.com 33 . The text data source will be created in transaction RSO2 based on the generated domain object as a part of the AET. gets extracted as a part of the CRM service transaction and the master data comprising of the texts is separately extracted to the BW system for reporting.sap.sap.sap. The data source extracts the text data to the BW system for call types. The code for call type.CRMD_SERVICE_H (SE11) It is noted that the domain generated for the new field holds the dropdown values in the value range.sap.com | BPX . The infoobject for the same will be a custom one with texts.boc.com | UAC . 2. SAP COMMUNITY NETWORK © 2010 SAP AG SDN .bpx.uac.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Figure 42: CRM Table Display . Figure 43: Display domain for new field for call type In order to extract the master data for the new field call type.sdn.

sap.sap.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Figure 44: Display domain for new field for call type In addition to the application tables. The detail of the extension to the BDoc BUS_TRANSACTION_MESSAGE.com | UAC .boc.com | BOC .com 34 .sap.bpx. the BDoc structure for the service transaction.sap.uac. 0CRM_SRV_PROCESS_H is viewed from the transaction SBDM (BDoc Modeler) related to SAP COMMUNITY NETWORK © 2010 SAP AG SDN . the extract structure etc.sdn. the selection and mapping module of the BW Adapter metadata.com | BPX . is adjusted with the new field.

com | BPX .sap.com | UAC .sap.sap.boc. Figure 46: Display business document (BDoc) BUS_TRANSACTION_MEGGAGE (SBDM) The new field is added in the messaging structure SERVICE_H.sap.uac.com | BOC .sdn. SAP COMMUNITY NETWORK © 2010 SAP AG SDN .A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Figure 45: Display business document (BDoc) BUS_TRANSACTION_MEGGAGE (SBDM) The detail of the enhancement made is viewed under the structure SERVICE_H in the messaging BDoc responsible for data transfer to BW.com 35 .bpx.

com | BOC .sap.sap.com 36 . adjustment of the BW adapter metadata and the extraction program that populate data for this field.com | UAC .com | BPX .sap. Making the enhancement BW relevant results in inclusion of the field in the extract structure.boc. Figure 48: Extract structure for data source 0CRM_SRV_PROCESS_H (RSA6) SAP COMMUNITY NETWORK © 2010 SAP AG SDN .A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Figure 47: Display messaging structure SERVCIE_H (BUS_TRANSACTION_MEGGAGE .uac.sap.bpx.SBDM) The field gets automatically added to the extract structure of the data source as the same during its creation is made BW relevant.sdn.

com | BPX . The field of the extract structure is mapped to the respective BDoc segment field.sap.sdn.bpx. Figure 50: BW Adapter Metadata (BWA1) SAP COMMUNITY NETWORK © 2010 SAP AG SDN . Figure 49: Make field available for BW extraction 0CRM_SRV_PROCESS_H (RSA6) The BW adapter mapping is also automatically generated for the data source.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting It is ensured that the field is available for data extraction to BW in the transaction RSA6.boc.uac.com 37 .com | BOC .sap.sap.com | UAC .sap.

The enhanced fields are also made relevant to BW extraction. Finally the customer enhancement is included in the SAP standard. The system landscape must be set up in order to be able to use system-wide generation. are extended in a simple manner. business transaction events or BAdIs are implemented. SAP COMMUNITY NETWORK © 2010 SAP AG SDN . The project is at the highest level in an EEWB enhancement.sdn.boc.com | UAC .sap.uac. This helps enhancements and modifications without ABAP knowledge and the possibility of extending the SAP standard. including SAP CRM business objects. Figure 51: Easy enhancement workbench (EEWB) A project combines several extensions and all generated objects belonging to a project are transported together. when extending a Business Object in the CRM the data exchange to the connected R/3 system is extended and a new table is also created in the R/3. An extension created using the easy enhancement workbench does not differ technically from one created manually as in both cases transportable ABAP objects are created and the same customer exits. Customer enhancements to a business object are defined via wizards that reside above the data dictionary layer. screens and application logic are created automatically.bpx. The package (development class) of the generated objects is also determined in the project. In most cases the extension takes place systemwide.com | BPX .sap.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Enhancement with CRM Easy Enhancement Workbench The Easy Enhancement Workbench is a development tool with which SAP application business objects. The system landscape must be set up in order to be able to use system-wide generation.sap. The automation offered by the easy enhancement workbench is achieved by template objects that are adapted to the extension definition and created by a generator. The workbench then does all development work and the database tables.sap. it is not possible to transport an individual extension. The difference lies exclusively in the manner in which the objects required are created.com | BOC . For example.com 38 .

com | BOC . SAP COMMUNITY NETWORK © 2010 SAP AG SDN .sap.boc.com 39 .sap.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Figure 52: Create project .com | BPX .sap.bpx.easy enhancement workbench (EEWB) EEWB allows adding new fields to individual sub-objects of CRM One Order business objects.uac.sdn.sap.easy enhancement workbench (EEWB) Figure 53: Create extension .com | UAC .

easy enhancement workbench (EEWB) Extensions are created at the next level. The definition of the extension takes place via Business Object-specific wizards.easy enhancement workbench (EEWB) SAP COMMUNITY NETWORK © 2010 SAP AG SDN .com | BPX .sap. An extension refers to a Business Object and an extension type.com 40 .sdn. the object type post processing typically appears at the next level.com | BOC . Figure 55: Define extension type .A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Figure 54: Create extension for business objects. When an extension has been defined and generated.sap.bpx. An extension is only considered to be ready when it has been generated correctly and all required post processing activities have been executed. These are activities that must be executed manually by the user.com | UAC .uac.sap.boc.sap.

uac. Step 3 – The transaction type to which the new field is added is specified here.com 41 .boc.com | UAC .A Treatise on CRM (ADB) Data Extraction for Business Information Reporting The following screenshots describe the steps to add additional fields using the wizard for new fields in the CRM easy enhancement work bench.bpx. SAP COMMUNITY NETWORK © 2010 SAP AG SDN .com | BOC .sdn.sap.sap. Step 1 Step 2 – Defines the title for the enhanced field.sap.sap.com | BPX .

sap.uac. Figure 56: Steps involved in enhancement (EEWB) SAP COMMUNITY NETWORK © 2010 SAP AG SDN . Step 5 – The assignment of the field is important from a BI aspect as well as it eventually determines the relationship.com 42 .sap.com | BPX . whether the fields need to be captured at header level or at item level.com | BOC .sdn. Step 6 – This step is the most important step by the BW aspect.boc.com | UAC .sap.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Step 4 – Specifies the technical characteristics of the field to be added. as this is where the fields relevant for BW get determined.bpx.sap.

and creates and modifies a number of data dictionary objects during generation. b) User Status – The user status is the status that is set by the user to the transaction and is created as additional information to the existing system status. distributed etc. Mapping of transformation rules. we consider the CRM complaint object for which multiple status profiles with different user statuses is configured in the CRM system from a process level. and any modification at the dictionary level would lead to inconsistencies. extraction and loading of data. The user status is of importance from a reporting perspective. a) Respective database tables as a part of the enhancement. in process.boc. The screenshots of the same has not been included here for the EEW field. d) Generates a BAdI implementation for definition CRM_BWA_MFLOW that transfers the field to the data sources. This is included as the same always is important from an analysis perspective and reports are often driven from the values retuned for the user status. Any change required has to be carried out at the wizard level. Inclusion of the new infoobject in the DSOs and InfoCubes. The system status and user status influences the business transactions in the same way. The additional activities required in BW have to be manually carried out. the BW consultant should know the status management concept and its implementation in SAP CRM. This is technical in nature and can have states open. e) The data captured for the new EEW enhancement fields gets extracted in RSA3 without the need for implementing a custom logic for the same. a) System Status – The system status is a status set by the system. In our scenario here. b) Respective business document for the transaction including those responsible for out bounds into BW c) Extract structure of the data source – the field needs to be made available for extraction by un-hiding the same in the transaction RSA6.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting When specified relevant for BW extraction the following aspect of data extraction are taken care during the generation of the new field. The new field is included in. but will be illustrated in detail for the enhancement mentioned in the below section using the new CRM Application Enhancement Tool. A user status is defined in a status profile created in SPRO customizing for business transactions.sdn. The status management framework in SAP is defined under two categories.com | BPX . and is defined in the CRMC_STATUS_PROC table. Extraction of user status of one order objects This section of the treatise describes the necessary configuration that needs to be carried out in the SAP CRM system for extracting the user status of a CRM order object.uac. The wizard sits above the data dictionary layer. released. A status profile can be assigned to several transaction types and item categories. which gives information whether the system has executed a specific business transaction on an object.sap. a) b) c) d) Creation of custom infoobject for the new fields Loading master data to the infoobject if the field holds master data. irrespective of BI relevance. As many statuses can be defined and activated in customizing and a status profile is then assigned to the following in customizing for business transactions:  Transaction type (for header status)  Item category (for item status) The header status is independent of the item status with the exception of status completed. The implementation generated by EEW can be identified and displayed from the transaction SE18 for BAdI definition CRM_BWA_MFLOW.sap.sap. Before making the required configuration in the CRM system. SAP COMMUNITY NETWORK © 2010 SAP AG SDN .sap. The consultant while using the easy enhancement workbench has to be very clear of its technical implications.com | BOC .com | UAC .com 43 .bpx. which includes.

uac.sap. and the customization required for the same. BW status object groups are used to arrange the BW status objects semantically.sap. transaction data etc are displayed. based on the analysis requirement on statuses.sap.sdn. The different statuses are combined using a BW status object and a BW status is assigned to each of the individual user statuses. In order to extract the user status for a CRM business transaction. The BW status is defined in customizing.boc. The status that active in the source system at the point when data is extracted is then transferred to SAP BW using the BW status object. product master. It is possible that a business object type has different transaction types.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Figure 57: Configuration of user status (SPRO) Here our focus is on extracting user status for an order transaction.com | BPX . business partner. and with each of this different transaction type having a status profile with user status. SAP COMMUNITY NETWORK © 2010 SAP AG SDN .sap.com | BOC .com 44 . All statuses that are currently active for an object viz. But certain numbers of status values mutually exclude each other as in the case of statuses "In process" and "Completed".bpx. the respective BWA order data source is enhanced.com | UAC . It is possible that any number of statuses is active at the same time.

com | BOC .sap.com 45 . Figure 58: Process user status (SBIW) Create one or several BW status object groups (three characters) to arrange status objects semantically.bpx. SAP COMMUNITY NETWORK © 2010 SAP AG SDN .sap.com | BPX . The status numbers in this way is used to order the statuses in BW semantically within a BW status object.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting The customization for user status is made in the transaction SBIW in the CRM system. Assign a status number (not equal to 0) in the BW Status field to this combination. The data is later extracted into SAP BW using the three-character name of the BW status object group and the four-character name of the BW status object. Figure 60: BW status mapping to user status (SBIW) To extract the texts for the BW status into SAP BW a text data source is generated from SBIW transaction for BW Status Objects.com | UAC .uac. Create a BW status object. Figure 59: Maintenance of BW status objects (SBIW) Use the possible entries function to select a combination of user status and status profile.sdn.boc.sap.sap.

sap. Figure 62: Enhancement of data source for user status (RSA6) SAP COMMUNITY NETWORK © 2010 SAP AG SDN . along with data source enhancement.com | BPX . in landscapes with separate customizing. the data source.sap. as the BW status object for complaints is not available as a part of standard in SAP CRM.bpx.com 46 . For the service orders the BW status object SVTK.boc. is enhanced to extract the user status for the CRM complaint object. The enhancement of the data source is carried out from RSA6 for the data source 0CRM_COMPLAINTS_I. and only entries depending on the requirement need to be created in customizing.sap. service lifecycle.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Figure 61: Creation of text data source for BW status (SBIW) After carrying out the required customization. The paper takes the complaint object as an example scenario instead of the service order header followed across. 0CRM_COMPLAINTS_I in this scenario.sdn.uac.com | BOC .com | UAC .sap. and importing the customizing request using SCC1. is provided by standard under BW status object group ONE. development and unit test clients for CRM development.

In our case YYY corresponds to ONE and XXXX to ZCLA.sap. and that the selection and hide field indicators in RSA6 are not set.bpx.uac.com | BOC . making the extract structure field BWSTONEZCLA.sap.sap. the extended field is automatically filled with the BW status number for the status active at the time of the extraction. Figure 64: Edit data source to extract BW status object (RSA6) During extraction. However the ‘field only’ known in exit indicator must be set.boc. where YYY stands for the BW status object group and XXXX for the BW status object.com | BPX .com | UAC . Figure 63: Append structure for BW status object defined (RSA6) It is to be ensured that the field for the extraction is selected.sap.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Extend the extract structure by adding a field of the data type CRMBWST with the technical name BWSTYYYXXXX.sdn.com 47 . Selecting the flag ‘field only’ ensures that the field in the extract structure is not passed to the extractor at runtime. SAP COMMUNITY NETWORK © 2010 SAP AG SDN .

The data is loaded into BW in a productive environment after the data sources have been implemented and customized to the requirements at hand during the solution implementation. Figure 65: Delta initialization for the BWA data source 0CRM_SRV_PROCESS_H (Info Package) Upon the event of initialization of the data source the respective queues get generated for the SAPI and the BW Adapter.com 48 . generates a delta initialization pointer and a delta queue. As a first step. Delta Initialization The process of initialization is similar to that of any SAPI data source.com | UAC .sap.com | BPX . and is achieved by the execution of an INIT info package for the concerned data source.sap.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Operational aspects of BW Adapter data sources The section focuses on the operational aspects of data extraction for the BW adapter based data sources in the SAP CRM system.com | BOC .sap.boc.sdn. which helps extracting the new and changed transaction in the CRM application on a regular operational basis.sap.bpx. The process of initialization.uac. like any SAP data source. SAP COMMUNITY NETWORK © 2010 SAP AG SDN . The SAPI delta queue is displayed in transaction RSA7 and that of the BW adapter is displayed in the transaction BWA7. Figure 66: Delta activation for the BWA data source 0CRM_SRV_PROCESS_H (Info Package) The SAPI delta queue to which data gets written by the CRM BW adapter is displayed in RSA7. the data source is initialized to extract and carry out an initial update of data residing in the CRM application database to SAP BW system.

bpx.com | UAC . It can also be due to the fact that while doing the extraction initially. It is in this context that SAP has provided the solution of an "incremental delta upload". Figure 68: Execute report SMOX_INCR_DELTA_UPLOAD .sap.sdn. but doing a repeat of the initial upload may prove to be performance intensive if the data in the initial upload volume is high. the corresponding BW objects for all the fields may not have been created and the mapping rules may not have been adopted.com | BPX .boc. which uploads only the set of data specified by selection conditions for a data source. Under these circumstances a re-initialization of the data source is often considered as the solution.com | BOC .uac.sap. An incremental delta upload is carried out by the execution of the report SMOX_INCR_DELTA_UPLOAD in the CRM system specifying the destination system.sap. This results in some of those fields not getting uploaded to the BW system.Incremental Delta Upload (SE38) SAP COMMUNITY NETWORK © 2010 SAP AG SDN .A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Figure 67: SAPI delta queue for the BWA data source 0CRM_SRV_PROCESS_H (RSA7) Incremental delta upload In certain scenarios it is possible that the data extraction from CRM to BW for a particular data source does not get all the required field information. data source name and the data selection.sap.com 49 .

sdn.sap.com | UAC . SAP COMMUNITY NETWORK © 2010 SAP AG SDN .bpx. SAP also provides the option to schedule the execution of the report to upload data to the delta queue of the data source.sap.com | BOC .uac. The data is the extracted from the delta queue to the BW system by the execution of the delta Info Package. The incremental delta upload functionality is never a standard functionality recommended by SAP.sap.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Figure 69: Parameters for Incremental Delta Upload (SE38) The report reads data from the application database and fills the delta queue for the selection conditions specified.com | BPX . but often helps in data upload to BW during BWA data source related cutovers. Figure 70: Schedule incremental delta upload (SE38) The status of the incremental data upload is monitored from the standard job monitor in SAP using the SM37 transaction.sap.boc.com 50 .

sdn. the CRM application triggers the BDoc message BUS_TRANSACTION_MESSAGE which further helps the concerned adapters process the outbound.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Figure 71: Job monitor for incremental data upload (SM37) After the successful execution of the report for incremental delta upload.sap.sap.boc. Figure 73: Change in service transaction (CRM_UI) When the change is saved in the CRM web user interface. the data gets written to the application tables in the CRM system.com | UAC .com 51 . Together with this.bpx.com | BPX . the data for the specified selection parameters for the data source is written to the BW delta queue.sap.sap. Figure 72: Data for the selection written to the delta queue by incremental delta upload (RSA7) Delta upload Every time a CRM order transaction is changed or a transaction is created or deleted.com | BOC . SAP COMMUNITY NETWORK © 2010 SAP AG SDN . The data is displayed in RSA7 and is subsequently extracted into the BW system by the execution of the delta Info Package.uac. the data is written to the CRM application database. Consider the scenario where the call type is changed in the service transaction in the screenshot below from ‘warranty’ to ‘beyond warranty’.

sap. Figure 75: After image for the change in the delta queue (RSA7) The data is then extracted to BW system by executing the delta Info Package for the data source.sap.com | UAC .sdn. Figure 76: Delta Info Package for data extraction (0CRM_SRV_PROCESS_H) SAP COMMUNITY NETWORK © 2010 SAP AG SDN .com | BPX .bpx.boc.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Figure 74: BDoc for the changed transaction (SMW01) Once the BDoc is successfully processed by all receivers the data is written to the SAPI delta queue of the BW adapter data source.com | BOC .sap.uac.sap.com 52 .

sap. Figure 78: CRM Middleware flow definition for BDoc type BUS_TRANS_MSG (SMOFD8) The service CRM_UPLOAD_BW_SRV runs for creating BW Delta in Flow services. and that no entry is made to deactivate the same in customizing in the screenshot below.sdn. including to the BW Adapter.uac.sap.bpx. The point is made in this context as the same is available in the screenshot above. In case the functionality of CRM timestamp analysis is used for analysis in BW. and when stuck prevents data transfer to BW. Figure 79: Customization to deactivate message flow (SPRO) b) Ensure that the BDoc type BUS_TRANS_MSG for outbound processing gets created.sap. c) Ensure the CRM queue CSA* is registered in transaction SMQR.com | BPX . a) Flow definition is active and defined for the CRM middleware flow controller. SAP COMMUNITY NETWORK © 2010 SAP AG SDN . Ensure the message flow BDoc type is active.sap. like the DSO and the InfoCubes for enterprise reporting. for calculation of performance key figures defined is found in the middleware flow definition.com | UAC . The queue is processed immediately.boc. else the status of the BDoc remains in yellow. The queue is responsible to process all outbound from SAP CRM. The BDoc is triggered when the transaction is saved and data is written to the CRM application database. For the delta functionality of a BW adapter data source to work. the BW consultant has to ensure the following. the time stamp service CRM_UPLOAD_BW_TSS_DTRACK_SRV. as discussed before in the concept.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Figure 77: PSA in BW for the data source 0CRM_SRV_PROCESS_H The data comes to the PSA of the data source after the execution of the Info Package and it is extracted to the further layers of the enterprise data warehouse.com 53 . The queue needs to be processed if the same is displayed in SMQ1 at any point of time.com | BOC .

com | BPX .com 54 .sdn.sap. filling the BWA queue and the delta queue.sap.sap.bpx. Figure 81: Services for BWA BDoc type BUS_TRANS_MSG (GNRWB) The figure below describes the data flow from a debugging and analysis perspective. Figure 82: BW adapter data source dataflow for debugging and analysis SAP COMMUNITY NETWORK © 2010 SAP AG SDN . Activate these services as they are responsible for determining the delta.com | UAC . The same is found in the transaction GNRWB.com | BOC .boc.sap.uac.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Figure 80: Register queue (SMQR) d) Ensure the generators responsible for BW adapter delta have been generated.

com 55 . it was never a very comfortable question to say yes to. somewhere that satisfaction of this being a complete treatise is absent. despite being indifferent to the request earlier.boc. A genuine attempt. But CRM analytics being a vast topic. But after a while the same feeling persisted.com | BPX . that a small part of CRM analytics. SAP COMMUNITY NETWORK © 2010 SAP AG SDN . application database data extraction.bpx. and nor is writing on a concept similar to a normal operational task at hand. It furnishes an outline of the capabilities offered by SAP with its CRM BW integration for CRM application data reporting.com | BOC .sap. given the time constraints at hand. to enable real life deployment of a robust CRM solution.sap.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Conclusion The very notion of this paper had happened after a small post SME audit discussion for a CRM BW implementation where a casual question was put to me on writing a paper for CRM analytics similar to the earlier treatise on logistics data extraction.sap. has been made to elaborate on the concept and implementation of data extraction from the CRM application database using the BW adapter data sources. was chosen as a starting point. But now on the completion of the paper.com | UAC . The paper within its framework assays to the best possible extent the concept and implementation of data extraction from the SAP CRM application database to the BW system. its implementation and operational aspects. to attempt that very notion. though a real life scenario may differ based on the factual requirements at hand.uac.sap.sdn.

visit the EDW homepage SAP COMMUNITY NETWORK © 2010 SAP AG SDN .boc.sap. for extracting business transactions For more information.uac.com 56 .com | BOC .bpx.sdn.sap.com | UAC .sap.A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Related Content CRM Analytics Wiki on SDN CRM Analytics page on SAP Help Analytical CRM – SAP white paper Note 850817 .FAQ: Sales Analytics and CRM-BW data Extraction Note 639072 .sap.com | BPX .CRM/BW parallel proc.CRM-BW: Using BDocs for the enhancements in BAdI Note 692195 .

A Treatise on CRM (ADB) Data Extraction for Business Information Reporting Disclaimer and Liability Notice This document may discuss sample coding or other information that does not include SAP official interfaces and therefore is not supported by SAP. SAP offers no guarantees and assumes no responsibility or liability of any type with respect to the content of this technical article or code sample.sap. or seek to hold.sap. You agree that you will not hold. and anyone using these methods does so at his/her own risk.com 57 . SAP will not be held liable for any damages caused by using or misusing the information. code or methods suggested in this document.uac.sap. SAP COMMUNITY NETWORK © 2010 SAP AG SDN .com | BPX .com | UAC .bpx.com | BOC . Changes made based on this information are not supported and can be overwritten during an upgrade.sdn. SAP responsible or liable with respect to the content of this document.sap. including any liability resulting from incompatibility between the content within this document and the materials and services offered by SAP.boc.

Sign up to vote on this title
UsefulNot useful