Date post: | 08-Apr-2017 |
Category: |
Technology |
Upload: | srini-vasan |
View: | 266 times |
Download: | 18 times |
SAP AG 2008
TCRM20 CRM – Fundamentals II, Part 1/2FS310 Inkasso/Exkasso
THE BEST-RUN BUSINESSES RUN SAP
© SAP AG 2008
TCRM20CRM – Fundamentals IIPart 1/2
SAP CRM 6.0 Version 81
Material number: 50090471
SAP AG 2008
Copyright 2008 SAP AG. All rights reserved.
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice.
Copyright
The software products provided by SAP and its subsidiaries may contain software components from other software manufacturers.
Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of the Microsoft Corporation.
IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, and Informix are trademarks of IBM Corporation in the USA and/or other countries.
Oracle is a registered trademark of Oracle Corporation.
UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.
Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc.
HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts Institute of Technology.
Java is a registered trademark of Sun Microsystems, Inc.
JavaScript is a registered trademark of Sun Microsystems, Inc. and is used under the license of technology developed and implemented by Netscape Communications.
MaxDB is a trademark of MySQL AB, Sweden.
SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver and the other SAP products, services and logos that are contained in this text are trademarks or registered trademarks of SAP AG in Germany and other countries worldwide. All other product and service names mentioned are the trademarks of their respective owners. Names mentioned in this text are done so without prejudice and are for information purposes only. Products may differ from country to country.
The information contained in this publication is the property of SAP. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG.
This publication is a preliminary version and it is not subject to your license agreement or any other agreement with SAP. This publication only contains intended strategies, developments and functions of the SAP® product. This course does not commit SAP to any particular course of business, product strategy and/or development. Please note that this document is subject to change and may be changed by SAP at any time without notice.
SAP assumes no responsibility for errors or omissions in this publication. Furthermore, SAP does not accept liability for the accuracy or completeness of the information, texts, graphics, links or other items contained within this publication. This publication is provided without a warranty of any kind, either express or implied. This includes (but is not limited to) the warranties of marketability, suitability for a particular purposes and non-infringement.
SAP shall have no liability for damages of any kind. This includes any direct, special, indirect, or consequential damages that may result from the use of these materials. These limitations shall not apply in cases of intent or gross negligence.
The statutory liability for personal injury and defective products is not affected. SAP has no control over the information that you may access through the use of hot links contained in these materials. SAP does not endorse your use of third-party Web pages nor provide any warranty whatsoever relating to third-party Web pages.
SAP AG 2008
Course Prerequisites
Essential
Basic business knowledge of CRM processes and CRM concepts
TCRM10 – CRM Fundamentals I
Recommended
Knowledge of SAP Sales and Distribution business processes (e.g. SCM600 or certification in SCM Order Fulfillment)
SAP AG 2008
Target Group
??
Target Group
Solution Consultants responsible for implementing Customer Relationship Management with SAP CRM
Duration
5 Days
© SAP AG TCRM20 1-1
SAP AG 2008
Course goals
Course content
Contents:
Course Overview
© SAP AG TCRM20 1-2
SAP AG 2008
At the conclusion of this course, you will be able to:
use the basic knowledge a CRM Solution Consultant requires for all consultant profiles
Course Goals
© SAP AG TCRM20 1-3
SAP AG 2008
Section CRM Base CustomizingSection CRM MiddlewareSection CRM WebClient User InterfaceSection Case Study
Course Content: TCRM20 – CRM Fundamentals II
Part 1
Part 2
This SAP Consultant Education course contains several sections: CRM Base Customizing
CRM Middleware
CRM WebClient UI
Case Study
© SAP AG TCRM20 1-4
© SAP AG TCRM20 2-1
SAP AG 2008
Section: CRM Base Customizing
CRM Base CustomizingCRM Base Customizing
© SAP AG TCRM20 2-2
SAP AG 2008
CRM Base Customizing – Section Outline
Units:
1. Transaction Processing
2. Activity Management
3. Partner Processing
4. Actions
5. Pricing Fundamentals
6. CRM Billing
© SAP AG TCRM20 3-1
SAP AG 2008
Transaction Processing: Overview Diagram
9. Pricing Fundamentals
10. CRM Billing
11. CRM Middleware
12. CRM WebClient UI
Appendix
Unit1. SAP CRM 2007 – Overview
2. Account Management
3. Organizational Management
4. Product Master
5. Transaction Processing
6. Activity Management
7. Partner Processing
8. Actions
© SAP AG TCRM20 3-2
SAP AG 2008
Transaction Processing
Structure of transactions
Transaction types
Item categories and item category determination
Basic functions in business transactions
© SAP AG TCRM20 3-3
SAP AG 2008
Transaction Processing: Unit Objectives
At the end of this unit, you will be able to:
Give examples of the different CRM business transactions
Describe the structure of business transactions
Explain and create transaction types and item categories
Configure the basic functions of business transactions
© SAP AG TCRM20 3-4
SAP AG 2008
Transactions are a flexible means to control and manage processes according to your company's requirements.You need to be familiar with the various functions and control mechanisms of transactions.
Transaction Processing: Business Scenario
© SAP AG TCRM20 3-5
SAP AG 2008
Business Processes in SAP CRM
Opportunity
OrderContract
QuotationActivity
Lead
ServiceRequest
Complaint
Business transactions in SAP CRM are used to describe business processes and transactions.
A business transaction provides business structures and functions that can be used in the various processes of a company, for example, in sales, marketing or service.
The same interface and processing concepts are used for all business transactions. The various components of business transactions can be used repeatedly.
You can enter items from different business contexts in one transaction. For example, you can enter product sales, complaint items and returns items in one transaction.
© SAP AG TCRM20 3-6
SAP AG 2008
General Structure of Transactions
Material 1 Quantity
Business Partners
Item-specific data, such asPricing relevanceATP relevanceConfirmation relevanceResource planning relevanceBilling relevance...
General data, such asDescriptionPrioritySales cyclePurchase order numberPricing procedureStatusSubject...
Business Transaction
Material 2 Quantity
Service 1 Quantity
A business transaction represents a business interaction with a business partner.
The structure of a business transaction depends on the leading business transaction category (for example, contact, opportunity, sales, service). Examples:
Tasks have only a header level.
Leads, opportunities and service transactions have a header and item level.
Sales transactions have an additional schedule line level (delivery quantities and delivery dates, possibly after an ATP check).
© SAP AG TCRM20 3-7
SAP AG 2008
Different settings according to business transaction category
Additional business transaction categoriesDependent on leading business transaction category
Business transaction attributes and characteristics:Leading business transaction categoryControl attributes
Business Transaction Customizing: Header
Define transaction types
Assign business transaction categories
Customizing at header level
Assign blocking reasons
Allowed channels for transaction typesConsidering the business partner status
Restricting the usage of the transaction type
A business transaction can be assigned to one or more business transaction categories, depending on what the leading business transaction category is. Assigned business transaction categories allow detailed control of the transaction.
Only specific combinations of business transaction categories are possible.
Examples:
The transaction category SRVO (service transaction) has the leading business transaction category service transaction and the three assigned business transaction categories contact, sales and service transaction.
The transaction category LEAD (lead) has the leading business transaction category lead and one assigned business transaction category lead.
The transaction category TA (telesales) has the leading business transaction category sales and two assigned business transaction categories contact and sales.
Assign blocking reasons: You can use blocking reasons to block a business partner against the entry of certain business transactions. When the block applies to the transaction category, you cannot enter any business transactions for the blocked business partner.
Permitted channels for transaction types: Once you have assigned transaction types to particular channels, only these transaction types are available for selection in the input help of each corresponding channel.
© SAP AG TCRM20 3-8
SAP AG 2008
Business Transaction Customizing: Item
Different settings according to business transaction category
Assign business transaction categoriesOnly certain combinations are permitted
Item attributes and characteristics:Controlling attributesItem object type
Define item category
Assign business transaction categories
Customizing at item level
First you define the general settings (the attributes that are the same for every type of item category). Item object type; partner determination procedure; status profile; ATP profile; action profile; date
profile; BOM explosion and configuration data.
Next you define the business context in which the item category is used. Settings differ depending on the assigned business transaction category. For example, billing reference is defined under Sales and confirmation relevance under Service Transaction.
Examples:
The item category SRVP (service product item) is assigned the two business transaction categories Sales and Service transaction.
The item category OPPT (opportunity item) is assigned the business transaction category Opportunity.
Activities do not usually have items. Customizing of item categories and item category determination is not necessary in this case. Exception: Contact reports/activity reports.
© SAP AG TCRM20 3-9
SAP AG 2008
Customizing: Item Category Determination
Item Category Usage
Item Category Group
Transaction TypeTransaction
Product Master
Program
Default valueAlternative item categories
Main Item Category
Item Category
=
The Item Category Group field of the product master is dependent and independent of the organizational data (the Distribution Chain is dependent and the Details are independent).
The procedure for item category determination should be set up in the same way as in the SAP ERP system, especially when there are transactions that will be replicated. Otherwise, problems may occur during the upload to the ERP system.
Other user-defined item categories and their corresponding determination procedures must be set up manually. It is not possible to download Customizing from ERP.
In some situations ("complaints"), the item category determination is derived from the action definitions.
Examples for item category determination:
A sales item (NORM) in a standard sales order (TA) results in item category TAN.
A sales item (NORM) in a standard sales order (TA) that belongs to a higher-level item of item category TAN results in item category TANN once free goods determination takes place (item category usage is FREE).
A service product item (SVRP) in a standard service order (SRVO) results in item category SRVP.
© SAP AG TCRM20 3-10
SAP AG 2008
Examples of Item Category Determination
Material 1
Service
Quotation (AG) Service order (SRVO) Service contract (SC)
NORM
SRVP
AGN SRVP SCN
SRVS
With billing plan
FAPFFAPFFAPF
… …
AG+
NORM+
< >+
< >=
AGN
SRVO+
SRVP+
< >+
< >=
SRVP
SRVO+
NORM+
< >+
SRVP=
SRVS
SC+
SRVP+
< >+
<blank>=
SCN
SC+
SRVP+
SERV+
SCN=
FAPF
AG+
0002+
< >+
< >=
AGC
0002
AGCMaterial 2
The slide illustrates some normal examples for item category determination. Quotation processing with two items. A quote is made for a stock material (item category group
sales item = NORM) and a configurable product (item category group configuration above = 0002). Due to the different products (item category groups), the system determines two different item categories (AGN and AGC).
Service order processing with two items. A quote is made for a service (item category group service product = SRVP) and a corresponding [subitem] sales item (item category group sales item = NORM). The system determines item categories SRVP and SRVS.
Alternatively, there could also be a corresponding service part item (item category group service material = SRVM). In this situation, the system would have determined the item category SRVM
Service order with billing plan. A service product is entered (item category group service product = SRVP). Additional billing plan subitems are generated by the item category usage (service billing plan = SERV). The system determines the main item category SCN and billing plan items with item category FAPF.
© SAP AG TCRM20 3-11
SAP AG 2008
Copying Business Transactions
Copy
Copies current transaction document:
Same transaction type
Header data and item datais copied
Transaction history is not updated; no relationship to predecessor
Create Follow-Up Transaction
Data copied from a business transaction:
You can choose the transaction type for the follow-up transaction
Header data is copied
You can select items
Transaction history is updated
Prerequisite: copy control settings
The processing of follow-up transactions requires several settings in copy control Customizing: Copy control for transaction types Copy control for item categories Determination of the item category during the copy (optional)
You must also ensure that settings have been made for the target transaction (for example, item category determination).
When you copy transactions, the system produces a copy and displays it for processing. When the copied transaction is saved, the document flow is not updated; in other words, the copied transaction has no connection to the original transaction.
Customers can adjust the conditions of the copy control according to their individual requirements. You have the option of writing your own data transfer routines using BAdI (business add-in) methods. You can use the BAdI CRM_COPY_BADI to create copy routines.
© SAP AG TCRM20 3-12
SAP AG 2008
Transaction History/Document Flow in Transactions
The transaction history allows you to display interlinkages between business transactions at header and item level.
Transaction history
Shipping activities
Billing activities
- Quotation - Replicated document- Contract- Service orders- Confirmation- …
Confirmations
- Delivery documents
- Confirmations
- Invoices- Credit memos- Debit Memos
The display of the transaction history is context-specific and depends on each transaction type.
The transaction history is updated when follow-up transactions are processed.
You can navigate from the transaction history to linked business transactions.
In some cases (for example, document replication), you can use the transaction history to navigate to a connected ERP system. However, this requires use of SAP Internet Transaction Server (ITS).
© SAP AG TCRM20 3-13
SAP AG 2008
Customizing: Copy Control
Transaction types
Item categories
Item category determination during copying
Source Target
AG TAGeneral controlDetailed data
Source Target
AGN TANGeneral controlDetailed data
Sourceitem
category
Target item
categoryZAG1 ZTA1
Transaction Type
TA+
Copy control is required to process follow-up transactions. Copy control is mandatory for transaction types.
Copy control is mandatory for item categories if you want to copy products (items) to a follow-up document.
For example, creating a service order with service order determination.
The definition of item category determination when copying is optional and can be used if item category determination is not required in the target transaction.
Copy control can be maintained in Customizing: SAP Implementation Guide Customer Relationship Management Transactions Basic Settings Copying Control for Business Transactions .
© SAP AG TCRM20 3-14
SAP AG 2008
ActivityE.g., customer visit
Subsequent Referencing
Object relationship profile
Transaction Type
Object relationships
Interface settings
Service order
Opportunity
Contract
Relationships
ContractService orderOpportunity
When you create an activity and then see that it should have been created as a follow-up transaction to an existing case, you can subsequently link this activity to an existing transaction.
You can subsequently link follow-up transactions from header to header.
It is not possible to subsequently link from item to item.
When you subsequently link follow-up transactions, the document flow is updated automatically. When you delete a link, the document flow is updated accordingly when you save the transaction.
To enable subsequent referencing, you have to create an object relationship profile in Customizing and assign it to a transaction type.
SAP Implementation Guide Customer Relationship Management Transactions Settings for Activities Define Object Relationship Profile
© SAP AG TCRM20 3-15
SAP AG 2008
Basic Functions in Business Transactions
Text Determination
Date Management
Status Management
Incompleteness Check
Change History
Other basic functions are described during this course. These include: Partner processing
Action processing
Pricing
The following sales-specific functions are covered in more detail by the course CR300 "CRM Sales":
Product substitution
Free products
Credit limit check
Availability check (ATP check)
© SAP AG TCRM20 3-16
SAP AG 2008
Texts/Notes in Transactions
Notes
Customer requirementInternal note
Header note
Notes
First note
The text of the text field in the details of a business transaction is transferred with the logon language to the first position of the "Notes" assignment block.
You can maintain different notes for each business transaction. The first note can usually be created in the overview area of a business transaction. You can create texts and notes for several other objects in the SAP CRM system. These include:
Business partners
Products
Product catalogs
Billing documents (header and item)
Texts can be maintained in different languages.
© SAP AG TCRM20 3-17
SAP AG 2008
Text determination procedure:
Item CategoryTransaction Type
Which applications can use the procedure (that is, determine text objects)?
Which text types should be displayed?(For example, internal note, customer inquiry, report)
How should texts in the document be processed?(Mandatory or optional, changeable and so on)
How should the texts be determined?(Access sequence: template object and template text type)
Text Determination Procedure
According to your business scenario, you combine a number of text types in the text determination procedure. These texts are displayed automatically in transactions or can be entered manually.
Text objects and text types are defined in Customizing: SAP Implementation Guide → Customer Relationship Management → Basic Functions→ Text Management → Define Text Objects and Text Types.
Text determination procedures and access sequences are also defined in Customizing: SAP Implementation Guide → Customer Relationship Management → Basic Functions→ Text Management → Define Text Determination Procedure.
© SAP AG TCRM20 3-18
SAP AG 2008
Date Management
Examples of date types in business transactions:
Activity
Salescontract
Planned date:Actual date:
Contract start:Runtime:Contract end:
Call customer:
Date type: Date rule:
Current date
Current dateOne yearContract start? + validity period
Contract end – two weeks
Date management enables you to process the dates that are relevant for you in one transaction.
Date management enables you to process the dates that are relevant for you in one document. It is used, for example, in contracts (cancellation dates and runtimes), activities (total duration of an activity), and quotations (valid to date). You can use date management in other transaction types. You define specific dates, or the system can calculate dates using date types, durations and date rules.
The date profile controls which reference objects, time duration, date types, and date rules can be used in a specific transaction type.
© SAP AG TCRM20 3-19
SAP AG 2008
Date Profile:
Item CategoryTransaction Type
Which date types can I use?
Which durations are included?
What attributes have been given to the dates and durations?
How are the dates determined (date rules)?
Date Profile
Date types are descriptions of business transaction dates, for example, start of contract, end of contract, date of signature.
The duration is the period between two points in time. It consists of a numerical value and definable time unit.
Date profiles, date types and date rules are defined in Customizing:
SAP Implementation Guide → Customer Relationship Management → Basic Functions→ Date Management → Define Date Profile
SAP Implementation Guide → Customer Relationship Management → Basic Functions → Date Management → Define Data Types, Duration Types and Date Rules
© SAP AG TCRM20 3-20
SAP AG 2008
User Status(Customer status)
System Status(SAP standard status)
Status Management
Examples:OpenIn ProcessingErrorCompleteDistribution Lock
Examples:Customer ActionTo ReleaseReleasedRejectedTriggered
Can be defined in status profile in any way
Meaning determined by SAP standard
System statuses: If a status profile (for the user status) is not assigned to a transaction type/item categories, system statuses are displayed in the application (in the transaction).
In standard systems, some of the system statuses are not displayed in the CRM WebClient UI. The user only sees the statuses that are relevant to them. Other statuses that are required for the program flow are set but not always displayed.
User statuses: If a status profile (for the user status) is assigned to a transaction type/item categories, user statuses are displayed in the application (in the transaction).
SAP Implementation Guide → Customer Relationship Management → Transactions → Basic Settings → Status Management → Change Status Profile for User Status
© SAP AG TCRM20 3-21
SAP AG 2008
Status Profile
Status Profile:
Item CategoryTransaction Type
Definition of user status With or without status number
Transaction control
Authorization key
User statuses are defined in a status profile. In status profiles you can do the following: Define the activation sequence of user statuses
Define an initial status/start status
Set a transaction status that is connected with the user status
You must assign at least one object type, such as the CRM order header, to the status profile.
© SAP AG TCRM20 3-22
SAP AG 2008
Incompleteness Check
Order
Sold-To Party: RJM ServicesExt. Ref.:
Item Product10 M3020 M4030 M35
Message:Transaction is incomplete: Ext. Reference is missingStatus: Incomplete
The incompleteness check allows you to find out whether a transaction is complete or not.
For example, the External Reference field is a required entry field in standard sales orders.
Follow-up transaction possibleFollow-up transaction not possible
You can make settings for the incompleteness check in business transactions. You can define when a business transaction in the system should be considered incomplete and what message type the system should issue during data processing. You can restrict the incompleteness check to individual transaction types and to individual business partners.
The scope of the check can differ for each object. For example, the system checks different fields in a sales order than it checks in an opportunity.
The report CRM_ORDER_INCOMP_CHECK can be used to select incomplete transactions.
You can define the incompleteness check in Customizing. To do so, follow the Customizing path: SAP Implementation Guide→ Customer Relationship Management → Basic Functions → Incompleteness.
© SAP AG TCRM20 3-23
SAP AG 2008
Incompleteness Check: Customizing
In Customizing, you define which fields are mandatory for which transaction type and/or item category:
Incompleteness group transaction/item
Incompleteness group business partner
Incompleteness Procedure
Transaction type/item category
Business partnermaster data
Which fields are required entry fields?
Which message type is involved (error or warning)?
How does the system react (for example, is the status set to “incomplete for delivery”)?
To set up the incompleteness check, perform these steps: Define an incompleteness group for business transactions and items. Define an incompleteness check for business partners. In the business partner master data, assign the
required business partners to the incompleteness group in the Sales Area Data on the Sales tab page.
Assign transaction types to the incompleteness groups. In the incompleteness check, the same conditions are valid for all transaction types that are assigned the same incompleteness group.
Assign item categories to the incompleteness groups. In the incompleteness check, the same conditions are valid for all item categories that are assigned the same incompleteness group.
Define the incompleteness procedures that are valid for the various subobjects of a transaction, for example, SALES for sales data or PRODUCT_I for product data at item level. In an incompleteness procedure, you can group fields that you want to check for completeness. If you do not enter data in any of these fields in the business transaction, the transaction is considered incomplete. For each field in the procedure, you must also define whether the message issued during data processing should be a warning or an error message.
Assign the incompleteness groups to the incompleteness procedures. This specifies the business transactions in which checks are carried out. If you assign an incompleteness group for business partners to an incompleteness procedure, the system carries out the check only for those business partners to whom the incompleteness group was assigned. However, if you create a transaction using that transaction type and business partner, the incompleteness procedure is valid only for the business partner, that is, the system does not display a combination of both procedures as incomplete. Only the fields from the incompleteness procedure for the business partner are displayed as incomplete.
© SAP AG TCRM20 3-24
SAP AG 2008
Change History
The system can update change documents for transactions.
This allows you to display all changes made to a transaction, including:
What was changed (field, old value, new value)
Who made the change
When (date and time) the change was made
You can decide for each transaction type whether change documents are written.
Change History
In Customizing, you can deactivate the updating of change documents for transaction types. Go to the details of a transaction type and set the No Change Documents indicator.
You can display the change documents in the SAP GUI by choosing Extras Change Documents.
© SAP AG TCRM20 3-25
SAP AG 2008
Transaction Processing: Unit Summary
You are now able to:
Give examples of the different CRM business transactions
Describe the structure of business transactions
Explain and create transaction types and item categories
Configure the basic functions of business transactions
© SAP AG TCRM20 3-26
© SAP AG TCRM20 3-27
Exercises
Unit: Transaction Processing Topic: Transactions and Related Customizing
At the conclusion of this exercise, you will be able to:
• Create and analyze a transaction
• Create a transaction type
• Describe and perform item category determination for a transaction type
You want to use a new transaction type for your trade fair business in the Sales area. You therefore copy and adjust an existing transaction type in the Implementation Guide (IMG). Before you create a transaction type, you want to understand the application and where to find the data.
Optional Exercises (Service): You want to set up a new transaction type for service transactions in the Service area.
1-1 To familiarize yourself with some of the basic mechanisms in transaction processing, you create a transaction in the CRM system.
1-1-1 Create a quotation of the type Quotation ERP for the sold-to party ##Megastore. Use First Quotation ## for the external reference.
Before you choose Quotation ERP (description of the transaction type), personalize the technical transaction type in the selection dialog for transaction types.
1-1-2 Which transaction type (technical key) represents this transaction?
_____________________
1-1-3 Which statuses are available in the quotation after you enter the sold-to party?
1-1-4 Enter the product with the number HT-1010 and a quantity of 10 PC in the item list.
Which item category is determined by the system?
_______
1-1-5 Save the transaction and note the number.
___________________ [Data sheet]
© SAP AG TCRM20 3-28
1-2 If applicable, call the last sales transaction you saved and analyze the item category that was determined and also how it was determined.
1-2-1 Where in Customizing are the detailed settings for the transaction type that is used?
1-2-2 Where in Customizing are the detailed settings for the item category that was determined?
1-2-3 Check whether this item category contains a date profile in Customizing.
What Billing Relevance indicator does this item category have?
1-2-4 In Customizing, analyze the item category determination. What were the influencing factors or associated values found for the item category determined in the previous step? Write down both the influencing factors and associated values.
___________________________________________________
___________________________________________________
___________________________________________________
To determine the relevant item category group, call the product master again and look at the data sheet.
1-2-5 What other factors can influence the determination of an item category? Name a suitable example.
1-3 You want to create the new sales transaction type ZA## (##Quotation) in Customizing. Create it as a copy of existing transaction type AG and make some minor changes.
SAP Menu → Architecture and Technology → Configuration → Customizing
Choose SAP Reference IMG.
SAP Implementation Guide → Customer Relationship Management → Transactions → Basic Settings → Define Transaction Types
1-3-1 Search for the existing transaction type AG.
1-3-2 Select the line and choose Copy as….
1-3-3 Enter the abbreviation ZA## and the description ##Quotation (short and long text).
1-3-4 Confirm the dialog box (number of dependent entries copied) with ENTER.
1-3-5 Assign the organizational data profile ZTACADEMY to this transaction type.
1-3-6 Choose Save.
© SAP AG TCRM20 3-29
1-4 In order to use the new transaction type, you must maintain item category determination. If you are entering a sales item (NORM), use the standard SAP item category for the quotation item rather than your own item category.
1-4-1 Set up item category determination in Customizing.
SAP Implementation Guide → Customer Relationship Management → Transactions → Basic Settings → Define Item Category Determination
1-4-2 Search (using Position) for transaction type AG and item category group NORM (Standard item). Select the line and choose Copy as….
1-4-3 Replace transaction type AG with the new transaction type ZA##.
1-4-4 Save your entries.
1-5 Test your new transaction type by creating a new quotation (transaction type ##Quotation).
1-5-1 Enter sold-to party ##Decot and the number of product ##Screen with quantity 1.
You can also search using the input help (description = ##Screen).
Save the transaction and note the number.
___________________ [Data sheet]
© SAP AG TCRM20 3-30
© SAP AG TCRM20 3-31
Unit: Transaction Processing Topic: Implementing and Testing Copying Control
At the conclusion of this exercise, you will be able to:
• Describe copying control for transaction types and item categories in CRM, and implement and test this
• Create business transactions as copies or as follow-up transactions of already existing transactions
You want to use the quotation you created in a previous exercise as a basis for creating additional business transactions such as standard telesales order. To do this, you must be able to describe copying control in CRM and make the necessary entries.
2-1 In order to use your new transaction type ZA## (##Quotation) productively (that is, in order to create follow-up transactions), you must make and check the entries that are needed for transaction types and item categories (at header and item level) in the copy control.
2-1-1 Try to create a sales order of the type Telesales as a follow-up transaction for the ##Quotation you created in the previous exercise.
Does the system allow you to do this?
____________________
Explain why.
____________________________________________________
2-1-2 In the Customizing activity Define Copying Control for Transaction Types, check whether the relevant entry for copying the source transaction type ZA## to the target transaction type TA exists.
Add the missing entry.
2-1-3 Test your settings and create a transaction of the type Telesales as a follow-up transaction for ZA## (##Quotation). Make a note of the number.
___________________ [Data sheet]
2-1-4 Where can you find information about the transaction history?
© SAP AG TCRM20 3-32
© SAP AG TCRM20 3-33
Unit: Transaction Processing Topic: Text Determination
At the conclusion of this exercise, you will be able to:
• Explain, implement and test text determination for transactions in CRM
You want to understand and create settings for the text determination for the transaction type you created in the last exercise.
To do this, you analyze the existing text determination procedure and then make a number of changes in order to enter additional text data.
3-1 Settings for text determination
3-1-1 Which text determination procedure is used in transactions of the type ##Quotation?
________________
3-1-2 Take a look at the settings for this text determination procedure in Customizing.
What text types are used in the underlying text determination procedure?
__________________________________________________
3-1-3 What might be the source of the text data in the Header Note text type?
3-1-4 Copy the text determination procedure ORDER001. Enter ZTDP## as the text determination procedure ID and ##Text Determination Procedure as the description.
Also include the text type A003 (Preparation) in the text determination procedure.
3-1-5 Assign the text determination procedure you created (ZTDP##) to your transaction type ZA## (##Quotation).
3-1-6 Use the transaction type ZA## (##Quotation) to test whether the text determination procedure and the text type function correctly.
Create a ##Quotation and ensure that the new text type is in the Notes assignment block by creating a text of this type.
© SAP AG TCRM20 3-34
© SAP AG TCRM20 3-35
Unit: Transaction Processing Topic: Incompleteness
At the conclusion of this exercise, you will be able to:
• Explain, implement and test incompleteness for transactions in CRM
You want to create a new incompleteness procedure for your transaction type ZA##, ##Quotation. The transaction shall be classified as incomplete if the external reference is missing.
4-1 You want to ensure that the external reference field is maintained in sales transaction ZA##. You want an error message to be displayed if no data is entered for the field. Create the incompleteness group ZG## with the description IC Group ## for your transaction. Maintain the incompleteness procedure ZP## with the description IC Procedure ##.
4-1-1 Define the incompleteness group ZG##.
4-1-2 Assign the incompleteness group to your transaction type ZA##.
4-1-3 Create incompleteness procedure ZP## with the description IC Procedure ##.
4-1-4 Enter the details for the incompleteness procedure and define the field as External Reference so that a warning is displayed if it is not filled. Save your data.
Use the object name SALES and the field name PO_NUMBER_SOLD.
4-1-5 Create a Determination incompleteness procedure. Enter ZG## in the Incompleteness Group: Transact field (incompleteness for transaction type) and leave the field for the business partner blank. Enter ZP## in the Procedure field.
4-1-6 See if your incompleteness procedure works with business partner ##Decot. Create a new transaction of type ##Quotation.
Is an error message displayed?
© SAP AG TCRM20 3-36
© SAP AG TCRM20 3-37
Alternative Service Scenario: Exercises
1-1 To familiarize yourself with some of the basic mechanisms in transaction processing, you create a transaction in the CRM system.
1-1-1 Create a service transaction of the type Service Process for the sold-to party ##Megastore. Use First Service Order ## as the description.
Before you choose Service Process (description of the transaction type), personalize the technical transaction type in the selection dialog for transaction types.
1-1-2 Which transaction type (technical key) represents this transaction?
_______________
1-1-3 In the item details (assignment block Items), enter product number SRV1_4 in the Product ID field with a quantity of 2.
Which item category is determined by the system?
________
1-1-4 Save the transaction and note the number.
___________________ [Data sheet]
© SAP AG TCRM20 3-38
1-2 If applicable, call the last service transaction you saved and analyze the item category that was determined and also how it was determined.
1-2-1 Where in Customizing are the detailed settings for the transaction type that is used?
1-2-2 Where in Customizing are the detailed settings for the item category that was determined?
1-2-3 Check whether this item category contains a date profile in Customizing.
Is the Relevant for resource planning indicator set for the item category?
What Billing Relevance indicator does this item category have?
1-2-4 In Customizing, analyze the item category determination. What were the influencing factors or associated values found for the item category determined in the previous step? Write down both the influencing factors and associated values.
___________________________________________________
___________________________________________________
To determine the relevant item category group, call the product master again and look at the data sheet.
1-2-5 What other factors can influence the determination of an item category? Name suitable examples.
© SAP AG TCRM20 3-39
1-3 You would like to create a new service transaction type ZS## (##Service order) in Customizing. Create it as a copy of the existing transaction type ZES1 and make some minor changes.
SAP Menu → Architecture and Technology → Configuration → Customizing
Choose SAP Reference IMG.
SAP Implementation Guide → Customer Relationship Management → Transactions → Basic Settings → Define Transaction Types
1-3-1 Search for the existing transaction type ZSE1.
1-3-2 Select the line and choose Copy as….
1-3-3 Enter the abbreviation ZS## and the description ##Service order (short and long text).
1-3-4 Confirm the dialog box (number of dependent entries copied) with ENTER.
1-3-5 Assign the partner determination procedure ZTSRVH01 and the organizational data profile ZTORGS02 to this transaction type.
1-3-6 Choose Save.
1-4 In order to use the new transaction type, you must maintain item category determination. If you are entering a service item (SRVO), use item category ZSRP rather than one of your own item categories.
1-4-1 Set up item category determination in Customizing.
SAP Implementation Guide → Customer Relationship Management → Transactions → Basic Settings → Define Item Category Determination
1-4-2 Using Position, search for transaction type ZSE1 and item category group SRVO (service item). Select the line and choose Copy as….
1-4-3 Replace transaction type ZSE1 with your new transaction type ZS##. Choose Enter.
1-4-4 Save your entries.
1-5 Test your new transaction type by creating a service order of type ##Service order.
1-5-1 Enter sold-to party ##Decot, the product ##MAINTENANCE and the quantity 1.
Set the distribution lock status for this transaction.
Save the transaction and note the number.
___________________ [Data sheet]
© SAP AG TCRM20 3-40
© SAP AG TCRM20 3-41
Alternative Service Scenario: Exercises
2-1 In order to use your new transaction type ZS## (##Service order) productively (that is, in order to create follow-up transactions), you must check and make the entries that are needed for transaction types and item categories (at header and item level) in copy control.
2-1-1 Try to create a service confirmation of the type Confirmation (transaction type ZSEC) as a follow-up transaction for the ##Service order you created in the previous exercise.
Does the system allow you to do this?
____________________
Explain why.
____________________________________________________
2-1-2 In the Customizing activity Define Copying Control for Transaction Types, check whether the relevant entry for copying the source transaction type ZS## to the target transaction type ZSEC exists.
Add the missing entry.
2-1-3 Test your settings and create a transaction of the type Confirmation as a follow-up transaction for ZS## (##Service order). Make a note of the number.
___________________ [Data sheet]
2-1-4 Where can you find information about the transaction history?
© SAP AG TCRM20 3-42
© SAP AG TCRM20 3-43
Alternative Service Scenario: Exercises
3-1 Settings for text determination
3-1-1 Which text determination procedure is used in transactions of the type ##Service Order?
________________
3-1-2 Take a look at the settings for this text determination procedure in Customizing.
What text types are used in the underlying text determination procedure?
__________________________________________________
3-1-3 Is an access sequence assigned to one of the text types used?
3-1-4 Copy the text determination procedure SRV00002. Enter ZTDP## as the text determination procedure ID and ##Text Determination Procedure as the description.
Also include the text type C003 (Recomm. solutionl) in the text determination procedure.
3-1-5 Assign the text determination procedure you created, ZTDP##, to your transaction type ZS## (##Service order).
3-1-6 Use the transaction type ZS## (##Service order) to test whether the text determination procedure and the text type work correctly.
Create a ##Service order and ensure that the new text type is in the Notes assignment block by creating a text of this type.
© SAP AG TCRM20 3-44
© SAP AG TCRM20 3-45
Alternative Service Scenario: Exercises
4-1 You want to ensure that the external reference field is maintained in service transaction ZS##. You want an error message to be displayed if no data is entered for the field. Create the incompleteness group ZG## with the description IC Group ## for your transaction. Maintain the incompleteness procedure ZP## with the description IC Procedure ##.
4-1-1 Define the incompleteness group ZG##.
4-1-2 Assign the incompleteness group to your transaction type ZS##.
4-1-3 Create incompleteness procedure ZP## with the description IC Procedure ##.
4-1-4 Enter the details for the incompleteness procedure and define the field as External Reference so that a warning is displayed if it is not filled. Save your data.
Use the object name SALES and the field name PO_NUMBER_SOLD.
4-1-5 Create a Determination incompleteness procedure. Enter ZG## in the Incompleteness Group: Transact field (incompleteness for transaction type) and leave the field for the business partner blank. Enter ZP## in the Procedure field.
4-1-6 See if your incompleteness procedure works with business partner ##Decot. Create a new transaction of type ##Service order.
Is an error message displayed?
© SAP AG TCRM20 3-46
© SAP AG TCRM20 3-47
Solutions
Unit: Transaction Processing Topic: Transactions and Related Customizing
1-1 To familiarize yourself with some of the basic mechanisms in transaction
processing, you create a transaction in the CRM system.
1-1-1 Create a quotation of the type Quotation ERP for the sold-to party ##Megastore. Use First Quotation ## for the external reference.
Choose Sales Cycle.
Choose Create → Quotation.
Choose Personalize ( ) in the dialog box that is displayed.
Select Transaction Type and move ( ) the field to the displayed columns.
Choose Save.
Choose Quotation ERP.
Sold-To Party: ##Megastore.
External Reference: First quotation ##.
1-1-2 Which transaction type (technical key) represents this transaction?
AG.
1-1-3 Which statuses are available in the quotation after you enter the sold-to party?
Available statuses: Open, In Process, Released and Completed.
1-1-4 Enter the product with the number HT-1010 and a quantity of 10 PC in the item list.
Product ID: HT-1010
Quantity: 10
You can display the item category in the Items assignment block by using the Personalization ( ) function.
Which item category is determined by the system?
The system determines the Quotation Item item category (AGN).
1-1-5 Save the transaction and note the number.
___________________ [Data sheet]
© SAP AG TCRM20 3-48
1-2 If applicable, call the last sales transaction you saved and analyze the item category that was determined and also how it was determined.
1-2-1 Where in Customizing are the detailed settings for the transaction type that is used?
SAP Menu → Architecture and Technology → Configuration → Customizing Choose SAP Reference IMG.
SAP Implementation Guide → Customer Relationship Management → Transactions → Basic Settings → Define Transaction Types
1-2-2 Where in Customizing are the detailed settings for the item category that was determined?
SAP Implementation Guide → Customer Relationship Management → Transactions → Basic Settings → Define Item Categories
1-2-3 Check whether this item category contains a date profile in Customizing.
Select entry AGN and click the Details icon ( ).
The item category has no date profile.
What Billing Relevance indicator does this item category have?
In the dialog structure, double-click Assignment of Business Transaction Categories.
Select the Sales transaction category and double-click Customizing Item in the dialog structure.
The item category is not relevant for billing.
© SAP AG TCRM20 3-49
1-2-4 In Customizing, analyze the item category determination. What were the influencing factors and associated values during the determination of the item category in the previous step? Write down both the influencing factors and associated values.
• Go to the product master to determine the relevant item category group.
• Choose the Distribution Chains assignment block.
Choose Actions → Edit.
• Item Cat. Group: NORM (Sales Item)
In this case, the item category is determined with the influencing factors transaction type (AG) and item category group (sales item = NORM).
SAP Implementation Guide → Customer Relationship Management → Transactions → Basic Settings → Define Item Category Determination
Choose Position..., enter the above data in the dialog box, and confirm with ENTER.
The system displays the corresponding entry in the table.
Select the entry and choose Details ( icon).
The item category AGN is used as the default value. You cannot use an alternative item category.
1-2-5 What other factors can influence the determination of an item category? Name a suitable example.
As well as the transaction type and the item category group, the usage and a higher-level item category can be used to influence the item category determination.
For example, in standard sales orders (TA), the automatic free goods discount determination uses the usage FREE (free goods discount). In addition, the free goods discount item refers to a higher-level item of the TAN category.
If a sales item (NORM) is recorded in the sales order and a free goods discount is found, the standard system determines a (main) item with item category TAN and a free goods discount item with the item category TANN.
Other examples included structured products and complaint transactions.
© SAP AG TCRM20 3-50
1-3 You want to create the new sales transaction type ZA## (##Quotation) in Customizing. Create it as a copy of existing transaction type AG and make some minor changes.
1-3-1 Search for the existing transaction type AG.
SAP Menu → Architecture and Technology → Configuration → Customizing
Choose SAP Reference IMG.
SAP Implementation Guide → Customer Relationship Management → Transactions → Basic Settings → Define Transaction Types
1-3-2 Select the line and choose Copy as….
Select the button before the line and then the icon.
1-3-3 Enter the abbreviation ZA## and the description ##Quotation (short and long text).
It is important that you change both the short and long texts to ##Quotation.
1-3-4 Confirm the dialog box (number of dependent entries copied) with ENTER.
If you are logged on in a language other than the course language, you should translate the entry you just created into the course language.
• Select Goto → Translation and then the course language. Enter a text that contains your group number.
1-3-5 Assign the organizational data profile ZTACADEMY to this transaction type.
If you are no longer in the detailed view of the transaction type, select transaction type ZA## and choose Details ( ).
In the Org. Data Prof. field, enter the value ZTACADEMY.
1-3-6 Choose Save.
© SAP AG TCRM20 3-51
1-4 In order to use the new transaction type, you must maintain item category determination. If you are entering a sales item (NORM), use the standard SAP item category for the quotation item rather than your own item category.
1-4-1 Set up item category determination in Customizing.
SAP Implementation Guide → Customer Relationship Management → Transactions → Basic Settings → Define Item Category Determination
1-4-2 Search (using Position) for transaction type AG and item Category group NORM (Standard item). Select the line and choose Copy as….
Choose Position...
Transaction Type: AG
Item Cat. Group: NORM
Choose ENTER.
Select the row and choose .
1-4-3 Replace transaction type AG with the new transaction type ZA##.
Transaction Type: ZA##.
Choose ENTER.
1-4-4 Save your entries.
© SAP AG TCRM20 3-52
1-5 Test your new transaction type by creating a sales transaction with type ##Quotation.
1-5-1 Enter sold-to party ##Decot and the number of product ##Screen with quantity 1.
You can also search using the input help (description = ##Screen).
Choose Sales Cycle.
Choose Create → Quotation.
Select ##Quotation.
Sold-To Party: ##Decot.
External Reference: Second quotation ##.
In the Items assignment block:
Product ID: <number of your product>
Quantity: 10
Save the transaction and note the number.
___________________ [Data sheet]
© SAP AG TCRM20 3-53
Unit: Transaction Processing Topic: Setting and Testing Copy Control
2-1 In order to use your new transaction type ZA## (##Quotation) productively (that
is, in order to create follow-up transactions), you must make and check the entries that are needed for transaction types and item categories (at header and item level) in the copy control.
2-1-1 Try to create a sales order of the type Telesales as a follow-up transaction for the ##Quotation you created in the previous exercise.
Does the system allow you to do this?
Choose Sales Cycle.
Choose Search → Quotations..
Sold-To Party Name: ##Decot
Choose Search.
When the search result is displayed, choose the hyperlink to go to the quotation’s details.
Choose Create Follow-Up. A dialog box is displayed.
No, it is not yet possible to create a follow-up transaction of the type Telesales.
Explain why.
After a new transaction type has been set up, only transactions of type “Business Activity” or “Task” can be created without entries having to be made in copy control.
Entries in copy control are required for all other types of follow-up transaction.
© SAP AG TCRM20 3-54
2-1-2 In the Customizing activity Define Copying Control for Transaction Types, check whether the relevant entry for copying the source transaction type ZA## to the target transaction type TA exists.
SAP Implementation Guide → Customer Relationship Management → Transactions → Basic Settings → Copying Control for Business Transactions → Define Copying Control for Transaction Types
Choose Position...
Source transaction type: ZA##
Choose ENTER.
The system moves to a line that is alphabetically closest to the transaction type ZA##. No entry with your transaction type exists (yet).
Add the missing entry.
Choose New Entries.
Source transaction type: ZA##
Target transaction type: TA
Choose ENTER and save.
You do not have to make any additional settings because you do not use your own item category in ##Quotation, the transaction Telesales uses the standard item category TAN, and a copy control entry AGN → TAN already exists (SAP standard).
© SAP AG TCRM20 3-55
2-1-3 Test your settings and create a transaction of the type Telesales as a follow-up transaction for ZA## (##Quotation). Make a note of the number.
Choose Sales Cycle.
Choose Search → Quotations.
Sold-To Party Name: ##Decot
Choose Search.
When the search result is displayed, choose the hyperlink to go to the quotation’s details.
Choose Create Follow-Up. A dialog box is displayed.
Choose Telesales.
In the Select Items dialog box, select the item(s) that you want to transfer.
Choose Choose.
Choose Save and note the transaction number.
___________________ [Data sheet]
2-1-4 Where can you find information about the transaction history?
The Transaction History assignment block contains information about preceding transactions and follow-up transactions.
© SAP AG TCRM20 3-56
© SAP AG TCRM20 3-57
Unit: Transaction Processing Topic: Text Determination
3-1 Settings for text determination
3-1-1 Which text determination procedure is used in transactions of the type ##Quotation?
SAP Menu → Architecture and Technology → Configuration → Customizing
Choose SAP Reference IMG.
SAP Implementation Guide → Customer Relationship Management → Transactions → Basic Settings → Define Transaction Types
View the details of your transaction type ZA##.
The transaction type uses the text determination procedure ORDER001.
3-1-2 Take a look at the settings for this text determination procedure in Customizing.
What text types are used in the underlying text determination procedure?
SAP Implementation Guide → Customer Relationship Management → Basic Functions → Text Management → Define Text Determination Procedure Select the text object CRM_ORDERH (Transaction Header)
Double-click the Procedure entry in the structure tree.
Select the entry ORDER001.
Double-click the Definition of Procedure entry in the structure tree.
The text types 0001 (Header Note), 1000 (Customer wishes), 0003 (Final note), 0002 (Internal note) and S001 (Problem Description) are used.
3-1-3 What might be the source of the text data in the Header Note text type?
Look at access 01 (Business partner text), which is assigned to text type 0001.
In the details of the access sequence, you can see that it searches in the Correspondence text type of the business partner. If there is text data here, it can be copied to the header note of the business transaction.
© SAP AG TCRM20 3-58
3-1-4 Copy the text determination procedure ORDER001. Enter ZTDP## as the text determination procedure ID and ##Text Determination Procedure as the description.
Also include the text type A003 (Preparation) in the text determination procedure.
Navigate to Procedure in the structure tree.
Select the entry ORDER001 and choose Copy as… ( ).
Text determination procedure: ZTDP##
Dscrptn Proc.: ##Text determination procedure
Choose ENTER:
In the dialog box that appears, confirm that you want to copy all dependent entries.
Select the newly created text determination procedure and choose Definition of Procedure.
Also include the text type A003 (Preparation) in the text determination procedure.
Select New Entries.
Text Type: A003
Save your entries.
3-1-5 Assign the text determination procedure you created (ZTDP##) to your transaction type ZA## (##Quotation).
SAP Implementation Guide → Customer Relationship Management → Transactions → Basic Settings → Define Transaction Types
Change the details of your transaction type ZA##.
Text determination procedure: ZTDP##
Save your entries.
3-1-6 Create a ##Quotation and ensure that the new text type is in the Notes assignment block by creating a text of this type.
Yes, the new text type can be used in transaction of type ##Quotation
© SAP AG TCRM20 3-59
Unit: Transaction Processing Topic: Incompleteness
4-1 You want to ensure that the external reference field is maintained in sales
transaction ZA##. You would like an error message if no data is entered for the field. Create the incompleteness group ZG## with the description IC Group ## for your transaction. Maintain the incompleteness procedure ZP## with the description IC Procedure ##.
4-1-1 Define the incompleteness group ZG##.
SAP Implementation Guide → Customer Relationship Management → Basic Functions → Incompleteness → Define Incompleteness Procedures
In the dialog structure, go to
Incompleteness Group: Transaction/Item Choose New Entries. Create incompleteness group ZG## with the description IC Group ##.
Save your entries.
4-1-2 Assign the incompleteness group to your transaction type ZA##.
Assignment: Transaction Type – Incompleteness Group Search for your transaction type ZA## and assign it incompleteness group ZG##.
4-1-3 Create incompleteness procedure ZP## with the description IC Procedure ##.
In the dialog structure, go to
Incompleteness Procedure Choose New Entries. Create incompleteness procedure ZP## with the description IC Procedure ##.
© SAP AG TCRM20 3-60
4-1-4 Enter the details for the incompleteness procedure and define the field as External Reference so that an error is displayed if it is not filled. Save your data.
To see the field name, click the field, choose F1 help, and choose Technical Information. The field name is displayed in the Field Data area.
In the dialog structure, go to
Incompleteness Procedure: Detail, choose New Entries and enter the following: Object Name: SALES
Field Name: PO_NUMBER_SOLD Relevance: Header
Message Category: Warning
Business Transaction: INC1
Save your entries.
4-1-5 Create a Determination incompleteness procedure. Enter ZG## in the Incompleteness Group: Transact field (incompleteness for transaction type) and leave the field for the business partner blank. Enter ZP## in the Procedure field.
In the dialog structure, go to
Incompleteness Procedure: Determination, choose New Entries and enter the following:
Incompleteness Group: Transact.: ZG##
Procedure: ZP##
4-1-6 See if your incompleteness procedure works with business partner ##Decot. Create a new transaction of type ##Quotation.
Is an error message displayed?
Yes, an error message is displayed if the external reference field is empty.
© SAP AG TCRM20 3-61
Alternative Service Scenario: Solutions
1-1 To familiarize yourself with some of the basic mechanisms in transaction processing, you create a transaction in the CRM system.
1-1-1 Create a service transaction of the type Service Process for the sold-to party ##Megastore. Use First Service Order ## as the description.
Choose Service Orders.
Choose Create → Service Order.
Choose Personalize ( ) in the dialog box that is displayed.
Select Transaction Type and move ( ) the field to the displayed columns.
Choose Save.
Choose Service Process.
Sold-To Party: ##Megastore.
Description: First Service Order ##.
1-1-2 Which transaction type (technical key) represents this transaction?
ZSE1. 1-1-3 In the item details (assignment block Items), enter product number SRV1_4
in the Product ID field with a quantity of 2.
Which item category is determined by the system?
The system determines the item category Service w. res. plan. (ZSRP).
1-1-4 Save the transaction and note the number.
___________________ [Data sheet]
© SAP AG TCRM20 3-62
1-2 If applicable, call the last service transaction you saved and analyze the item category that was determined and also how it was determined.
1-2-1 Where in Customizing are the detailed settings for the transaction type that is used?
SAP Menu → Architecture and Technology → Configuration → Customizing Choose SAP Reference IMG.
SAP Implementation Guide → Customer Relationship Management → Transactions → Basic Settings → Define Transaction Types
1-2-2 Where in Customizing are the detailed settings for the item category that was determined?
Architecture and Technology → Configuration → Customizing
Choose SAP Reference IMG.
SAP Implementation Guide → Customer Relationship Management → Transactions → Basic Settings → Define Item Categories
1-2-3 Check whether this item category contains a date profile in Customizing.
Is the Confirmation Relev. indicator set for the item category?
Select entry ZSRP and click on the Details icon ( ).
The item category contains the date profile SLA dates on item (IDES).
In the dialog structure, double-click Assignment of Business Transaction Categories.
Select the Service Transaction transaction category and double- click Customizing Item in the dialog structure.
The item category is indicated as Relevant for resource planning.
What Billing Relevance indicator does this item category have?
In the dialog structure, double-click Assignment of Business Transaction Categories.
Select the Sales transaction category and double-click Customizing Item in the dialog structure.
The item category is not relevant for billing (because the confirmation item is relevant for billing in this scenario).
© SAP AG TCRM20 3-63
1-2-4 In Customizing, analyze the item category determination. What were the influencing factors or associated values found for the item category determined in the previous step? Write down both the influencing factors and associated values.
___________________________________________________
___________________________________________________
• Go to the product master to determine the relevant item category group.
Choose the Distribution Chains assignment block.
• Choose Actions → Edit.
Item category group SRVO (service item)
In this case, the item category determination is performed with the influencing factors transaction type (ZSE1) and item category group (SRVO).
SAP Implementation Guide → Customer Relationship Management → Transactions → Basic Settings → Define Item Category Determination
Choose Position..., enter the above data in the dialog box, and confirm with ENTER.
The system displays the corresponding entry in the table.
Select the entry and choose Details ( icon).
The item category ZSRP is used as a default value. There is the option of using the alternative item category ZSNP.
1-2-5 What other factors can influence the determination of an item category? Name a suitable example.
As well as the transaction type and the item category group, the usage and a main item category can be used to influence the item category determination.
For example, you want to differentiate between spare part items in the service transaction and those spare part items that are assigned directly to a service item.
In this case, you can include the item category group of the higher-level item in the determination of the item category.
© SAP AG TCRM20 3-64
1-3 You would like to create a new service transaction type ZS## (##Service order) in Customizing. Create it as a copy of the existing transaction type ZES1 and make some minor changes.
1-3-1 Search for the existing transaction type ZSE1.
SAP Menu → Architecture and Technology → Configuration → Customizing
Choose SAP Reference IMG.
SAP Implementation Guide → Customer Relationship Management → Transactions → Basic Settings → Define Transaction Types
1-3-2 Select the line and choose Copy as….
Select the button before the line and then the icon.
1-3-3 Enter the abbreviation ZS## and the description ##Service order (short and long text).
It is important that you change both the short and long texts to ##Service order. It is important that you change both the short and long texts to ##Quotation.
1-3-4 Confirm the dialog box (number of dependent entries copied) with ENTER.
If you are logged on in a language other than the course language, you should translate the entry you just created into the course language.
Select Goto → Translation and then the course language. Enter a text that contains your group number.
1-3-5 Assign the partner determination procedure ZTSRVH01 and the organizational data profile ZTORGS02 to this transaction type.
If you are no longer in detail view of the transaction type, select your transaction type ZS## and choose Details ( ).
Enter the value ZTSRVH01 in the partner determination procedure field and the value ZTORGS02 in the Org Data Prof. field.
1-3-6 Choose Save.
© SAP AG TCRM20 3-65
1-4 In order to use the new transaction type, you must maintain item category determination. If you are entering a service item (SRVO), use item category ZSRP rather than one of your own item categories.
1-4-1 Set up item category determination in Customizing.
SAP Implementation Guide → Customer Relationship Management → Transactions → Basic Settings → Define Item Category Determination
1-4-2 Using Position, search for transaction type ZSE1 and item category group SRVO (service item). Select the line and choose Copy as….
Choose Position...
Transaction Type: ZSE1
Item Cat. Group: SRVO
Choose ENTER.
Select the row and choose .
1-4-3 Replace transaction type ZSE1 with your new transaction type ZS##.
Transaction Type: ZS##
Choose ENTER.
1-4-4 Save your entries.
1-5 Test your new transaction type by creating a service order of type ##Service order.
1-5-1 Enter sold-to party ##Decot, the product ##Maintenance and the quantity 1.
Choose Service Orders.
Choose Create → Service Order.
Choose ##Service Order.
Description: Second Service Order ##
Sold-To Party: ##Decot
Distribution Lock: Set the indicator
Assignment block Items.
Product ID: ##Maintenance
Quantity: 2.
Choose ENTER.
Set the distribution lock status for this transaction.
Save the transaction and note the number.
___________________ [Data sheet]
© SAP AG TCRM20 3-66
© SAP AG TCRM20 3-67
Alternative Service Scenario: Solutions
2-1 In order to use your new transaction type ZS## (##Service order) productively (that is, in order to create follow-up transactions), you must check and make the entries that are needed for transaction types and item categories (at header and item level) in copy control.
2-1-1 Try to create a service confirmation of the type Confirmation (transaction type ZSEC) as a follow-up transaction for the ##Service order you created in the previous exercise.
Choose Service Orders.
Choose Search → Service Orders.
Sold-To Party Name: ##Decot
Choose Search.
When the search result is displayed, choose the hyperlink to go to the details of your service order.
Choose Create Follow-Up. A dialog box is displayed.
No, it is not yet possible to create a follow-up transaction of the type Confirmation.
Explain why.
After a new transaction type has been set up, only transactions of type Contact or Task can be created without entries in copy control.
Copy control entries are required for all other types of follow-up transaction.
© SAP AG TCRM20 3-68
2-1-2 In the Customizing activity Define Copying Control for Transaction Types, check whether the relevant entry for copying the source transaction type ZS## to the target transaction type ZSEC is missing.
SAP Implementation Guide → Customer Relationship Management → Transactions → Basic Settings → Copying Control for Business Transactions → Define Copying Control for Transaction Types
Choose Position...
Source transaction type: ZS##
Choose ENTER.
The system moves to the line that is alphabetically closest to the transaction type ZS##. No entry with your transaction type exists (yet).
Add the missing entry.
Choose New Entries.
Source transaction type: ZS##
Target transaction type: ZSEC
Choose ENTER and save.
You do not have to make any additional settings because you do not use your own item category in ##Service order, the transaction Confirmation uses the standard item category SVCP, and the copy control entry ZSRP → SVCP already exists.
© SAP AG TCRM20 3-69
2-1-3 Test your settings and create a transaction of the type Confirmation as a follow-up transaction for ZS## (##Service order). Make a note of the number.
Choose Service Orders.
Choose Search → Service Orders.
Sold-To Party Name: ##Decot
Choose Search.
When the search result is displayed, choose the hyperlink to go to the details of your service order.
Choose Create Follow-Up. A dialog box is displayed.
As well as the transactions of the type Contact and Task, you now have the option Sales → Confirmation.
Choose Confirmation.
In the Select Items dialog box, select the item(s) that you want to transfer.
Choose Choose.
Choose Save and note the transaction number.
___________________ [Data sheet]
2-1-4 Where can you find information about the transaction history?
The Transaction History assignment block contains information about preceding transactions and follow-up transactions.
© SAP AG TCRM20 3-70
© SAP AG TCRM20 3-71
Alternative Service Scenario: Solutions
3-1 Settings for text determination
3-1-1 Which text determination procedure is used in transactions of the type ##Service Order?
SAP Menu → Architecture and Technology → Configuration → Customizing
Choose SAP Reference IMG.
SAP Implementation Guide → Customer Relationship Management → Transactions → Basic Settings → Define Transaction Types
View the details of your transaction type ZS##.
The transaction type uses the text determination procedure SRV00002.
3-1-2 Take a look at the settings for this text determination procedure in Customizing.
What text types are used in the underlying text determination procedure?
SAP Implementation Guide → Customer Relationship Management → Basic Functions → Text Management → Define Text Determination Procedure Select the text object CRM_ORDERH (Transaction Header)
Double-click the Procedure entry in the structure tree.
Select the entry SRV00002.
Double-click the Definition of Procedure entry in the structure tree.
The text types S001 (Problem description), S002 (Internal note) and S003 (Closing text) are used.
3-1-3 Is an access sequence assigned to one of the text types used?
No, an access sequence was not assigned to any of the text types.
© SAP AG TCRM20 3-72
3-1-4 Copy the text determination procedure SRV00002. Enter ZTDP## as the text determination procedure ID and ##Text Determination Procedure as the description.
Navigate to Procedure in the structure tree.
Select the entry SRV00002 and choose Copy as… ( ).
Text determination procedure: ZTDP##
Dscrptn Proc.: ##Text determination procedure
Choose ENTER:
In the dialog box that appears, confirm that you want to copy all dependent entries.
Select the newly created text determination procedure and choose Definition of Procedure.
Also include the text type C003 (Recomm. solution) in the text determination procedure.
Choose New Entries.
Text Type: C003
Save your entries.
3-1-5 Assign the text determination procedure you created, ZTDP##, to your transaction type ZS## (##Service order).
SAP Implementation Guide → Customer Relationship Management → Transactions → Basic Settings → Define Transaction Types
Change the details of your transaction type ZS##.
Text determination procedure: ZTDP##
Save your entries.
3-1-6 Use the transaction type ZS## (##Service order) to test whether the text determination procedure and the text type work correctly.
Create a ##Service order and ensure that the new text type is in the Notes assignment block by creating a text of this type.
Yes, the new text type can be used in transactions of type ##Service order
© SAP AG TCRM20 3-73
Alternative Service Scenario: Solutions
4-1 You want to ensure that the external reference field is maintained in service transaction ZS##. You want an error message to be displayed if no data is entered for the field. Create the incompleteness group ZG## with the description IC Group ## for your transaction. Maintain the incompleteness procedure ZP## with the description IC Procedure ##.
4-1-1 Define the incompleteness group ZG##.
SAP Implementation Guide → Customer Relationship Management → Basic Functions → Incompleteness → Define Incompleteness Procedure
In the dialog structure, go to
Incompleteness Group: Transaction/Item Choose New Entries. Create incompleteness group ZG## with the description IC Group ##.
Save your entries.
4-1-2 Assign the incompleteness group to your transaction type ZS##.
Assignment: Transaction Type – Incompleteness Group Search for your transaction type ZS## and assign incompleteness group ZG## to it.
4-1-3 Create incompleteness procedure ZP## with the description IC Procedure ##.
In the dialog structure, go to
Incompleteness Procedure Choose New Entries. Create incompleteness procedure ZP## with the description IC Procedure ##.
4-1-4 Enter the details for the incompleteness procedure and define the field as External Reference so that a warning is displayed if it is not filled. Save your data.
In the dialog structure, go to
Incompleteness Procedure: Detail, choose New Entries and enter the following:
Object Name: SALES
Field Name: PO_NUMBER_SOLD
Relevance: Header
Message Category: Warning
Business Transaction: INC1
Save your entries.
© SAP AG TCRM20 3-74
4-1-5 Create a Determination incompleteness procedure. Enter ZG## in the Incompleteness Group: Transact field (incompleteness for transaction type) and leave the field for the business partner blank. Enter ZP## in the Procedure field.
In the dialog structure, go to Incompleteness Procedure: Determination, choose New Entries and enter the following:
Incompleteness Group: Transact.: ZG##
Procedure: ZP##
4-1-6 See if your incompleteness procedure works with business partner ##Decot. Create a new transaction of type ##Service order.
Is an error message displayed?
Yes, an error message is displayed if the external reference field is empty.
© SAP AG TCRM20 4-1
SAP AG 2008
Activity Management: Overview Diagram
9. Pricing Fundamentals
10. CRM Billing
11. CRM Middleware
12. CRM WebClient UI
Appendix
Unit1. SAP CRM 2007 – Overview
2. Account Management
3. Organizational Management
4. Product Master
5. Transaction Processing
6. Activity Management
7. Partner Processing
8. Actions
© SAP AG TCRM20 4-2
SAP AG 2008
Activity Management
Activity Management: Overview
Customizing Activities
© SAP AG TCRM20 4-3
SAP AG 2008
Activity Management: Unit Objectives
At the end of this unit, you will be able to:
Define activities and activity management
Configure a transaction type for activities
Describe the survey integration
Describe groupware integration
© SAP AG TCRM20 4-4
SAP AG 2008
Using different options in SAP CRM, you want to create and monitor various activities. You also want to create follow-up activities.You may have to make Customizing settings for activities in the future.
Activities: Business Scenario
© SAP AG TCRM20 4-5
SAP AG 2008
Activity
Types of Activity
Task
Appointment
Interaction log
Business Activities Tasks
Activities might be telephone calls, customer visits, general preparatory tasks, reminders of appointments (private and business-related), and so on.
There are four different types of activity in the application: Appointments, interaction logs, e-mails and tasks.
From a technical point of view, there are two leading business transaction categories for activities:
A business activity contains information about the interaction with the business partner on a particular date.
A task contains information about the activities that one or more employees have to complete by a particular date.
© SAP AG TCRM20 4-6
SAP AG 2008
Structure of Activities
Details
Other assignment blocks
DescriptionAccount/contact personDate and timeCategoryImportanceStatus
Notes
Questionnaires
Actions
Dates
Attachments
Organization
Attendees
Activities are used to record business activities and tasks such as activities that are carried out on behalf of the company.
A business activity must have a partner, a start date and a finish date.
You use tasks when you want to create an activity that is not associated with a particular account. Like interactions, tasks can be public or private and can cover a wide range of possibilities, for example, the preparation of a customer presentation, or a reminder to buy a birthday card. If you mark a task as private, it cannot be viewed by other users.
The category that is assigned to the activity (transaction type) determines where this activity can be created in the application. For example,
The category 202 (Incoming Call) is assigned to the transaction type 0003 (Outgoing Phone Call).
The class Interaction Log is assigned to the category 202 (Incoming Call).
The application displays the transaction "Outgoing Phone Call" if the employee chooses Create → Interaction Log.
© SAP AG TCRM20 4-7
SAP AG 2008
Customizing Activities
Other settingsCategory (class: appointment; e-mail; task; interaction log)Relevance to calendarPrivate appointments allowedDefault data: priority; goal; direction; subject profile
Interaction
Business transaction attributes and characteristics:Leading business transaction category: interactionProfiles and procedures: organizational data; dates
Transaction type, for example 0001 (Visit)
Assign business transaction categories
Customizing at header level
Activities are CRM business transactions and are controlled using transaction types. There are transaction settings that are activity-specific such as categories, goals, priorities and activity reasons.
SAP Implementation Guide → Customer Relationship Management → Transactions → Settings for Activities → Maintain Categories, Goals and Priorities
If required, product entries can be allowed in activities. Activity-specific item categories are needed for this.
Also, activity journals have to be set up (see the next slide).
© SAP AG TCRM20 4-8
SAP AG 2008
Creation of a follow-up activity
Customer visitOrder
CustomerProduct...
Activities can always be created as follow-up transactions.
Customizing copy control is possible, but not necessary.
Follow-Up Activities
Telephone call
Creation of a follow-up activity
ContractCustomer...
Copy control
You can copy an existing business transaction and use it as the basis for a subsequent transaction. You then have two options: Create a follow-up transaction.
Copy a business transaction. In this case, the system creates a copy of the transaction currently in use and displays it for processing. When the copied transaction is saved, the transaction history is not updated, that is, the copied transaction has no connection to the reference document.
Copy control Customizing is not required to create a follow-up transaction.
When you copy an activity, the system produces a copy of the activity you requested and displays it for processing. When the copied transaction is saved, the transaction history is not updated, that is, the copied process does not have a reference to the reference document.
© SAP AG TCRM20 4-9
SAP AG 2008
Transaction
Integration of Questionnaires
Customer surveys
Customer visit evaluationCustomer satisfaction surveys, and so on
The Survey Suite
SurveySurvey
Survey
Transaction type
Validity period
Category
Status
Sales organization
Distribution channel
Division
Territory hierarchy ID
Active indicator
Multiple assignment
The questionnaire in the activity is based on the Survey Tool. You can use the questionnaire for all question and answer formats that help maintain your customer relationships. The following examples show how the questionnaire can be used:
A telephone call script that leads you through the conversation with the customer
A customer feedback form
Sales call reports for your sales employees
Surveys can also be evaluated in the SAP CRM system.
You can find the Customizing settings in the IMG under Transactions → Settings for Activities → Questionnaires.
The transaction code for the CRM Survey Suite is CRM_SURVEY_SUITE.
Questionnaires are also used for transactions of the type lead, opportunity and in-house repair.
© SAP AG TCRM20 4-10
SAP AG 2008
Activity Journals
With activity journals, you can record and update?information gathered from customer visits or telephone calls.
Activity journals can contain:
Products or product categories
Product-related information such as what products were discussed with the customer, or the number of samples given to the customer
Activity Journal
Product Discussed Number of Samples PriorityXT-2006 8 HighXT-2007 2 Medium
NotesCustomer is considering ordering XT-2006 in second quarter of 2007.
The information in the activity journal may or may not be product-related. An activity journal can contain the following information: Type and number of products discussed with customers or samples handed out to customers, for
example, in the pharmaceuticals industry
Position of products in store, for example, whether they are placed on the promotional shelf, at the check-out or near the store entrance
Customer feedback
The information gathered in activity journals can be used to:
Track the distribution of samples in the pharmaceuticals industry
Analyze sales data, for example, number of products handed out to customers
Track the progress of your sales team, for example, the number of discussions held with customers and the result of these discussions
To enable product entries in activities, you must make entries in the Customizing activity for the item category determination.
You may define additional fields for activity journals.
Examples: transaction type 0020; item categories ACT, ACT0 and ACT1
© SAP AG TCRM20 4-11
SAP AG 2008
Integration of the Calendar – Integration of Client's Groupware
Prerequisites for a calendar entry in the SAP CRM system:The calendar indicator for each transaction type (main switch)
The calendar indicator for each partner function (partner determination procedure)
Synchronization with groupware (client)
Appointment or task in groupware with specific category
You can synchronize CRM activities with groupware calendars so that CRM business activities are displayed in other applications such as Microsoft Outlook. This is an additional function to synchronizing normal appointments from the SAP calendar.
Prerequisite: The SAP CRM replication tool must be installed on each PC locally.
Supported groupware solutions:
Microsoft Outlook 2003 and 2007
Lotus Notes 6.5 and 7.0
The CRM business activity must be assigned to a user. All SAP users must also have SAPoffice users and a user in the Outlook calendar.
© SAP AG TCRM20 4-12
SAP AG 2008
Groupware Integration on Servers
CRM business activities and tasks
Groupwareserver
There is a bidirectional data exchange between SAP CRM and groupware solutionsServer-based for:
Tasks
Business activities
Contact partners→ Groupware: business activity(CRM → Groupware)
You can integrate CRM activity management with groupware applications (Microsoft Outlook and Lotus Notes). This means that you can synchronize business activities and tasks in your CRM calendar and groupware calendar. Data is exchanged in both directions. This means that you can display activities and the corresponding data that you have maintained in the CRM system (such as date, time, location and business partners involved) in your own office management system, and vice versa. This allows you to work more quickly and effectively because you do not have to keep referring back to your CRM calendar or your groupware calendar to check your appointments and tasks.
Groupware integration with CRM Enterprise is server-based, meaning the data is exchanged automatically in the background, without having to be triggered by the user.
The SAP Groupware Adapter on the CRM server supports the transformation of messages. It is based on SyncPoint technology.
BDoc messages are transformed into standard groupware formats (such as iCalendar and vCard) by a generic groupware adapter that uses a sophisticated XSLT mapping framework (known as the MapBox ).
SAP Groupware Connectors, which are separate from the CRM server, manage the message synchronization between the CRM server and the groupware server. Message transfer is performed using a reliable and open messaging interface based on XML-SOAP. The standard groupware object formats are transformed into special groupware object formats.
© SAP AG TCRM20 4-13
SAP AG 2008
Activity Analyses
My ActivitiesMy Department's ActivitiesMy Colleague's Activities
Business Partner ID to
Not completedCompletedAll
Activity Date to
Business Activities TasksBoth
Organizational Data
... ...
Activity Monitor BI Content
Activity/passivity analysis
Success/failure analysis
Intensity of customer care
Activity history
My team's planned activities
Distribution of activities per organizational unit
Activity partner with open activities
...
SAP GUI
The activity monitor can be called by choosing SAP Menu Activities Activity Monitor . The activity monitor allows you to select activities using various criteria. You can adjust the list that is displayed using the SAP List Viewer (ALV) function.
For more information about this analysis and other analyses, see the documentation in SAP Library under SAP NetWeaver BI Content Customer Relationship Management CRM Analytics Cross-Scenario Analyses Activity Analysis.
© SAP AG TCRM20 4-14
SAP AG 2008
Activity Management: Unit Summary
You are now able to:
Define activities and activity management
Configure a transaction type for activities
Describe the survey integration
Describe groupware integration
© SAP AG TCRM20 4-15
Exercises
Unit: Activity Management Topic: Activities and the Related Customizing
At the conclusion of this exercise, you will be able to:
• Create a new transaction type for activities
• Create and edit an activity and follow-up activity.
You want to become more familiar with the activity maintenance in the CRM system for your trade fair business. You set up a new transaction type of the type trade fair activities and familiarize yourself with a number of functions in the activity maintenance.
1-1 For the customer visits that result from the trade fair activities, you set up a separate Trade Fair Activity in the system as a new transaction type with certain default values.
1-1-1 In Customizing, maintain the new goal Z## with the description ##Trial Order.
1-1-2 In Customizing, define the new category Y## with the description ##Appointment for the activities and assign it the Appointment class.
1-1-3 Copy the existing transaction type 0001 (Interaction Log), and enter ZB## as the transaction type and ##Trade Fair Visit as the name and long description.
a) Assign the organizational data profile ZTACADEMY and the action profile ACTIVITY to the new transaction type.
b) In the Customizing header area, assign your new goal ZB## to the new category Y## and set the priority to High.
c) A ##Trade Fair Visit should be relevant for the calendar. It should not be possible to create a private ##Trade Fair Visit. Set and check the corresponding indicators.
1-1-4 Now test the new transaction type by creating an activity of the type ##Trade Fair Visit for a week from today, 2.00-3.00 p.m. Use First ##Visit after trade fair as the description and ##Decot as the account.
a) Check whether the system’s default entries for priority and goal are correct.
b) Can you make the activity private?
c) Can you find the activity in the calendar of the sales representative or employee responsible? Both partners should contain employee names that are assigned your CRM logon user.
© SAP AG TCRM20 4-16
1-2 Create a follow-up activity with questionnaire support.
1-2-1 Create a follow-up activity to the Trade Fair Activity with transaction type Survey Activity.
Use Survey of ##Decot as the description and choose a suitable date in the future.
Fill out the survey you created earlier.
Save the activity.
___________________ [Data sheet]
© SAP AG TCRM20 4-17
Alternative Service Scenario: Exercises
1-1 For the customer visits that result from the trade fair activities, you set up a separate Trade Fair Activity in the system as a new transaction type with certain default values.
1-1-1 In Customizing, maintain the new goal Z## with the description ##Trial Order.
1-1-2 In Customizing, define the new category Y## with the description ##Appointment for the activities and assign it the Appointment class.
1-1-3 Copy the existing transaction type 0001 (Interaction Log), and enter ZB## as the transaction type and ##Trade Fair Visit as the name and long description.
a) Assign the organizational data profile ZTACADEMY and the action profile ACTIVITY to the new transaction type.
b) In the Customizing header area, assign your new goal ZB## to the new category Y## and set the priority to High.
c) A ##Trade Fair Visit should be relevant for the calendar. It should not be possible to create a private ##Trade Fair Visit. Set and check the corresponding indicators.
1-1-4 Now test the new transaction type by creating an activity of the type ##Trade Fair Visit for a week from today, 2.00-3.00 p.m. Use First ##Visit after trade fair as the description and ##Decot as the account.
a) Check whether the system’s default entries for priority and goal are correct.
b) Can you make the activity private?
c) Can you find the activity in the calendar of the sales representative or employee responsible? Both partners should contain employee names that are assigned your CRM logon user.
1-2 Create a follow-up activity with questionnaire support.
1-2-1 Create a follow-up activity to the Trade Fair Activity with transaction type Survey Activity.
Use Survey of ##Decot as the description and choose a suitable date in the future.
Fill out the survey you created earlier.
Save the activity.
___________________ [Data sheet]
© SAP AG TCRM20 4-18
© SAP AG TCRM20 4-19
Solutions
Unit: Activity Management Topic: Activities and the Related Customizing
1-1 For the customer visits that result from the trade fair activities, you set up a separate Trade Fair Activity in the system as a new transaction type with certain default values.
1-1-1 In Customizing, maintain the new goal Z## with the description ##Trial Order.
Architecture and Technology → Configuration → Customizing
Choose SAP Reference IMG.
SAP Implementation Guide → Customer Relationship Management → Transactions → Settings for Activities → Maintain Categories, Goals and Priorities → Maintain Goals
Choose New Entries.
Goal: Z##
Description: ##Trial Order
Save your entries and choose back twice to return to the IMG menu.
1-1-2 In Customizing, define the new category Y## with the description ##Appointment for the activities and assign it the Appointment class.
SAP Implementation Guide → Customer Relationship Management → Transactions → Settings for Activities → Maintain Categories, Goals and Priorities → Maintain Categories
Choose New Entries.
Category: Y##
Description: ##Appointment
Class: Appointment
Save your entries.
© SAP AG TCRM20 4-20
1-1-3 Copy the existing transaction type 0001 (Interaction Log), and enter ZB## as the transaction type and ##Trade Fair Visit as the name and long description.
SAP Implementation Guide → Customer Relationship Management → Transactions → Basic Settings → Define Transaction Types
Select ( ) transaction type 0001 (Interaction Log) and choose Copy as… ( ).
Transaction Type: ZB##
Short Description: ##Trade Fair Visit
Long Description: ##Trade Fair Visit
Choose ENTER to execute copying and confirm the dialog box.
a) Assign the organizational data profile ZTACADEMY_## and the action profile ACTIVITY to the new transaction type.
Select the new transaction type and choose Details( ).
Organizational Data Profile: ZTACADEMY##
Action Profile: ACTIVITY.
b) In the Customizing header area, assign your new goal ZB## to the new category Y## and set the priority to High.
In the dialog structure, double-click Assignment of Business Transaction Categories.
Select the Business Activity transaction category and double-click Customizing header in the dialog structure.
Goal: ##Trial Order.
c) A ##Trade Fair Visit should be relevant for the calendar. It should not be possible to create a private ##Trade Fair Visit. Set and check the corresponding indicators.
The default settings of the indicators already meet your requirements.
© SAP AG TCRM20 4-21
1-1-4 Now test the new transaction type by creating an activity of the type ##Trade Fair Visit for a week from today, 2.00-3.00 p.m. Use First ##Visit after trade fair as the description and ##Decot as the account.
Choose Activities.
Choose Create → Appointment.
Description: First ##Visit after trade fair
Account: ##Decot
Start Date/Time: <one week from today: 14:00>
End Date/Time: <one week from today: 15:00>
a) Check whether the system’s default entries for priority and goal are correct.
The fields are displayed and prefilled in the Appointment: Details assignment block.
In standard SAP systems, the Goal field is not displayed in the user interface.
b) Can you make the activity private?
No. The indicator is grayed-out because of the default setting and is not ready for input.
c) Can you find the activity in the calendar of the employee responsible?
Choose Calendar.
Choose Week.
Choose Next Week.
The appointment is displayed.
© SAP AG TCRM20 4-22
1-2 Create a follow-up activity with survey support.
1-2-1 Create a follow-up activity to the Trade Fair Activity with transaction type Survey Activity.
Use Survey of ##Decot as the description and choose a suitable date in the future.
Find the activity that you created using the calendar entry (for example).
Choose More → Follow-up.
Choose Survey Activity.
Description Survey of ##Decot
Start date: Two weeks from today
Time From/To: 10:00 10:10
Fill out the survey.
Open the Questionnaires assignment block.
Choose Action Edit ( ) to fill out the survey.
Fill out the survey with answers of your choice.
Choose Back.
Choose Save.
___________________ [Data sheet]
© SAP AG TCRM20 4-23
Alternative Service Scenario: Solutions
1-1 For the customer visits that result from the trade fair activities, you set up a separate Trade Fair Activity in the system as a new transaction type with certain default values.
1-1-1 In Customizing, maintain the new goal Z## with the description ##Trial Order.
Architecture and Technology → Configuration → Customizing
Choose SAP Reference IMG.
SAP Implementation Guide → Customer Relationship Management → Transactions → Settings for Activities → Maintain Categories, Goals and Priorities → Maintain Goals
Choose New Entries.
Goal: Z##
Description: ##Trial Order
Save your entries and choose back twice to return to the IMG menu.
1-1-2 In Customizing, define the new category Y## with the description ##Appointment for the activities and assign it the Appointment class.
SAP Implementation Guide → Customer Relationship Management → Transactions → Settings for Activities → Maintain Categories, Goals and Priorities → Maintain Categories
Choose New Entries.
Category: Y##
Description: ##Appointment
Class: Appointment
Save your entries.
© SAP AG TCRM20 4-24
1-1-3 Copy the existing transaction type 0001 (Interaction Log), and enter ZB## as the transaction type and ##Trade Fair Visit as the name and long description.
SAP Implementation Guide → Customer Relationship Management → Transactions → Basic Settings → Define Transaction Types
Select ( ) transaction type 0001 (Interaction Log) and choose Copy as… ( ).
Transaction Type: ZB##
Short Description: ##Trade Fair Visit
Long Description: ##Trade Fair Visit
Choose ENTER to execute copying and confirm the dialog box.
a) Assign the organizational data profile ZTACADEMY_## and the action profile ACTIVITY to the new transaction type.
Select the new transaction type and choose Details( ).
Organizational Data Profile: ZTACADEMY##
Action Profile: ACTIVITY.
b) In the Customizing header area, assign your new goal ZB## to the new category Y## and set the priority to High.
In the dialog structure, double-click Assignment of Business Transaction Categories.
Select the Business Activity transaction category and double-click Customizing header in the dialog structure.
Goal: ##Trial Order.
c) A ##Trade Fair Visit should be relevant for the calendar. It should not be possible to create a private ##Trade Fair Visit. Set and check the corresponding indicators.
The default settings of the indicators already meet your requirements.
© SAP AG TCRM20 4-25
1-1-4 Now test the new transaction type by creating an activity of the type ##Trade Fair Visit for a week from today, 2.00-3.00 p.m. Use First ##Visit after trade fair as the description and ##Decot as the account.
Choose Basic Functions. This is optional because you can also use the quick creation entries in the navigation bar.
Choose Create → Appointment.
Description: First ##Visit after trade fair
Account: ##Decot
Start Date/Time: <one week from today: 14:00>
End Date/Time: <one week from today: 15:00>
a) Check whether the system’s default entries for priority and goal are correct.
The fields are displayed and prefilled in the Appointment: Details assignment block.
In standard SAP systems, the Goal field is not displayed in the user interface.
b) Can you make the activity private?
No. The indicator is grayed-out because of the default setting and is not ready for input.
c) Can you find the activity in the calendar of the employee responsible?
Choose Calendar.
Choose Week.
Choose Next Week.
The appointment is displayed.
© SAP AG TCRM20 4-26
1-2 Create a follow-up activity with questionnaire support.
1-2-1 Create a follow-up activity to the Trade Fair Activity with transaction type Survey Activity.
Use Survey of ##Decot as the description and choose a suitable date in the future.
Find the activity that you created using the calendar entry (for example).
Choose More → Follow-up.
Choose Survey Activity.
Description Survey of ##Decot
Start date: Two weeks from today
Time From/To: 10:00 10:10
Fill out the survey you created earlier.
Open the Questionnaires assignment block.
Choose Action Edit ( ) to fill out the survey.
Fill out the survey with answers of your choice.
Choose Back.
Choose Save.
___________________ [Data sheet]
© SAP AG TCRM20 5-1
SAP AG 2008
Partner Processing: Overview Diagram
9. Pricing Fundamentals
10. CRM Billing
11. CRM Middleware
12. CRM WebClient UI
Appendix
Unit1. SAP CRM 2007 – Overview
2. Account Management
3. Organizational Management
4. Product Master
5. Transaction Processing
6. Activity Management
7. Partner Processing
8. Actions
© SAP AG TCRM20 5-2
SAP AG 2008
Partner Processing
Partner Processing - Application
Partner Processing - Customizing
© SAP AG TCRM20 5-3
SAP AG 2008
Partner Processing: Unit Objectives
At the end of this unit, you will be able to:Explain the options and functions associated with partner processing in business transactions
Create a partner determination procedure in Customizing
Describe access sequences, create them in Customizing and use them in the partner determination procedure
© SAP AG TCRM20 5-4
SAP AG 2008
In transaction processing, you want to ensure that the business partners involved in a transaction are automatically determined by the system.
Partner Processing: Business Scenario
© SAP AG TCRM20 5-5
SAP AG 2008
Partner Processing: Motivation
Which external partners are involved -for example, supplier,
payer?
Which internal partners are involved -
for example, responsible employees, service technician groups?
Which partners must be involved in a
business transaction?
Are individual partners found automatically?
Where does the system look for
involved partners?
Transaction
Partner determination controls business partner processing in transaction processing. Partner data can be checked for correctness using rules defined in Customizing. In this way, the user creates complete, consistent transactions.
All transactions in CRM involve business partners. Partner processing allows you to work with these partners efficiently and consistently.
Partner processing includes partner determination, the procedure with which the system automatically finds and enters partners in transactions.
Partner processing allows you to define partners with your company’s terminology. It also lets you specify exactly how partners are handled in transactions and how SAP CRM and SAP ECC exchange partner processing information.
© SAP AG TCRM20 5-6
SAP AG 2008
Create transaction1.
Enter main partner/objectActivity partnerSold-to partyProspectInstallation component/object
2.
3. The partners involved are determined by the system. Contact personShip-to partyService technician group
Automatic Partner Processing
ENTER
Account
During transaction processing, the main business partner or technical object (installation component or object) is specified. During sales, this is usually the sold-to party; during an opportunity, this is the sales prospect.
Partner processing ensures that other partners involved in the transaction are determined automatically by the system.
In the case of a sales transaction, for example, these other partners are the ship-to party, the bill-to party and the payer.
In the case of an opportunity, for example, these other partners are the contact person(s) of the sales prospect and the (own) responsible employees.
© SAP AG TCRM20 5-7
SAP AG 2008
Partner Processing in the Application
1. Mandatory partner
2. Automatic partner search
3. Manually changeable/alternative
4. Partner determination at item level also
In a transaction, partners can be determined at both header and item level. 1. Which partners must be involved in the transaction?
It is possible to define that certain partners are mandatory for a business transaction. If the determination fails or no partner was entered manually by the user, the business transaction will result in an error.
2. Are partners determined automatically?
Using access sequences (search strategies) it is possible to automatically determine partners.
3. Manually changeable
Users can change partners that were determined automatically if this setting is made for the appropriate partner function in Customizing.
Under exceptional circumstances, you can choose Alternative proposals to restart the partner search (for example, after the change of other involved partners).
4. Partners are also determined at item level.
It is possible that different partners are determined at item and header levels. For example, an employee responsible might be found due to the product category. This means that you must enter a partner determination procedure in the corresponding item categories.
© SAP AG TCRM20 5-8
SAP AG 2008
Partner Function Category
Partner Function Category
Partner FunctionPartner
FunctionPartner
DeterminationProcedure
PartnerDeterminationProcedure
AccessSequenceAccess
Sequence
Partner ProcessingPartner Processing
Transactions
Business Partners
Transactions
Business Partners
Partner Processing in Customizing
Partner function category: This classification of responsibilities is used as a system key for identifying the partner function and the business partners who take on these responsibilities. The SAP CRM system includes SAP predefined partner function categories that cannot be changed or created again. For example, the customer partner function has the partner function category sold-to party.
Partner function: The partner functions describe the people with whom you do business. Customers can also be referred to as sold-to parties, clients, patients or tenants. Partner functions describe those partners that you use in your organization. You can assign names freely.
Partner determination procedure: Rules that determine how the system works with business partners during transaction processing. This procedure combines partner functions and access sequences and contains additional information.
Access sequence: A search strategy for determining the data sources the system uses for partner determination and the order in which the sources are used.
© SAP AG TCRM20 5-9
SAP AG 2008
Partner Function Categories and Partner Functions
Partner function categoryEmployee
Partner functionArea manager
Partner functionSalesperson
Partner functionService employee
Relationship category
Lock
Relationship category
Lock
Relationship category
Lock
Partner functions are freely definable. Partner function categories are predefined.
Partner function categories are predefined "classifications" and are assigned partner functions. The system uses these categories to identify and work with partner functions.
Partner functions are defined in Customizing.
SAP Implementation Guide Customer Relationship Management Basic Functions Partner Processing Define Partner Functions.
When you define a partner function, you can assign a (corresponding) relationship category. This relationship category corresponds to the business partner relationship category.
For example, the relationship category is responsible for is assigned to the partner function Employee responsible.
If an access sequence is defined for determining the employee responsible from the business partner relationships, then the corresponding person must be assigned with the relationship category (is responsible to/is responsible for).
Lock: specifies whether the source partner for a partner determination is added to the results list of that determination.
For example, if the lock field is set for the contact person partner function, the sold-to party is not determined as its own contact person in a sales transaction. If, on the other hand, the lock field is not set, the sold-to party can also appear as the contact person function in the transaction.
© SAP AG TCRM20 5-10
SAP AG 2008
The partner determination procedure basically specifies which partner functions can be found automatically in a transaction.
Partner determination procedure Telesales
Partner functions
Sold-to party
Ship-to party
Bill-to party
Payer
Employee responsible
Settings for each partner function
Min./Max. number
Can partner be changed in transaction?
Which search strategy should be used?
Which address?
Can the address be changed?
Calendar maintenance/relevance
Partner Determination Procedure
Procedure user
Interface settings
Partner determination procedures are defined in Customizing. SAP Implementation Guide Customer Relationship Management Basic Functions Partner
Processing Define Partner Determination Procedure
A partner determination procedure can be assigned to a transaction type and an item category. A partner determination procedure consists of three levels:
Procedure user (for example, sales transaction, service transaction, opportunity)
Partner functions in the procedure (for example, sold-to party, employee responsible)
To prevent every partner function that is defined in the system and corresponding partners from being included in transactions, make the setting Permitted Functions = Only Functions Assigned in Procedure.
The determination time can be set for each partner function. However, partner determination occurs only before the initial save. If a transaction is saved and then subsequently altered, no new partner processing (determination) takes place.
A simpler form of the partner determination procedure is used during installation management and Case Management.
© SAP AG TCRM20 5-11
SAP AG 2008
An access sequence is a search strategy that provides the data sources and the order in which the system checks them during partner processing.
Sold-to party Access sequence 0001
Ship-to party Access sequence 0002
Contact person Access sequence 0003
Employee resp. Access sequence 0004
Access 10: Preceding document
Access 20: Territory Management
Access 30: Organizational model
Access 40: Relationships
Access Sequences
Partner det. proc. Telesales
Partner Functions
Access sequence 0004
Logon user (employee)
Installation component
Pricing hierarchy
Business Add-Ins
Other possible sources
Access sequences are defined in Customizing. SAP Implementation Guide Customer Relationship Management Basic Functions Partner
Processing Define Access Sequences
In the partner determination procedure, you can select which access sequence should be used to determine the partner for each partner function. If there is no access sequence in the partner determination procedure for a partner function, you can enter the partner manually.
Customer-specific sources can be defined in the form of BAdI methods.
BAdI definition COM_PARTNER_BADI
© SAP AG TCRM20 5-12
SAP AG 2008
PrecedingDocumentPrecedingDocument
OrganizationalData
OrganizationalData
Business PartnerRelationships
Business PartnerRelationships Current PartnersCurrent Partners
Partner FunctionsPartner Functions
Partner Determination ProcedurePartner Determination Procedure
Transaction TypeTransaction TypeCustomizingSettings
Process inSAP CRM
Partner Processing: Overview
Access SequencesAccess Sequences
In Customizing, the business transaction (for example, quotation, order, service contract) is assigned to the transaction type Business transaction types.
Procedure users are assigned to the partner determination procedure.
The business transaction type and procedure user must match in order to assign a partner determination procedure to a transaction type.
© SAP AG TCRM20 5-13
SAP AG 2008
Partner Processing: Unit Summary
You are now able to:Explain the options and functions associated with partner processing in business transactions
Create a partner determination procedure in Customizing
Describe access sequences, create them in Customizing and use them in the partner determination procedure
© SAP AG TCRM20 5-14
© SAP AG TCRM20 5-15
Exercises
Unit: Partner Processing Topic: Analyze and Set Up Partner Processing
At the conclusion of this exercise, you will be able to:
• Describe and explain the fundamental concepts of CRM partner processing
• Create both a partner determination procedure and a sequence access in Customizing
Within your trade fair business framework, you want to set up partner processing for the transaction type ##Quotation according to your own requirements. You want to utilize business partner relationships and enter the contact persons in the document as partners.
1-1 Analyze partner processing for the sales transaction ##Quotation in Customizing. At the same time, create a quotation with transaction type ##Quotation in the CRM WebClient UI. Use the business partner ##Decot as the sold-to party.
1-1-1 Which partner functions were automatically found by the system for this particular sales transaction?
_______________________________________
_______________________________________
_______________________________________
_______________________________________
_______________________________________
Does the system also determine a contact person?
1-1-2 What access sequence is used to search for the employee responsible?
_______________________
1-1-3 Can you maintain other partners in the transaction manually? If so, do this.
© SAP AG TCRM20 5-16
1-2 Set up partner processing. You want to use a partner determination procedure for the transaction of the type ##Quotation that will determine at least one of the customer’s contact persons.
1-2-1 Copy the partner determination procedure Telesales (00000001) with all its dependent entries to ZPS##. Name the new partner determination procedure PartnerDetProc ##.
1-2-2 Create a new access sequence ZZ##, ##Sold-To Party – Relationships with individual accesses and which searches for a partner within the relationships maintained in the business partner master record. Enter 10 for the batch and dialog sequences, Business partner relationships as the source, and Sold-to Party (CRM) as the partner function.
1-2-3 Add the partner function Contact Person (CRM ), which the system finds automatically, to the partner determination procedure ZPS##.
The partner function Contact Person (CRM) should occur at least once and no more than three times.
For determination, use the access sequence ##Sold-to Party - Relationships, which you created in the previous exercise.
You do not have to maintain the remaining fields.
1-2-4 Make sure that the address usage Goods receipt for partner function Ship-to party is used. For all other partner functions the standard address should be determined within transactions.
1-2-5 Assign the partner determination procedure ZPS## to transaction type ZA## (##Quotation).
1-2-6 Test the new partner determination procedure by creating the sales transaction ##Quotation. Does the system now determine the contact person who was stored as a relationship to the business partner (see Business Partners exercises)?
____________________________
© SAP AG TCRM20 5-17
1-3 Comprehension questions on partner processing
1-3-1 What concept or construct makes partner processing particularly flexible? Explain why.
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
1-3-2 Can you define your own partner functions in Customizing?
___________________________
1-3-3 Can you define your own partner function categories?
___________________________
1-3-4 What (business partner) relationship category is evaluated if you try to determine the partner function Employee responsible using an access sequence that searches in the business partner’s relationships?
Optional: Test this by assigning the access sequence ZZ## to the partner function Employee responsible. Afterwards, maintain the corresponding relationship for the business partner ##Decot and use an existing employee, for example, Lou Windham (employee ID 400440).
© SAP AG TCRM20 5-18
© SAP AG TCRM20 5-19
Alternative Service Scenario: Exercises
1-1 Analyze partner processing for the service transaction ##Service Order in Customizing. At the same time, create a quotation with transaction type ##Service Order in the CRM WebClient UI. Use the business partner ##Decot as the sold-to party.
1-1-1 Which partner functions were automatically found by the system for this particular service transaction?
_______________________________________
_______________________________________
_______________________________________
_______________________________________
_______________________________________
_______________________________________
_______________________________________
Does the system also determine a contact person?
Is it Michele ##Contact?
1-1-2 What access sequence is used to search for the employee responsible?
_______________________
1-1-3 Can you manually maintain additional partners in the partner view? If so, do this.
© SAP AG TCRM20 5-20
1-2 Set up partner processing. You want to use a partner determination procedure for the transaction of the type ##Service Order that will determine the contact person Michele ##Contact.
1-2-1 Copy the partner determination procedure Service Order Header (ZTSRVH01) with all its dependent entries to ZPS##. Name the new partner determination procedure PartnerDetProc ##.
1-2-2 Create a new access sequence ZZ##, ##Sold-To Party – Relationships with individual accesses and which searches for a partner within the relationships maintained in the business partner master record. Enter 10 for the batch and dialog sequences, Business partner relationships as the source, and Sold-to Party (CRM) as the partner function.
1-2-3 Change the ZPS## partner determination procedure and assign the access sequence you just created to the Contact person (CRM) partner function.
In addition to this, the partner function Contact Person (CRM) should occur at least once and no more than three times.
1-2-4 Assign the partner determination procedure ZPS## to transaction type ZS## (##Service Order).
1-2-5 Test the new partner determination procedure by creating the service transaction ##Service Process. Does the system determine the contact person who was stored as a relationship to the business partner (see the business partners exercises)?
____________________________
© SAP AG TCRM20 5-21
1-3 Comprehension questions on partner processing
1-3-1 What concept or construct makes partner processing particularly flexible? Explain why.
_____________________________________________________
_____________________________________________________
_____________________________________________________
_____________________________________________________
1-3-2 Can you define your own partner functions in Customizing?
___________________________
1-3-3 Can you define your own partner function categories?
___________________________
1-3-4 What (business partner) relationship category is evaluated if you try to determine the partner function Employee responsible using an access sequence that searches in the business partner’s relationships?
Optional: Test this by assigning the access sequence ZZ## to the partner function Employee responsible. Afterwards, maintain the corresponding relationship for the business partner ##Decot and use an existing employee, for example, Lou Windham (employee ID 400440).
© SAP AG TCRM20 5-22
© SAP AG TCRM20 5-23
Solutions
Unit: Partner Processing Topic: Analyze and Set Up Partner Processing
1-1 Analyze partner processing for the sales transaction ##Quotation in Customizing.
At the same time, create a quotation with transaction type ##Quotation in the CRM WebClient UI. Use the business partner ##Decot as the sold-to party.
1-1-1 Which partner functions were automatically found by the system for this particular sales transaction?
SAP Menu → Architecture and Technology → Configuration → Customizing Choose SAP Reference IMG.
SAP Implementation Guide → Customer Relationship Management → Transactions → Basic Settings → Define Transaction Types
The partner determination procedure 00000001 is assigned to transaction type AG (Quotation ERP).
SAP Implementation Guide → Customer Relationship Management → Basic Functions → Partner Processing → Define Partner Determination Procedure The partner determination procedure 00000001 contains the following seven partner functions:
Sold-to party, ship-to party, bill-to party, payer, sales manager, sales employee, and employee responsible.
Does the system also determine a contact person?
The partner function Contact Person (CRM) is not determined automatically because it is not listed in the partner determination procedure.
© SAP AG TCRM20 5-24
1-1-2 What access sequence is used to search for the employee responsible?
IMG → Customer Relationship Management → Basic Functions → Partner Processing → Define Partner Determination Procedure
Double-click Partner Functions in Procedure in the dialog structure on the left-hand side.
Select the Employee responsible partner function.
Choose Details ( ).
IDES. form /user (technical key Z006)
1-1-3 Can you maintain other partners in the transaction manually? If so, do this.
Go to the CRM WebClient UI and choose Edit List in the Parties Involved assignment block.
Choose Insert.
Choose the Sales manager function and enter the name Mark Freeman (number 406122).
Choose Back.
© SAP AG TCRM20 5-25
1-2 Set up partner processing. You want to use a partner determination procedure for the transaction of the type ##Quotation that will determine at least one of the customer’s contact persons.
1-2-1 Copy the partner determination procedure Telesales (00000001) with all its dependent entries to ZPS##. Name the new partner determination procedure PartnerDetProc ##.
IMG → Customer Relationship Management → Basic Functions → Partner Processing → Define Partner Determination Procedure
Select the entry 00000001 (Telesales) and choose Copy As. Confirm the dialog box and copy all dependent entries. Name the new partner determination procedure PartnerDetProc ##.
Save your data and go back to the IMG.
1-2-2 Create a new access sequence ZZ##, ##Sold-To Party – Relationships with individual accesses and which searches for a partner within the relationships maintained in the business partner master record. Enter 10 for the batch and dialog sequences, Business partner relationships as the source, and Sold-to Party (CRM) as the partner function.
IMG → Customer Relationship Management → Basic Functions → Partner Processing → Define Access Sequences
Choose New Entries and enter ZZ## as the ID and ##Sold-To Party – Relationships as the description.
Select the new access sequence and choose Individual Accesses.
Choose New Entries.
Enter the following data:
Batch Sequence: 10
Dialog Sequence: 10
Source: Business Partner Relationships
Partner function: Sold-to Party (CRM)
Save the data and go back to the Implementation Guide.
© SAP AG TCRM20 5-26
1-2-3 Add the partner function Contact Person (CRM ), which the system finds automatically, to the partner determination procedure ZPS##.
The partner function Contact Person (CRM) should occur at least once and no more than three times.
For determination, use the access sequence ##Sold-to Party - Relationships, which you created in the previous exercise.
SAP Implementation Guide → Customer Relationship Management → Basic Functions → Partner Processing → Define Partner Determination Procedure Select the partner determination procedure ZPS## then double-click Partner Functions in Procedure. Choose New Entries.
Partner function: Contact person (CRM)
Number of Occurrences (Lowest): 1
Number of Occurrences (Highest): 1
Access Sequence ##Sold-To Party – Relationships
1-2-4 In the details of partner function “Ship-To Party”, choose Receive goods in the Address for Trans dropdown box.
In the details of all other partner functions, set the Standard address only indicator.
1-2-5 Assign the partner determination procedure ZPS## to transaction type ZA## (##Quotation).
SAP Implementation Guide → Customer Relationship Management → Transactions → Basic Settings → Define Transaction Types
Search for transaction type ZA## and change the details. Enter ZPS## in the Partner Determ.Proc. field.
1-2-6 Test the new partner determination procedure by creating the sales transaction ##Quotation. Does the system now determine the contact person who was stored as a relationship to the business partner (see Business Partners exercises)?
Choose Home.
Choose Sales Cycle.
Choose Create → Quotation.
Select ##Quotation.
Sold-To Party: ##Decot
Choose ENTER.
No dialog box should be displayed regarding unclear address determination.
Display the Parties Involved assignment block.
The system finds the contact person Michele ##Contact.
© SAP AG TCRM20 5-27
1-3 Comprehension questions on partner processing
1-3-1 What concept or construct makes partner processing particularly flexible? Explain why.
Access sequences enable the formulation of search strategies to search for individual partners. For example, the Employee Responsible can be determined through organizational data determination or, if no partners are found, it can be entered manually by the system user.
1-3-2 Can you define your own partner functions in Customizing?
Yes, it is possible to define your own partner functions to fit your personal requirements.
1-3-3 Can you define your own partner function categories?
Partner function categories cannot be enhanced in Customizing.
© SAP AG TCRM20 5-28
1-3-4 What (business partner) relationship category is evaluated if you try to determine the partner function Employee responsible using an access sequence that searches in the business partner’s relationships?
SAP Menu → Architecture and Technology → Configuration → Customizing Choose SAP Reference IMG.
SAP Implementation Guide → Customer Relationship Management → Basic Functions → Partner Processing → Define Partner Determination Procedure The partner function 00000014 (Employee responsible) is assigned to the relationship category Is Responsible BP For.
Optional: Test this by assigning the access sequence ZZ## to the partner function Employee responsible. Afterwards, maintain the corresponding relationship for the business partner ##Decot and use an existing employee, for example, Lou Windham (business partner number 400440).
SAP Implementation Guide → Customer Relationship Management → Basic Functions → Partner Processing → Define Partner Determination Procedure Select partner determination procedure ZPS## then double-click Partner Functions in Procedure.
Select partner function Employee responsible and display its details.
In the access sequence field, enter the access sequence you just created.
Maintain an Is Responsible BP For relationship as explained in the relevant business partner exercise.
Create a new ##Quotation and test whether your settings were implemented correctly.
© SAP AG TCRM20 5-29
Alternative Service Scenario: Solutions
1-1 Analyze partner processing for the service transaction ##Service Order in Customizing. In a separate session, create a service order with transaction type ##Service Order. Use the business partner ##Decot as the sold-to party.
1-1-1 Which partner functions were automatically found by the system for this particular service transaction?
SAP Menu → Architecture and Technology → Configuration → Customizing
Choose SAP Reference IMG.
SAP Implementation Guide → Customer Relationship Management → Transactions → Basic Settings → Define Transaction Types
The ZSERV006 partner determination procedure is assigned to transaction type ZSE1 (Service Process).
SAP Implementation Guide → Customer Relationship Management → Basic Functions → Partner Processing → Define Partner Determination Procedure The partner determination procedure ZSERV006 contains the following nine partner functions:
Sold-to party, bill-to party, payer, activity partner, employee responsible, contact person, vendor, service technician group and ship-to party/service recipient.
Does the system also determine a contact person?
Is it Michele ##Contact?
Although the system determines the Contact person (CRM) partner function, it does not find Michele ##Contact.
1-1-2 What access sequence is used to search for the employee responsible?
IMG → Customer Relationship Management → Basic Functions → Partner Processing → Define Partner Determination Procedure
Display the details for the Employee responsible partner function.
Employee from user (ZCHM) 1-1-3 Can you manually maintain additional partners in the partner view? If so, do
this.
Go to the CRM WebClient UI and choose the Parties Involved assignment block.
Choose Insert.
If possible, enter another partner function (partner), for example, the employee responsbile Mark Freeman (number 496122).
© SAP AG TCRM20 5-30
1-2 Set up partner processing. You want to use a partner determination procedure for the transaction of the type ##Service Order that will determine the contact person Michele ##Contact.
1-2-1 Copy the partner determination procedure Service Order Header (ZTSRVH01) with all its dependent entries to ZPS##. Name the new partner determination procedure PartnerDetProc ##.
IMG → Customer Relationship Management → Basic Functions → Partner Processing → Define Partner Determination Procedure
Select the entry ZTSRVH01 and choose Copy As. Confirm the dialog box and copy all dependent entries. Name the new partner determination procedure PartnerDetProc ##.
Save your data and go back to the IMG.
1-2-2 Create a new access sequence ZZ##, ##Sold-To Party – Relationships with individual accesses and which searches for a partner within the relationships maintained in the business partner master record. Enter 10 for the batch and dialog sequences, Business partner relationships as the source, and Sold-to Party (CRM) as the partner function.
IMG → Customer Relationship Management → Basic Functions → Partner Processing → Define Access Sequences
Choose New Entries and enter ZZ## as the ID and ##Sold-To Party – Relationships as the description.
Select the new access sequence and choose Individual Accesses.
Choose New Entries.
Enter the following data:
Batch Sequence: 10
Dialog Sequence: 10
Source: Business Partner Relationships
Partner function: Sold-to Party (CRM)
Save the data and go back to the IMG.
© SAP AG TCRM20 5-31
1-2-3 Change the ZPS## partner determination procedure and assign the access sequence you just created to the Contact person (CRM) partner function.
In addition to this, the partner function Contact Person (CRM) should occur at least once and no more than three times.
SAP Implementation Guide → Customer Relationship Management → Basic Functions → Partner Processing → Define Partner Determination Procedure Select the partner determination procedure ZPS## then double-click Partner Functions in Procedure. Choose the partner function Contact person (CRM).
Number of Occurrences (Lowest): 1
Number of Occurrences (Highest): 3
Access Sequence ##Sold-To Party – Relationships 1-2-4 Assign the partner determination procedure ZPS## to transaction type ZS##
(##Service Order).
SAP Implementation Guide → Customer Relationship Management → Transactions → Basic Settings → Define Transaction Types
Search for transaction type ZS## and change the Details. Enter ZPS## in the Partner Determ.Proc. field.
1-2-5 Test the new partner determination procedure by creating the service transaction ##Service Order.. Does the system now determine the contact person who was stored as a relationship to the business partner (see Business Partners exercises)?
Choose Home.
Choose Service Orders.
Choose Create → Service Order.
Choose ##Service Order.
Sold-To Party: ##Decot
Choose ENTER.
Display the Parties Involved assignment block.
The system finds the contact person Michele ##Contact.
© SAP AG TCRM20 5-32
1-3 Comprehension questions on partner processing
1-3-1 What concept or construct makes partner processing particularly flexible? Explain why.
Access sequences enable the formulation of search strategies to search for individual partners. For example, the Employee Responsible can be determined through organizational data determination or, if no partners are found, it can be entered manually by the system user.
1-3-2 Can you define your own partner functions in Customizing?
Yes, it is possible to define your own partner functions to fit your personal requirements.
1-3-3 Can you define your own partner function categories?
Partner function categories cannot be enhanced in Customizing.
1-3-4 What (business partner) relationship category is evaluated if you try to determine the partner function Employee responsible using an access sequence that searches in the business partner’s relationships?
SAP Menu → Architecture and Technology → Configuration → Customizing
Choose SAP Reference IMG.
SAP Implementation Guide → Customer Relationship Management → Basic Functions → Partner Processing → Define Partner Determination Procedure
The partner function 00000014 (Employee responsible) is assigned to the relationship category Is Responsible BP For.
Optional: Test this by assigning the access sequence ZZ## to the partner function Employee responsible. Afterwards, maintain the corresponding relationship for the business partner ##Decot and use an existing employee, for example, Lou Windham (business partner number 400440).
SAP Implementation Guide → Customer Relationship Management → Basic Functions → Partner Processing → Define Partner Determination Procedure
Select partner determination procedure ZPS## then double-click Partner Functions in Procedure.
Select partner function Employee responsible and display its details.
In the access sequence field, enter the access sequence you just created.
Maintain an Is Responsible BP For relationship as explained in the relevant business partner exercise.
Create a new ##Service Order and test if your settings were implemented correctly.
© SAP AG TCRM20 6-1
SAP AG 2008
Actions: Overview Diagram
9. Pricing Fundamentals
10. CRM Billing
11. CRM Middleware
12. CRM WebClient UI
Appendix
Unit1. SAP CRM 2007 – Overview
2. Account Management
3. Organizational Management
4. Product Master
5. Transaction Processing
6. Activity Management
7. Partner Processing
8. Actions
© SAP AG TCRM20 6-2
SAP AG 2008
Actions
Overview of Actions
Customizing of Actions
© SAP AG TCRM20 6-3
SAP AG 2008
Actions: Unit Objectives
At the end of this unit, you will be able to:
Explain the options for processing actions
Configure actions
Use the action monitor to launch actions
© SAP AG TCRM20 6-4
SAP AG 2008
You want to set up your business transactions so that, under certain circumstances, follow-up processes or transactions are triggered automatically. In addition to issuing forms, this also includes generating follow-up activities, for example.
Actions: Business Scenario
© SAP AG TCRM20 6-5
SAP AG 2008
Condition:Action:
Set quotation to completed
Validity period expired
Create follow-up activity,such as a phone call
Two weeks before contract end
Print the order confirmationOrder
Order free of errors
Examples for Actions
Quotation
Contract
Repair Generate a diagnosis item
Repair item not completed
Actions refer to the Post Processing Framework (PPF) Basis Components, which can automatically trigger output, follow-up activities or workflows.
SAP provides approximately 180 action profiles that can be used in "Application" transaction processing (CRM_ORDER). Other application such as billing (BILLING) and Case Management (CRM_CASE) also use action processing.
© SAP AG TCRM20 6-6
SAP AG 2008
Action Processing: Workflow
Start Condition
Action Profile
Action(s)
Schedulecondition
Scheduleautomatically
Processing TimeImmediatelyWhen SavingSelection Report
Action List
Schedule newactions
Scheduled actions
Schedule manually
Yes
No
Fulfilled
Fulfilled
Action profiles may be found using additional settingsActions can be freely defined according to the demands of your company’s processesConditions can be time-dependent using dates and date rules (date profile)
Transaction Type Item Category
Processing TypesSmart FormWorkflowMethods
An action profile is determined from the corresponding transaction type or item category. You assign an action profile directly to a transaction type/item category.
You define an action profile determination (condition technique; the same as pricing).
An actions is always stored in relation to an action profile as an action definition.
You can control action processing using various settings and parameters:
Action changeable or executable in dialog
Processing time
Partner dependence
Action merging
Processing types
You should not usually model dependencies between actions.
© SAP AG TCRM20 6-7
SAP AG 2008
Conditions
Start ConditionSchedule Condition
The schedule condition decides whether an action should be scheduled for processing. An action is therefore generated (visible) only if the schedule condition is met.
The start condition is checked before the action is executed. The action is executed only if the start condition is met.
Net value greater than $ 1,000,000
Contract Contract Contract cancellation
Schedule condition: If the schedule condition (of an action) is not met, the action is no longer available in the transaction.
Start condition:
Actions that are available in the transaction can only be executed if the start condition is met.
Condition definition
There are two modes for defining conditions:
Mouse-oriented PC mode
Direct text entry mode (traditional)
User settings can be made to change between both modes.
When editing conditions, you can use expressions and constants and connect them with operators, for example, Status = 'in process'.
Conditions can be checked for proper syntax and tested.
© SAP AG TCRM20 6-8
SAP AG 2008
Processing Time
Processing Time
Immediately When Saving Selection Report
Complaint
Visit
Quotation
Subsequent itemCredit memo
CustomerOrder
If you select Immediately as the processing time, the action is started as soon as the start condition is fulfilled.
If you configure the system so that processing starts when saving, the action is started when the transaction is saved.
If you define processing with the selection report and the start condition has been fulfilled, the action is started after the execution of a selection report. This processing type is particularly useful for actions that are used for deadline monitoring (such as monitoring the Service Level Agreements).
Actions are displayed in transactions that support actions and to which an action profile is assigned. You can display a list of actions scheduled for the transaction on the Actions tab page of the transaction. The following information is displayed in the list for each action:
Status (action scheduled, action processed)
Description (purpose of action)
Conditions (settings for action definition and conditions are displayed)
Creator, creation date
© SAP AG TCRM20 6-9
SAP AG 2008
Processing Types
Release procedure for quotation depending on net value
Processing TypesProcessing Types
Smart FormsSmart Forms WorkflowWorkflow MethodsMethods
CustomerOrder
Visit
Quotation Opportunity
Task
SAP Smart Forms are used for activities such as printing, e-mailing and faxing documents such as order confirmations.
Actions can create an event to start a workflow. Methods are Business Add-In (BAdI) implementations. You can define your own BAdI implementation to adapt actions to your processes and needs. (EXEC_METHODCALL_PPF is the relevant BAdI.)
There are many BAdI implementations supplied by SAP that are used in the standard transactions.
Examples for standard methods include the following:
COPY_DOCUMENT (create a follow-up document)
COMPLETE_DOCUMENT (set status completed within document)
CREDIT_MEMO (create credit memo item)
REPAIR_ITEM (create a repair item)
1O_EVENT_CREATE (create a workflow event)
© SAP AG TCRM20 6-10
SAP AG 2008
Example: Actions in a Quotation
Action profile Quotation
ActionsComplete quotation(QUOTATION_COMPLETE)
Feedback from customer(QUOTATION_FEEDBACK)
Print quotation (QUOTATION_PRINT)
Release quotation(QUOTATION_RELEASE)
Start release workflow(QUOTATION_RELEASE_WORKFLOW)
Quotation reminder(QUOTATION_REMINDER)
1. Complete quotationSchedule automatically Yes
Processing time Selection report
Can be executed online Yes
Partner-dependent/partner function No
Action merging Maximum of one successful action
Determination technology Conditions
Processing type Method COMPLETE_DOCUMENT
Object type (user)
Date Profile
Context class
2. Print quotationSchedule automatically Yes
Processing time Immediate
Can be executed online Yes
Partner-dependent/partner function No
Action merging Maximum of one unprocessed action per action definition
Determination technology Conditions
Processing type Smart Form CRM_ORDER_CONFIRMATION_01
The assignment of an action profile to an object type (the relationship to the leading business transaction type of a transaction category) controls which transaction types can be used by the action profile.
Action are always determined for each action profile separately and, as the slide shows, may contain different detail settings.
SAP Implementation Guide → Customer Relationship Management → Basic Functions → Actions → Actions in Transaction → Change Actions and Conditions → Define Action Profiles and Actions
Conditions are defined using a separate function.
SAP Implementation Guide → Customer Relationship Management → Basic Functions → Actions → Actions in Transaction → Change Actions and Conditions → Define Conditions
The start transaction for editing action profiles and conditions is SPPFCADM.
The application (for transaction processing) is CRM_ORDER.
© SAP AG TCRM20 6-11
SAP AG 2008
Customizing: Action 1 - Complete Quotation
Quotation
Valid until 30.06.2008
Status: Completed
July 2008
Status open?
QuotationExpired?
Quotation
Completion
None
Scheduleautomatically
New ActionSchedule
Selection ReportSchedule manually
NoFulfilled
Method:Status Change
ActiveYes
Fulfilled
Action List
This slide depicts the workflow of action processing for the action "complete quotation" within the context of the corresponding Customizing settings.
© SAP AG TCRM20 6-12
SAP AG 2008
Customizing: Action 2 - Print Quotation
QuotationQuotation:Dear...
We offer... the following conditions...
Sincerely,
None
Quotation
None
Scheduleautomatically
ImmediatelyInactive
NoFulfilled
Smart Forms mail(CRM_ORDER_CONFIRMATION_01
Action ListActive
YesFulfilled
Schedule newactions
This slide depicts the workflow of action processing for the action "complete quotation" within the context of the corresponding Customizing settings.
© SAP AG TCRM20 6-13
SAP AG 2008
Address,Ship-to party
Company data
General data
Order items
Quotation item
SAP Smart Forms: Layout of Messages
Use SAP Smart Forms to design your forms
You can use the SAP Smart Forms graphics tool to design the layout of message forms. SAP CRM contains several Smart Forms for messages: Form CRM_ORDER_CONFIRMATION_01 (suitable for faxes, letters, and e-mail)
Form CRM_LEAD_PRINT (suitable for faxes, letters and e-mails)
Form CRM_ORDER_SERVICE (suitable for faxes, letters and e-mails)
SAP Smart Forms offer the advantage of adapting forms without requiring programming knowledge, thanks to a completely graphical user interface.
When you request a printout of a form, the application program obtains the relevant data to be used and prints it on the form. Data retrieval and form logic are separated from one another.
SAP Smart Forms replace SAPscript forms.
© SAP AG TCRM20 6-14
SAP AG 2008
Action Monitor
The action monitor gives you an overview of all scheduled and processed actions and their statuses.You can trigger repeat action processing and display output (preview)You can define selection variants and use them for background processing.
SAP GUI
You can use the action monitor to monitor and trigger the processing of actions for several transactions.
The action monitor program, RSPPFPROCESS, originates from the Post Processing Framework (PPF). You can use this program to check the processing of the actions (for example, output, follow-on documents).
If you set the Processing using selection report processing time for an action in Customizing (for example, for a message), you can select the actions with this program and initiate their processing. This is particularly useful for actions that are used for deadline monitoring (such as Service Level Agreements: First reaction and solutions times for service orders).
It can also be useful to use the action monitor to process actions with the processing time When Saving if, for example, time-dependent conditions were fulfilled after a certain time without any changes to the transaction. The program should be executed regularly so that actions are also started in these cases.
© SAP AG TCRM20 6-15
SAP AG 2008
Actions: Unit Summary
You are now able to:
Explain the options for processing actions
Configure actions
Use the action monitor to launch actions
© SAP AG TCRM20 6-16
© SAP AG TCRM20 6-17
Exercises
Unit: Actions Topic: Action Definitions and Customizing
At the conclusion of this exercise, you will be able to:
• Describe how an action of the type ‘order confirmation’ is determined within a quotation
• Create an action profile using a wizard
• Assign an action profile to a transaction type and test it
You want to print completed quotations. Printing is controlled by action processing; you therefore need to know how to set up and process actions.
1-1 Create a ##Quotation and see whether you can display or issue a corresponding form.
1-1-1 Create a quotation of the type ##Quotation for the customer ##Decot. Offer the customer 10 pieces of the material with the description ##Screen.
1-1-2 Display the relevant actions for the quotation.
a) Which entries are displayed in the corresponding assignment block?
b) Does the list include the action Print Quotation Manually? If necessary, schedule the action manually.
c) What processing status does this action have?
1-1-3 Try to execute the action Complete offer. Is this possible? Explain why.
1-1-4 Change the Valid-to date of the quotation to today and save. Do not under any circumstances execute the Complete offer action in the CRM WebClient UI.
Save your quotation.
_____________
1-1-5 Display the print preview of the quotation that was determined.
© SAP AG TCRM20 6-18
1-1-6 Use the Action Monitor transaction in the SAP GUI to select and execute the Complete offer action for your quotation.
If you want to select the action that was found in the quotation you created, enter the <*transaction number> in the application key field.
1-2 In Customizing, find out how automatic determination takes place for the Print Quotation Manually.
1-2-1 Which action profile is used by transaction type ZA## (##Quotation)?
1-2-2 Analyze this action profile. When is the action processed and the quotation form issued?
1-2-3 Check the details of the action definition to find out why you could not execute the action from transaction processing.
© SAP AG TCRM20 6-19
Optional
2-1 You want to create an action profile for your ##Trade Fair Visit that helps you create a follow-up activity once the preceding activity is completed.
2-1-1 Go to the IMG and use the wizard to create an action profile for transactions.
After starting the wizard use the following data:
Action Profile: ZACTIONPROFILE##
Description: Action Profile Follow-up Activities ##
Date Profile: 000000000001
Object Type Name: BUS2000126
Choose Continue.
Enter ZFOLLOWUP## as the action definition and Follow-up Activity Sales Call ## as the description
Choose Continue.
Time of Processing: Immediate processing
Schedule Automatically: <do no select>
Display in Toolbox: <do no select>
Changeable in Dialog: <Set the indicator>
Executable in Dialog: <Set the indicator>
Choose Continue.
The action should not be partner-dependent.
Choose Continue.
Select Method Call.
Choose Continue.
Use F4 help in Method field to select method COPY_DOCUMENT.
Choose change icon ( ) in Determine Proc. Parameter.
Create a container element with the create icon ( ).
Element: PROCESS_TYPE
Description: Transaction type
Short Description: Action Transaction Type
Enter an ABAP Dictionary reference.
Structure: CRMD_ORDERADM_H
Field: PROCESS_TYPE
Assign the initial value 0001 (Interaction Log).
Choose Confirm and then select Adopt entries.
Choose Continue.
© SAP AG TCRM20 6-20
Enter an appropriate text.
Choose Continue.
You do not want to use any conditions in the first step. Choose Continue twice.
In the wizard, click Complete.
2-1-2 Assign the action profile to transaction type ZB## (##Trade Fair Visit).
2-2 Test your settings.
2-2-1 Create a new contact of the type ##Trade Fair Visit (ZB##). Specify a business partner, description, and process the action.
2-3 Next, you want to add a schedule condition to your action. When your trade fair visit is complete (and only then), you want to be able to create a follow-up activity of the type appointment.
2-3-1 Define a schedule condition for your Follow-up Activity Appointment ## action. Go to the IMG and start defining the condition.
Choose Edit Condition. Enter Activity completed ## as the name. Click the hyperlink to define the condition.
Expand the container object CRM Bus. Activity.
Using the editor, form an expression User Status = Complete (status profile CRMACTIV).
Transfer the condition and save it.
2-3-2 Test your settings by creating another trade fair visit.
Can you schedule the action immediately after creating the transaction?
Complete the trade fair visit by setting the status accordingly.
Can you schedule the action now?
© SAP AG TCRM20 6-21
Alternative Service Scenario: Exercises
1-1 Create a ##Service Order and see whether you can display and issue a corresponding form.
1-1-1 Create a service order of the type ##Service Order for the customer ##Decot. You offer the customer 4 AU of the ##Maintenance service.
1-1-2 Display the relevant actions for the service order.
a) Which entries are displayed in the corresponding assignment block?
b) Does the list include the action Print Service Order Manually? If necessary, schedule the action manually.
c) What processing status does this action have?
1-1-3 Display the print preview of the determined order confirmation.
1-1-4 Use the Action Monitor transaction in the SAP GUI to select and execute the Print Service Process Manually action for your service order.
If you want to select the action that was found in the quotation you created, enter the <*transaction number> in the application key field.
1-2 Use Customizing to analyze how automatic determination takes place for the Print Service Process Manually action.
1-2-1 Which action profile is used by transaction type ZS## (##Service Order)?
1-2-2 Analyze this action profile. When is the action processed and the quotation form issued?
© SAP AG TCRM20 6-22
© SAP AG TCRM20 6-23
Optional
2-1 You want to create an action profile for your ##Trade Fair Visit that helps you create a follow-up activity once the preceding activity is completed.
2-1-1 Go to the IMG and use the wizard to create an action profile for transactions.
After starting the wizard use the following data:
Action Profile: ZACTIONPROFILE##
Description: Action Profile Follow-up Activities ##
Date Profile: 000000000001
Object Type Name: BUS2000126
Choose Continue.
Enter ZFOLLOWUP## as the action definition and Follow-up Activity Sales Call ## as the description
Choose Continue.
Time of Processing: Immediate processing
Schedule Automatically: <do no select>
Display in Toolbox: <do no select>
Changeable in Dialog: <Set the indicator>
Executable in Dialog: <Set the indicator>
Choose Continue.
The action should not be partner-dependent.
Choose Continue.
Select Method Call.
Choose Continue.
Use the F4 help in the Method field to select method COPY_DOCUMENT.
Choose change icon ( ) in Determine Proc. Parameter.
Create a container element with the create icon ( ).
Element: PROCESS_TYPE
Description: Transaction type
Short Description: Action Transaction Type
Enter an ABAP Dictionary reference.
Structure: CRMD_ORDERADM_H
Field: PROCESS_TYPE
Assign the initial value 0001 (appointment).
Choose Confirm and then select Adopt entries.
© SAP AG TCRM20 6-24
Choose Continue.
Enter an appropriate text.
Choose Continue.
You do not want to use any conditions in the first step. Choose Continue twice.
In the wizard, click Complete.
2-1-2 Assign the action profile to transaction type ZB## (##Trade Fair Visit).
2-2 Test your settings.
2-2-1 Create a new contact of the type ##Trade Fair Visit (ZB##). Specify a business partner, description, and process the action.
2-3 Next, you want to add a schedule condition to your action. When your trade fair visit is complete (and only then), you want to be able to create a follow-up activity of the type appointment.
2-3-1 Define a schedule condition for your Follow-up Activity Appointment ## action. Go to the IMG and start defining the condition.
Choose Edit Condition. Enter Activity completed ## as the name. Click the hyperlink to define the condition.
Expand the container object CRM Bus. Activity.
Using the editor, form an expression User Status = Complete (status profile CRMACTIV).
Transfer the condition and save it.
2-3-2 Test your settings by creating another trade fair visit.
Can you schedule the action immediately after creating the transaction?
Complete the trade fair visit by setting the status accordingly.
Can you schedule the action now?
© SAP AG TCRM20 6-25
Solutions
Unit: Actions Topic: Action Definitions and Customizing
1-1 Create a ##Quotation and see whether you can display or issue a corresponding
form.
1-1-1 Create a quotation of the type ##Quotation for the customer ##Decot. Offer the customer 10 pieces of the material with the description ##Screen.
Choose Sales Cycle.
Choose Create → Quotation.
Select ##Quotation.
Sold-To Party: ##Decot
Product ID: <Your material>
Choose ENTER.
1-1-2 Display the relevant actions for the quotation.
a) Which entries are displayed on the corresponding tab page?
Open the Scheduled Actions assignment block.
Various scheduled and unprocessed actions are displayed: Call Customer Again About Offer, Automatic Release of Offers, Start Release Procedure for Offers, Quotation Reminder, Complete Offer and Call Customer Again About Offer (Alert).
b) Does the list include the action Print Quotation Manually?
No, the list does not include this action.
Schedule this action manually.
Choose the Schedule New Actions.
Select the Print Quotation Manually action.
Choose Schedule.
The system display the message Action was executed immediately after scheduling.
c) What processing status does this action have?
Choose Back.
Choose Show Executed Actions.
The status of the action is Processed.
© SAP AG TCRM20 6-26
1-1-3 Try to execute the action Complete offer. Is this possible? Explain why.
Choose the corresponding Execute Action hyperlink. The system displays the error message Start Condition is Not Fulfilled.
This is because the Valid-to date of the quotation has not yet been reached.
1-1-4 Change the Valid-to date of the quotation to today and save. Do not under any circumstances execute the Complete offer action in the CRM WebClient UI.
The valid-to date can be found in the Quotation Details assignment block.
Save your quotation.
_____________
1-1-5 Display the print preview of the quotation that was determined.
Choose More → Preview Output function at the top of the quotation.
1-1-6 Use the Action Monitor transaction in the SAP GUI to select and execute the Complete offer action for your quotation.
SAP Menu → Sales → Monitoring → Action Monitor
Action Definition: QUOTATION_COMPLETE
Application Key: <*Number of your quotation>
Promotion Status: 0 (Not processed)
Time of Processing: Processing Using Selection Report
Choose Execute ( ).
When the results are displayed, select the relevant action and choose Process ( ).
© SAP AG TCRM20 6-27
1-2 In Customizing, find out how automatic determination takes place for the Print Quotation Manually.
1-2-1 Which action profile is used by transaction type ZA## (##Quotation)?
SAP Implementation Guide → Customer Relationship Management → Basic Functions → Actions → Actions in Transaction → Assign Action Profile to the Business Transaction Type Select the transaction type ZA##. Display the Details.
The action profile is QUOTATION.
1-2-2 Analyze this action profile. When is the action processed and the quotation form issued?
SAP Implementation Guide → Customer Relationship Management → Basic Functions → Actions → Actions in Transaction → Change Actions and Conditions → Define Action Profiles and Actions
Select the action profile QUOTATION. Display the details of action definition QUOTATION_PRINT.
The processing time is Immediate Processing.
© SAP AG TCRM20 6-28
© SAP AG TCRM20 6-29
Optional
2-1 You want to create an action profile for your ##Trade Fair Visit that helps you create a follow-up activity once the preceding activity is completed.
2-1-1 SAP Implementation Guide → Customer Relationship Management → Basic Functions → Actions → Actions in Transaction → Create Actions With Wizard Enter the data specified in the exercise.
2-1-2 Assign the action profile to transaction type ZB## (##Trade Fair Visit).
SAP Implementation Guide → Customer Relationship Management → Basic Functions → Actions → Actions in Transaction → Assign Action Profile to the Business Transaction Type Go to the details for transaction type ZB## and enter ZACTIONPROFILE## in the action profile field.
2-2 Test your settings.
2-2-1 Create a new contact of the type ##Trade Fair Visit (ZB##). Specify a business partner, description, and process the action.
Choose Activities.
Choose Create → Appointment.
Choose ##Trade Fair Visit
Description: Trade Fair Visit ##
Account: ##Decot
Choose ENTER.
Go to the Schedules Actions assignment block.
Execute the action.
© SAP AG TCRM20 6-30
2-3 Next, you want to add a schedule condition to your action. When your trade fair visit is complete (and only then), you want to be able to create a follow-up activity of the type appointment.
2-3-1 Define a schedule condition for your Follow-up Activity Appointment ## action. Go to the IMG and start defining the condition.
SAP Implementation Guide → Customer Relationship Management → Basic Functions → Actions → Actions in Transaction → Change Actions and Conditions → Define Conditions
Double-click your action profile in the upper-left corner.
Choose the Schedule Condition tab page.
Choose Edit Condition.
Click the hyperlink to create the condition.
Open your current container object CRM Bus. Activity. Double-click User Status. Click the operator “=”.
Call the input help (F4) in the Constant field.
Enter status profile CRMACTIV.
Choose status E0003 Complete and press Enter.
Transfer and save the condition.
2-3-2 Test your settings by creating another trade fair visit.
Create an activity of the type ##Trade Fair Visit for the activity partner ##Decot. Maintain fictional data.
Choose Activities.
Choose Create → Appointment.
Choose ##Trade Fair Visit
Description: Trade Fair Visit ##
Account: ##Decot
Choose ENTER.
Go to the Scheduled Actions assignment block.
Execute the action.
Can you schedule the action immediately after creating the transaction?
No, this is not yet possible because the activity does not have the correct status.
Complete the trade fair visit by setting the status accordingly.
In the Appointment Details assignment block, set the status to Completed.
Can you schedule the action now?
Yes, the action can now be scheduled.
© SAP AG TCRM20 6-31
Alternative Service Scenario: Solutions
1-1 Create a ##Service Order and check whether you can issue a corresponding form.
1-1-1 Create a service order of the type ##Service Order for the customer ##Decot. You offer the customer 4 AU of the ##Maintenance service.
Choose Service Orders.
Choose Create → Service Order.
Choose ##Service Order.
Sold-To Party: ##Decot
Product ID: ##Maintenance
Choose ENTER.
1-1-2 Display the actions that the system has found for this service order.
a) Which entries are displayed in the corresponding assignment block?
You can see the action: Autom. IBase Update.
b) Does the list include the action Print Service Order Manually? If necessary, schedule the action manually.
No, the list does not include this action.
Schedule the action manually.
Choose Schedule New Actions.
Select the Print Service Process Manually action.
Choose Schedule.
c) What processing status does this action have?
Choose Back.
Choose Show Executed Actions.
Once the action is executed, it is displayed with status Processed.
1-1-3 Display the print preview of the determined order confirmation.
Choose the Print Preview function at the top of the quotation.
1-1-4 Use the Action Monitor transaction in the SAP GUI to select and execute the Print Service Process Manually action for your service order.
SAP Menu → Service → Action Monitor
Action Definition: ZSERVICEVORGANG(AUFTRAGGEBER)
Application Key: <*Number of your service process>
Action Status: 0 (Not processed)
Time of Processing: Processing Using Selection Report
Choose Execute ( ). When the results are displayed, select the relevant action and choose Process ( ).
© SAP AG TCRM20 6-32
1-2 Use Customizing to analyze how automatic determination takes place for the Print
Service Process Manually action.
1-2-1 Which action profile is used by transaction type ZS## (##Service Order)?
SAP Implementation Guide → Customer Relationship Management → Basic Functions → Actions → Actions in Transaction → Assign Action Profile to the Business Transaction Type Select the transaction type ZS##. Display the Details.
The action profile is ZSERVICE_ORDER (IDES service process).
1-2-2 Analyze this action profile. When is the action processed and the quotation form issued?
SAP Implementation Guide → Customer Relationship Management → Basic Functions → Actions → Actions in Transaction → Change Actions and Conditions → Define Action Profiles and Actions
Select the action profile ZSERVICE_ORDER. Display the details of the action definition ZSERVICEVORGANG(AUFTRAGGEBER).
The processing time is Processing using selection report.
© SAP AG TCRM20 6-33
Optional
2-1 You want to create an action profile for your ##Trade Fair Visit that helps you create a follow-up activity once the preceding activity is completed.
2-1-1 SAP Implementation Guide → Customer Relationship Management → Basic Functions → Actions → Actions in Transaction → Create Actions With Wizard Enter the data specified in the exercise.
2-1-2 Assign the action profile to transaction type ZB## (##Trade Fair Visit).
SAP Implementation Guide → Customer Relationship Management → Basic Functions → Actions → Actions in Transaction → Assign Action Profile to the Business Transaction Type Go to the details for transaction type ZB## and enter ZACTIONPROFILE## in the action profile field.
2-2 Test your settings.
2-2-1 Create a new contact of the type ##Trade Fair Visit (ZB##).
Enter a business partner and a description and go to the Actions tab page. Is the action scheduled yet?
Choose Service Operations.
Choose Create → Appointment.
Choose ##Trade Fair Visit
Description: Trade Fair Visit ##
Account: ##Decot
Choose ENTER.
Go to the Scheduled Actions assignment block.
Execute the action.
© SAP AG TCRM20 6-34
2-3 Next, you want to add a schedule condition to your action. When your trade fair visit is complete (and only then), you want to be able to create a follow-up activity of the type appointment.
2-3-1 Define a schedule condition for your Follow-up Activity Appointment ## action. Go to the IMG and start defining the condition.
SAP Implementation Guide → Customer Relationship Management → Basic Functions → Actions → Actions in Transaction → Change Actions and Conditions → Define Conditions
Double-click your action profile in the upper-left corner.
Choose the Schedule Condition tab page.
Choose Edit Condition.
Click the hyperlink to create the condition.
Open your current container object CRM Bus. Activity.
Double-click User Status.
Click the operator “=”.
Call the input help (F4) in the Constant field.
Enter status profile CRMACTIV.
Choose status E0003 Complete and press Enter.
Transfer and save the condition.
2-3-2 Test your settings by creating another trade fair visit.
Choose Service Operations.
Choose Create → Appointment.
Choose ##Trade Fair Visit
Description: Trade Fair Visit ##
Account: ##Decot
Choose ENTER.
Go to the Scheduled Actions assignment block.
Can you schedule the action immediately after creating the transaction?
No, this is not yet possible because the activity does not have the correct status.
Complete the trade fair visit by setting the status accordingly.
In the Appointment Details assignment block, set the status to Completed.
Can you schedule the action now?
Yes, the action can now be scheduled.
© SAP AG TCRM20 7-1
SAP AG 2008
Pricing Fundamentals: Overview Diagram
9. Pricing Fundamentals
10. CRM Billing
11. CRM Middleware
12. CRM WebClient UI
Appendix
Unit1. SAP CRM 2007 – Overview
2. Account Management
3. Organizational Management
4. Product Master
5. Transaction Processing
6. Activity Management
7. Partner Processing
8. Actions
© SAP AG TCRM20 7-2
SAP AG 2008
Pricing Fundamentals
Pricing Overview
Functional Principle of Pricing
Condition Maintenance in SAP CRM
© SAP AG TCRM20 7-3
SAP AG 2008
Pricing Fundamentals: Unit Objectives
At the end of this unit, you will be able to:
Describe the Internet Pricing and Configurator (IPC)
Understand the essential features of the condition technique
Describe the pricing functions
Make certain settings in pricing Customizing
Carry out condition maintenance in SAP CRM
© SAP AG TCRM20 7-4
SAP AG 2008
You want to familiarize yourself with the pricing and condition maintenancefunctions in the SAP CRM system.
Pricing Fundamentals: Business Scenario
© SAP AG TCRM20 7-5
SAP AG 2008
SAP InternetSales in ERPSAP InternetSales in ERP
……SAP SRMSourcing SAP SRMSourcing
SAP CRMMobile Sales
Mobile Service
SAP CRMMobile Sales
Mobile Service
SAP CRMCRM Web Channel
SAP CRMCRM Web Channel
SAP CRMInteraction Center
SAP CRMInteraction Center
Pricing and Tax Determination in SAP CRM
SAP IPCSAP IPC
The Internet Pricing and Configurator (IPC) is responsible for pricing throughout the entire SAP CRM application.
The Internet Pricing and Configurator is used for pricing in SAP CRM scenarios. Pricing information in the Internet (CRM Web Channel), CRM Enterprise and mobile clients (such as laptops) is processed by this component only (“one face to the customer”).
The IPC is only switched off in the rare case of a SAP CRM implementation without any pricing or configuration functions. For more information, see SAP Note 702735.
© SAP AG TCRM20 7-6
SAP AG 2008
IPC Implementation Scenarios
The data is maintained in the SAP CRM system.The IPC accesses the data in the CRM database.
Data is maintained in the SAP ERP system.The SAP ERP system supplies the CRM system with this data and the IPC accesses the CRM database.
.
IPC RFCMiddleware
CRM
Customizing &conditions
RFCIPC
ERP
Customizing &conditions
CRM
Customizing &conditions
IPC implementation scenarios Scenarios without ERP integration:
You set up pricing Customizing in SAP CRM and maintain the conditions there. This data is only available in SAP CRM and cannot be transferred to the SAP ERP system. Exception: Trade Promotion Management.
Naming convention: standard Customizing objects normally start with a digit.
Scenarios with ERP integration:
You set up pricing Customizing in the ERP system and maintain the conditions there. Both the Customizing and the master data can be transferred from the ERP system to SAP CRM via the middleware.
You cannot change the transferred Customizing in SAP CRM.
The transferred conditions cannot be changed in SAP CRM. However, you can declare exceptions.
Naming convention: standard Customizing objects normally start with a letter. You use this scenario when you want to use ERP billing for certain CRM business transactions.
© SAP AG TCRM20 7-7
SAP AG 2008
Pricing Procedure
Pricing Procedure
1. Price PR00
2. Customer Discount K007
3. Sales Promotion KA00
RVAAUS
Pricing Procedure = Calculation Rule
… …
The pricing procedure defines the valid condition types and their calculation sequence in the transaction.
The pricing procedure also defines the following:
Which subtotals are created and displayed on the pricing screens
If a condition type is mandatory
How far the manual processing of pricing is possible
Which requirements must be fulfilled in order that a specific condition type is taken into account.
Pricing procedures are defined in Customizing.
SAP Implementation Guide → Customer Relationship Management → Basic Functions → Pricing → Define Settings for Pricing → Create Pricing Procedure
Pricing procedures have a source (CRM or R/3).
© SAP AG TCRM20 7-8
SAP AG 2008
OrganizationalData
Pricing Procedure
1. Price 0PR0
2. Customer Discount 0K07
3. Sales Promotion 0KA0
0CRM1
Sales Organization
O 50002101
Customer Pricing ProcedureStandard
Distribution Channel 10
Document Pricing Procedure A
Determination of Pricing Procedure
Customer Group
determines
Transaction Type
Process
1
(Division)
The determination of the pricing procedure must be set up manually. You can set a division, but it is not required (as is the case in SAP ECC).
The following elements influence the determination of the pricing procedure:
Sales organization
Distribution channel
Document pricing procedure (can be assigned to a transaction type)
Customer pricing procedure (assignment in the business partner – sales area data – billing data)
Division (optional)
The pricing procedure is determined in Customizing under the following path:
SAP Implementation Guide → Customer Relationship Management → Basic Functions → Pricing → Pricing in the Business Transaction → Determine Pricing Procedures.
© SAP AG TCRM20 7-9
SAP AG 2008
Condition Types
Value from Amount
- 1 %- 2 %- 4 %
Amount
$ 1 per 1 kg
FreightKF00
Calculation type: percentageScale base type: value scale
Calculation type: amount/weight
$ 100$ 1000
$ 10000
Discount %K007
The condition type defines the characteristics and attributes of a condition. You can define a condition type for every type of price, surcharge, or discount that occurs in your business transactions.
The condition type determines the category of a condition and how it is used. The calculation type and the scale base type can be defined for each condition type.
Each condition type can be set as an automatic surcharge or an automatic discount.
Condition types are defined in Customizing under SAP Implementation Guide → Customer Relationship Management → Basic Functions → Pricing → Define Settings for Pricing → Create Condition Types.
Condition types have a source system (local = CRM or other system (such as R/3).
ECC or R/3 condition types can be loaded into the SAP CRM system (Customizing download object CRM_PRC_CNDTYP).
SAP CRM condition types cannot be loaded into the ERP system.
Some ERP condition types cannot be used in SAP CRM.
The term price element is used in the application instead of condition type.
© SAP AG TCRM20 7-10
SAP AG 2008
Access Sequence
Access Sequence K027:
1. Customer-specific discountCondition table: Customer/Sales Organization
2. Discount for price group Condition table: Price Group/Sales Organization
3. General discount for the sales organizationCondition table: Sales Organization
Condition Type K027:
Access Sequence = Search Strategy
An access sequence is a search strategy that the system uses to search for valid data in a specific condition type.
It comprises one or more accesses that are each defined by specifying a condition table.
The sequence of the accesses controls the priority of the individual condition records. The accesses tell the system where to start searching after a valid condition record.
Create an access sequence for each condition type for which you create condition records.
Access sequences are defined in Customizing:
SAP Implementation Guide → Customer Relationship Management → Basic Functions → Pricing → Define Settings for Pricing → Create Access Sequences
Condition types have a source system (local = CRM or another system (such as R/3).
© SAP AG TCRM20 7-11
SAP AG 2008
Condition Table
Condition table fields:Sales organizationDistribution channelDivisionSold-to party
Condition table Z007 customer/sales organization:
A condition table defines the combination of fields (keys) that identify an individual condition record.
Condition table: a table that defines the combination of fields that an individual condition record consists of. The condition table consists of a combination of search and result fields.
Condition records are always created using a specific key.
Use tables to help you define the structure of condition record keys.
The key fields of a condition table must appear together at the start of the table, in other words, non-key fields must not appear between any two key fields.
Condition tables are defined in Customizing under the following path: SAP Implementation Guide → Customer Relationship Management → Basic Functions → Pricing → Define Settings for Pricing → Create Condition Tables.
Name ranges for condition tables:
SAP condition tables 001 – 500 created in the ERP system: SAP001 – SAP500
Customer condition tables 501 – 999 created in the ERP system: CUS501 – CUS999
SAP condition tables created in the CRM system: SAPxxxxx
Customer condition tables created in the CRM system: CUSxxxxx
© SAP AG TCRM20 7-12
SAP AG 2008
Condition Technique
ScaleFrom 1 PC: 100 EUR per PCFrom 50 PC: 95 EUR per PC
PR00 95 EUR/PCK007 -2%
Transaction
Product A 55 PC
Access SequenceCondition tables1. Access: Customer/MaterialSecond Access: Material
ZPR0
Pricing Procedure
1. Price PR00
2. Customer discount K007
3. Sales Promotion KA00
RVAA01
Condition Type
Access sequence ZPR0
PR00
Condition RecordsValid record not available
Valid record available
for PR00
The system reads the first condition type of the pricing procedure and determines the assigned access sequence. This step, together with the following steps, is repeated for each condition type in the pricing procedure.
The system reads the access sequence with the condition tables. The sequence of the condition tables forms the search strategy for determining the individual condition records. Each condition table contains the field combinations according to which the system should search in the condition records, for example business partner – product - price.
The system searches for valid condition records for the condition tables. If the system does not find a valid condition record for the first condition table, it carries on and searches for a condition record for the next condition table.
Once the system has found a valid condition record for a condition table, it makes the result available to pricing in the form of prices and discounts.
If the search procedure contains more than one condition type, the system repeats the search for condition records for each condition type.
In the SAP CRM system, the free goods, campaign and product determination functions are executed with the pricing mechanism (condition technique).
Different kinds of condition groups – for example, prices, discounts, surcharges, freight or taxes – can be determined.
© SAP AG TCRM20 7-13
SAP AG 2008
Condition Records
1st PeriodMarch 01 to April 30
Sales organization 1000
Distribution channel: 01
Customer: C1
Material: M1
2nd PeriodMay 01 to May 30
Level at whichthe condition
is defined
$ 1000 - 1 %$ 2000 - 2 %$ 3000 - 3 %
$ 1000 - 2 %$ 2000 - 3 %$ 3000 - 4 %
Special offer discount:
Data about conditions is stored incondition records:
Data about conditions is stored in condition records. You can limit a price agreement to a specific period. To do this, specify a validity period. This can be useful when you want to have different price lists for different years or have discounts valid only for the duration of a special offer.
The values in a condition record (price, markup, discount) can be maintained according to a value scale. You can specify an unlimited number of levels in a value scale.
© SAP AG TCRM20 7-14
SAP AG 2008
Condition Maintenance
You can start condition maintenance from the following objects in CRM:
Business partners
Business partner hierarchies
Products
Contracts (price agreements)
Campaigns (discounts)
You can also maintain conditions in general condition maintenance
General condition maintenance in the SAP CRM system is called using the SAP GUI: SAP Menu → Master Data → Prices and Conditions → Maintain Conditions. If you want to edit conditions for standard CRM business processes, enter CRM in the application
field and a suitable (condition) maintenance group.
You can merge the required condition types/condition tables using the condition maintenance groups in Customizing. In general condition maintenance, the context GCM allows you to make the corresponding selection of condition types/condition tables.
© SAP AG TCRM20 7-15
SAP AG 2008
Condition Maintenance Groups and Contexts
Condition type 1Condition type 2Condition type 3 Condition type 7
Condition type 6
Condition type 8
Condition type 9
Condition type 5Condition type 4
Condition Maintenance Group
Maintenance ContextGeneral (GCM)
Business partner
Contract
Campaign
...
A condition maintenance group bundles condition tables and types for condition maintenance. There is a special view in condition maintenance for this.
The SAP CRM system contains general condition maintenance (GCM) as well as special maintenance contexts. In GCM, you can maintain the conditions that are in condition maintenance groups and which are assigned to the GCM maintenance context.
You can define separate condition maintenance groups and the assignment of maintenance contexts in Customizing:
SAP Implementation Guide Customer Relationship Management Master Data Conditions and Condition Technique Condition Technique: Basics Create Maintenance Group
SAP Implementation Guide Customer Relationship Management Master Data Conditions and Condition Technique Condition Technique: Basics Define Maintenance Groups for Context
© SAP AG TCRM20 7-16
SAP AG 2008
Pricing Analysis in Transactions: Example
OrderCustomer: Miller
Product Quantity
M328 10 PC
$9301 pc$93Net Value
1 pc
1 kg
1 pc
1 pc
1 pc
per
$970$97Final Amount
$+ 40$+ 2 Shipment Costs
$- 50$- 5Product Discount
$- 20%- 2Customer Discount
$1000$100Gross
$1000$100Material Price
CurrValueUoMRateCondition
You can carry out a pricing analysis. This is a log that gives you an overview of the transactions in automatic pricing.
You can use this information to check how the individual pricing elements from the item are calculated in the system.
The system displays information about each pricing transaction as well as the last pricing transaction that was carried out. This enables you to compare pricing transactions. This can be useful after failed searches or price changes.
Condition analysis is not available in the CRM WebClient UI. It can only be accessed using the SAP GUI and when the corresponding transaction is created or changed.
User parameter PRC_TRACE = X must be set.
© SAP AG TCRM20 7-17
SAP AG 2008
Pricing: Functions
Item level pricing, formulas for more complex pricing
Manual changes at item and header levels
Different calculation types
Two-dimensional scales, scales with different scale bases
Validity periods
Currency conversion, quantity conversion, and unit of measurement conversion
Free goods discount (inclusive and exclusive bonus quantities)
Differences between pricing in SAP CRM and SAP ECC or SAP R/3. The following condition types are not supported in SAP CRM: EK01, EK02, BO01 to BO05,
AZWR, RL00, MW15, VRPS, EDI1, EDI2.
Mass copying of condition records is not possible in SAP CRM.
Change documents are not available in SAP CRM.
Archiving of pricing conditions is not possible in SAP CRM.
For technical reasons in SAP CRM, you cannot display the underlying condition record from condition maintenance in a transaction.
Unlike SAP ECC, there are several pricing program runs in SAP CRM. This means that is also possible to compare different pricing runs. This might be useful after price changes or during an error search, for example.
The pricing type cannot be predefined in SAP CRM when new pricing is started.
© SAP AG TCRM20 7-18
SAP AG 2008
Outcome
IPC
Tax Determination via TTE
SAP CRM
Transaction Tax Engine (TTE)
Tax DeterminationTax Calculation
Tax RatesTax Exemptions
Deductibility
Rules TaxDetermination
Tax EventTax LocationTax Type(s)Tax Rate(s)
Tax Document
CRM Sales and Service, CRM Billing
BP Sales Org. / VendorAddress
Country or regionJurisdiction code
Tax registration numbers
CustomerAddress
Country or regionJurisdiction code
Tax Registration NumberTax Types and Groups
ProductTax Types and Groups
TransactionDateCRM Item Object Type
If you create billing documents using CRM Billing, the taxes are determined via the Transaction Tax Engine.
The TTE determines and calculates tax based on the condition records and tax exemption licenses. The TTE uses the transferred data to determine the tax event, tax type(s) and the corresponding tax record.
To start the call of the Transaction Tax Engine, you need define the condition type 0TTE (for tax calculation and the net price) or 1TTE (for tax calculation and the gross price). We recommend that you use the 0CRM01 pricing procedure.
As of SAP CRM 4.0, there is a persistent tax document. This document is stored permanently in the system and can be accessed at all times. The persistent tax document comprises all input and output data for a particular TTE tax determination and calculation.
The simulation transaction TTE_SIMULATION supports:
Testing of all Customizing parameters
Testing of all tax calculation results
Saving of documents
© SAP AG TCRM20 7-19
SAP AG 2008
Pricing Fundamentals: Summary
You are now able to:
Describe Internet Pricing and Configurator (IPC)
Understand the essential features of the condition technique
Describe the pricing functions
Make certain settings in pricing Customizing
Carry out condition maintenance in SAP CRM
© SAP AG TCRM20 7-20
© SAP AG TCRM20 7-21
Exercises
Unit: CRM Pricing Topic: Condition Maintenance and Customizing
At the conclusion of this exercise, you will be able to:
• Maintain conditions in the CRM system
• Perform certain basic Customizing settings related to pricing in transactions
You want to set up your sales and service transactions so that when transactions are processed, pricing is carried out and the relevant pricing elements are found for each business transaction. In addition, you want to familiarize yourself with condition maintenance in CRM.
1-1 Conditions and condition maintenance in the CRM system
1-1-1 Create a sales transaction of the type Sales Process with the account ##Megastore and enter the product HT-1010 with a quantity of 10 pieces.
1-1-2 Check the item details of the transaction to see whether the system has found a customer discount.
Display the sales process item in the Prices assignment block.
1-1-3 Can you enter the price element customer discount with a value of 5% manually?
© SAP AG TCRM20 7-22
1-1-4 In future transactions of this type, customers should always receive a customer discount of 3%. This agreement should last from today until the end of the year.
Maintain a condition master record in the CRM system accordingly.
SAP Menu → Master Data→ Prices and Conditions → Maintain Conditions
Application: CRM
Maintenance group: BUPADISCOU
Sales area: Sales US; 30; 00
1-1-5 Create another sales order of the type Sales Process with the account ##Megastore and enter the product HT-1010 with a quantity of 10 pieces.
Is the customer discount found automatically?
Save the transaction and note the number.
_______________
1-2 Customizing Pricing
1-2-1 What factors influence the determination of a pricing procedure? Where in the system are the specific values of the factors for your special business transactions in the previous exercise (1-1)?
Influencing factor 1______________________________________
Origin: ___________________________________________
Influencing factor 2______________________________________
Origin: ___________________________________________
Influencing factor 3______________________________________
Origin: ___________________________________________
Influencing factor 4______________________________________
Origin: ___________________________________________
Influencing factor 5______________________________________
Origin: ___________________________________________
1-2-2 Which pricing procedure is determined for your data in the transaction? Find this out by checking the assignmnet table in Customizing.
© SAP AG TCRM20 7-23
1-3 Set up a new condition maintenance group in Customizing.
1-3-1 You want to display the customer-specific material price, which you created in ERP (condition type PR00), in general condition maintenance.
To do this, set up a separate condition maintenance group – ZCMG## (maintenance group ##) – containing the corresponding condition table/condition type. Use a suitable description.
Specify that this condition maintenance group is in the GCM (general condition maintenance) context.
1-3-2 In general condition maintenance, check whether you can display condition master records of condition type PR00 in the condition maintenance group ZCMG##.
© SAP AG TCRM20 7-24
© SAP AG TCRM20 7-25
Alternative Service Scenario: Exercises
1-1 Conditions and condition maintenance in the CRM system
1-1-1 Create a service order of the type ##Service Order with the account ##Decot and enter the product ##Maintenance with a quantity of 2 AU.
1-1-2 Check the item details of the transaction to see whether the system has found a customer discount price element.
Display the service process item in the Prices assignment block.
1-1-3 Can you enter the price element customer discount with a value of 5% manually?
1-1-4 In future transactions of this type, customers should always receive a customer discount of 3%. This agreement should last from today until the end of the year.
Maintain a condition master record in the CRM system accordingly.
SAP Menu → Master Data→ Prices and Conditions → Maintain Conditions
Application: CRM
Maintenance group: BUPADISCOU
Sales area: IDES TR, 10, 00
1-1-5 Create another service order of the type ##Service Order with the account ##Decot and enter the product ## Maintenance with a quantity of 2 AU.
Is the customer discount found automatically?
Save the transaction and note the number.
_______________ [→ Data sheet]
© SAP AG TCRM20 7-26
1-2 Customizing Pricing
1-2-1 What factors influence the determination of a pricing procedure? Where in the system are the specific values of the factors for your special business transactions in the previous exercise (1-1)?
Influencing factor 1______________________________________
Origin: ___________________________________________
Influencing factor 2______________________________________
Origin: ___________________________________________
Influencing factor 3______________________________________
Origin: ___________________________________________
Influencing factor 4______________________________________
Origin: ___________________________________________
Influencing factor 5______________________________________
Origin: ___________________________________________
1-2-2 Which pricing procedure is determined for your data in the transaction? Find this out by checking the assignmnet table in Customizing.
1-3 Set up a new condition maintenance group in Customizing.
1-3-1 You want to edit the customer discount that you created in the last exercise (condition type 0K07) in a condition maintenance group that is set up specifically for this purpose.
To do this, set up a separate condition maintenance group – ZCMG## (maintenance group ##) – containing the corresponding condition table/condition type. Use a suitable description.
Specify that this condition maintenance group is in the GCM (general condition maintenance) context.
1-3-2 In general condition maintenance, check whether you can display condition master records of condition type 0K07 in condition maintenance group ZCMG##.
© SAP AG TCRM20 7-27
Solutions
Unit: CRM Pricing Topic: Condition Maintenance and Customizing
1-1 Conditions and condition maintenance in the CRM system
1-1-1 Create a sales transaction of the type Sales Process with the account ##Megastore and enter the product HT-1010 with a quantity of 10 pieces.
Choose Sales Cycle.
Choose Create → Sales Order.
Choose Sales Process.
Sold-To Party: ##Megastore.
External Reference: Pricing ##.
Product ID: HT-1010
Quantity: 10
1-1-2 Check the item details of the transaction to see whether the system has found a customer discount.
Choose the icon next to the item that you have just created in the Items assignment block.
In the item details, open the Prices assignment block.
The list of displayed price elements does not include a customer discount entry.
1-1-3 Can you enter the price element customer discount with a value of 5% manually?
Choose Edit List in the Prices assginment block.
Choose New.
Price Element: Customer Discount
%: 5
The minus sign (-) is added automatically.
Choose Back and save the transaction.
© SAP AG TCRM20 7-28
1-1-4 In future transactions of this type, customers should always receive a customer discount of 3%. This agreement should last from today until the end of the year.
Maintain a condition master record in the CRM system accordingly.
SAP Menu → Master Data→ Prices and Conditions → Maintain Conditions Application: CRM
Maintenance group: BUPADISCOU
Choose Execute ( ).
In the data area for the Condition Type (CCtC) field on the right, enter the value 0K07 and confirm your entry. Enter:
Sales Organization: Sales US
Distribution Channel: 30
Division: 00
Customer: <number of ##Megastore>
Amount: 3
Valid From: Today
Valid-to Date: End of year
Save your data.
1-1-5 Create another sales order of the type Sales Process with the account ##Megastore and enter the product HT-1010 with a quantity of 10 pieces.
Choose Sales Cycle.
Choose Create → Sales Order.
Choose Sales Process.
Sold-To Party: ##Megastore.
External Reference: Pricing ##.
Product ID: HT-1010
Quantity: 10
Choose the icon next to the item that you have just created in the Items assignment block.
In the item details, open the Prices assignment block.
Is the customer discount found automatically?
The list of displayed price elements now includes the customer discount entry.
Save the transaction and note the number.
_______________
© SAP AG TCRM20 7-29
1-2 Customizing Pricing
1-2-1 What factors influence the determination of a pricing procedure? Where in the system are the concrete values of the factors for your business transactions from the previous exercise?
The determination of the pricing procedure can be affected by the following factors:
Influencing factor 1: Sales organization
Specific value: Sales US (O 50000609)
Origin: Assignment block: Organizational Data
Influencing factor 2: Distribution channel
Specific value: Internet Sales (30)
Origin: Assignment block: Organizational Data
Influencing factor 3: Division
Specific value: --
Origin: Assignment block: Organizational Data
Influencing factor 4: Document pricing procedure
Specific value: CRM (9)
Origin: Transaction type [ZSAL]
Influencing factor 5: Customer Pricing Procedure
Specific value: Standard (1)
Origin: Account
-----------------------------------------------------------------------------------------
Additional information for influencing factors 1-3 The organizational data is found in the Organization Data assignment block in the details of the transaction.
Additional information for influencing factor 4 (document pricing procedure)
Choose Architecture and Technology → Configuration → Customizing.
Choose SAP Reference IMG.
SAP Implementation Guide → Customer Relationship Management → Transactions → Basic Settings → Define Transaction Types
Select entry ZSAL and choose Details ( ).
In the dialog structure, double-click Assignment of Business Transaction Categories.
Select the Sales transaction category and double-click Customizing header in the dialog structure.
The document pricing procedure is CRM (9).
Additional information for influencing factor 5 (customer pricing procedure)
© SAP AG TCRM20 7-30
Choose Account Management.
Choose Search → Accounts.
Search for acount ##Megastore.
Open the Sales Area Data assignment block for the account ##Megastore.
Choose edit action ( ) for the sales area.
US Sales & Service; Internet Sales; -- The customer pricing procedure is Standard (1).
1-2-2 Which pricing procedure is determined for your data in the transaction? Find this out by checking the assignmnet table in Customizing.
SAP Implementation Guide → Customer Relationship Management → Basic Functions → Pricing → Pricing in the Business Transaction → Determine Pricing Procedures Choose Position.
Sales Organization ID: O 50000609 (Use the input help)
Distribution Channel: 30
Division: < >
Document Pricing Procedure: 9
Customer Pricing Procedure: 1
Choose ENTER.
The pricing procedure found is 0CRM01.
© SAP AG TCRM20 7-31
1-3 Set up a new condition maintenance group in Customizing.
1-3-1 You want to display the customer-specific material price, which you created in ERP (condition type PR00), in general condition maintenance.
To do this, set up a separate condition maintenance group – ZCMG## (maintenance group ##) – containing the corresponding condition table/condition type. Use a suitable description.
Specify that this condition maintenance group is in the GCM (general condition maintenance) context.
SAP Implementation Guide → Customer Relationship Management → Master Data → Conditions and Condition Techniquie → Condition Technique: Basics → Create Maintenance Group
Choose New Entries.
Maintenance group: ZCMG##
Description: Maintenance group ##
Confirm your entry, select it and choose Condition Maintenance Group: Detail in the dialog structure on the left.
Choose New Entries.
Counter: 1
Application: CRM
Usages: PR
Condition table: SAP305
Condition Type: PR00
Description: Customer-spec. material price ##
Save your entries.
SAP Implementation Guide → Customer Relationship Management → Master Data → Conditions and Condition Technique → Condition Technique: Basics → Define Maintenance Groups for Context
Maintenance context: GCM
Choose Copy
Choose New Entries.
Group: ZCMG##
Save your entries.
© SAP AG TCRM20 7-32
1-3-2 In general condition maintenance, check whether you can display condition master records of condition type PR00 in the condition maintenance group ZCMG##.
SAP Menu → Master Data→ Prices and Conditions → Maintain Conditions Application: CRM
Maintenance group: ZCMG##
Choose Execute.
In the dialog structure on the left, select the fields Condition Type and Sold-To Party (use STRG-key!).
Choose Select records ( ).
In the dialog box that is displayed, enter the following:
Condition Type: PR00
Sold-To Party: 3271
Choose Execute.
The condition records are displayed. However, it is not possible to change the master record because it was transferred from the ERP system and was not intended for processing in the SAP CRM system.
© SAP AG TCRM20 7-33
Alternative Service Scenario: Solutions
1-1 Conditions and condition maintenance in the CRM system
1-1-1 Create a service process of the type ##Service Order with the account ##Decot and enter the product ##Maintenance with a quantity of 2 AU.
Choose Service Orders.
Choose Create → Service Order.
Choose ##Service Order.
Sold-To Party: ##Decot.
External Reference: Pricing ##.
Product ID: ##Maintenance
Quantity: 2
1-1-2 Check the item details of the transaction to see whether the system has found a customer discount price element.
Choose the icon next to the item that you have just created in the Items assignment block.
In the item details, open the Price Details assignment block.
The list of displayed price elements does not include a customer discount entry.
1-1-3 Can you enter the price element customer discount with a value of 5% manually?
Choose Edit List in the Price Details assginment block.
Choose New.
Price Element: Customer Discount
%: 5
The minus sign (-) is added automatically.
Choose Back and save the transaction.
© SAP AG TCRM20 7-34
1-1-4 In future transactions of this type, customers should always receive a customer discount of 3%. This agreement should last from today until the end of the year.
Maintain a condition master record in the CRM system accordingly.
SAP Menu → Master Data→ Prices and Conditions → Maintain Conditions Application: CRM
Maintenance group: BUPADISCOU
Choose Execute ( ).
In the data area for the Condition Type (CCtC) field on the right, enter the value 0K07 and confirm your entry. Enter:
Sales Organization: IDES TR
Distribution Channel: 10
Division: 00
Customer: <Number of ##Decot>
Amount: 3
Valid From: Today
Valid-to Date: End of year
Save your data.
1-1-5 Create another service order of the type ##Service Order with the account ##Decot and enter the product ##Maintenance with a quantity of 2 AU.
Choose Service Orders.
Choose Create → Service Order.
Choose ##Service Order.
Sold-To Party: ##Decot.
External Reference: Pricing ##.
Product ID: ##Maintenance
Quantity: 2
Choose the icon next to the item that you have just created in the Items assignment block.
In the item details, open the Price Details assignment block.
Is the customer discount found automatically?
The list of displayed price elements now includes the customer discount entry.
Save the transaction and note the number.
_______________
© SAP AG TCRM20 7-35
1-2 Customizing Pricing
1-2-1 What factors influence the determination of a pricing procedure? Where in the system are the concrete values of the factors for your business transactions from the previous exercise?
The determination of the pricing procedure can be affected by the following factors:
Influencing factor 1: Sales organization
Specific value: IDES TR (O 50005807)
Origin: Assignment block: Organizational Data
Influencing factor 2: Distribution channel
Specific value: Endkundenverkauf (10)
Origin: Assignment block: Organizational Data
Influencing factor 3: Division
Specific value: --
Origin: Assignment block: Organizational Data
Influencing factor 4: Document pricing procedure
Specific value: Service Process (S)
Origin: Transaction type [ZSAL]
Influencing factor 5: Customer Pricing Procedure
Specific value: Standard (1)
Origin: Account
-----------------------------------------------------------------------------------------
Additional information for influencing factors 1-3 The organizational data is found in the Organization Data assignment block in the details of the transaction.
Additional information for influencing factor 4 (document pricing procedure)
Choose Architecture and Technology → Configuration → Customizing.
Choose SAP Reference IMG.
SAP Implementation Guide → Customer Relationship Management → Transactions → Basic Settings → Define Transaction Types
Select entry ZS## and click on the Details icon ( ).
In the dialog structure, double-click Assignment of Business Transaction Categories.
Select the Sales transaction category and double-click Customizing header in the dialog structure.
The document pricing procedure is called Service Process (S).
Additional information for influencing factor 5 (customer pricing procedure)
© SAP AG TCRM20 7-36
Choose Account Management.
Choose Search → Accounts.
Search for acount ##Megastore.
Open the Sales Area Data assignment block for the account ##Megastore.
Choose edit action ( ) for the sales area.
[IDES CRM Training Company; Final customer sales; --] The customer pricing procedure is Standard (1).
1-2-2 Which pricing procedure is determined for your data in the transaction? Find this out by checking the assignmnet table in Customizing.
SAP Implementation Guide → Customer Relationship Management → Basic Functions → Pricing → Pricing in the Business Transaction → Determine Pricing Procedures Choose Position.
Sales Organization ID: O 50005807 (Use the input help)
Distribution Channel: 10
Division: < >
Document Pricing Procedure: S
Customer Pricing Procedure: 1
Choose ENTER.
The pricing procedure found is 0CRM02.
© SAP AG TCRM20 7-37
1-3 Set up a new condition maintenance group in Customizing.
1-3-1 You want to display the customer-specific material price, which you created in ERP (condition type 0K07), in general condition maintenance.
To do this, set up a separate condition maintenance group – ZCMG## (maintenance group ##) – containing the corresponding condition table/condition type. Use a suitable description.
Specify that this condition maintenance group is in the GCM (general condition maintenance) context.
SAP Implementation Guide → Customer Relationship Management → Master Data → Conditions and Condition Techniquie → Condition Technique: Basics → Create Maintenance Group
Choose New Entries.
Maintenance group: ZCMG##
Description: Maintenance group ##
Confirm your entry, select it and choose Condition Maintenance Group: Detail in the dialog structure on the left.
Choose New Entries.
Counter: 1
Application: CRM
Usages: PR
Condition table: SAP007
Condition Type: 0K07
Description: Customer-spec. Material price ##
Save your entries.
SAP Implementation Guide → Customer Relationship Management → Master Data → Conditions and Condition Techniquie → Condition Technique: Basics → Define Maintenance Groups for Context
Maintenance context: GCM
Choose Copy
Choose New Entries.
Group: ZCMG##
Save your entries.
© SAP AG TCRM20 7-38
1-3-2 In general condition maintenance, check whether you can display condition master records of condition type 0K07 in the condition maintenance group ZCMG##.
SAP Menu → Master Data→ Prices and Conditions → Maintain Conditions Application: CRM
Maintenance group: ZCMG##
Choose Execute.
In the dialog structure on the left, select the fields Condition Type.
Choose Select records ( ).
In the dialog box that is displayed, enter the following:
Condition Type: PR00
Choose Execute.
The condition records are displayed and can be changed since this data was created in CRM.
© SAP AG TCRM20 8-1
SAP AG 2008
CRM Billing: Overview Diagram
9. Pricing Fundamentals
10. CRM Billing
11. CRM Middleware
12. CRM WebClient UI
Appendix
Unit1. SAP CRM 2007 – Overview
2. Account Management
3. Organizational Management
4. Product Master
5. Transaction Processing
6. Activity Management
7. Partner Processing
8. Actions
© SAP AG TCRM20 8-2
SAP AG 2008
CRM Billing
Billing Process Overview
Billing Customizing
© SAP AG TCRM20 8-3
SAP AG 2008
Billing: Unit Objectives
At the end of this unit, you will be able to:
Explain the document flow in SAP CRM
Create and describe billing documents
Name the Customizing settings relevant for CRM Billing
© SAP AG TCRM20 8-4
SAP AG 2008
Billing: Business Scenario
You want to use CRM Billing to invoice service transactions and customer orders. You need to familiarize yourself with the general concepts of CRM Billing, the process details, and the relevant Customizing settings.
© SAP AG TCRM20 8-5
SAP AG 2008
Integration of Billing in the Service Scenario: Service Order Management
Requests quotation
7
4
2
3
5
1
8
6
Converts the quotation into a
service order
Acceptsquotation
Creates and submits
quotation
Executes assignment,
enters confirmation
Creates and optimizes
assignments
Performs analyses
Createsinvoice
© SAP AG TCRM20 8-6
SAP AG 2008
Integration of Billing in the Sales Scenario:Quotation and Order Processing in SAP CRM
Creates opportunity
74
23
5
1
6
Monitors status of order
Creates sales order
Creates quotation
Creates invoiceCreates delivery then picks,
packs and posts goods issue
Analyzes sales processes
© SAP AG TCRM20 8-7
SAP AG 2008
System Landscape
SalesSales& Service& Service BillingBilling BI
SAP CRM
SAP ECC
FI/COLELE
In SAP CRM, you can issue invoices for various business transactions. These include invoices for:
Sales orders (with or without reference to delivery)
Service contracts, service orders, service confirmations, confirmation processing
You can use CRM Billing to combine service order items and sales order items in the invoices. This simplifies communication with your customers.
If you want to invoice only CRM sales orders and you are currently using SAP Sales and Distribution (SAP SD), you have the option of using either SD Billing or CRM Billing. You should normally use CRM Billing to invoice contracts, service orders, confirmations and complaints.
The ERP component SAP FI-AR (accounts receivable accounting) or FI-CA (Contract Accounts Receivable and Payable) must be implemented if you wish to post billing documents in financial accounting.
The billing component in SAP CRM is a billing engine application that is generated beforehand. When you make Customizing settings for billing, make these for the CRM Billing application.
© SAP AG TCRM20 8-8
SAP AG 2008
Sales
Service
Delivery
Externaldata
Process Overview
Output Printer,e-mail, …
Transfer SAP FI/CO
Extraction BIContent
ConnectNon-SAPsystems
Inputprocessing
Billing Outputprocessing
The billing process consists of three steps:Input processingBillingOutput processing
Billingdue list
Billingdocuments
During input processing, CRM Billing takes over billing-relevant items from different business transactions and saves them as billing due list items.
As of CRM Release 5.0, you can use an external interface to copy data from non-SAP systems to the CRM Billing due list. It supports the following formats:
IDoc; XML SOAP via HTTP; XML via SAP NetWeaver Exchange Infrastructure
For more information, see the documentation for function module CRMXIF_BEA_DL_CRMB_SAVE.
If possible during billing, the system groups related billing due list items from different CRM business transactions into a joint billing document. The billing due list can process due list items as part of an individual billing or as part of collective billing. It is also possible to perform the execution in the background.
Output processing consists of invoice output, the transfer to SAP Financials, and retrieval in SAP BW. The output is performed using SAP Smart Forms. The posting of billing data takes place either in SAP FI-AR or in SAP FI-CA. CRM Billing provides all relevant billing data for statistical reports (BI Content).
© SAP AG TCRM20 8-9
SAP AG 2008
Input Processing
Billing due list is created
Billing-relevant business transactions ortransaction items
ContractsService confirmationsDeliveriesOrders…
The billing due list items contain all the data neededfor billing
Automatic
When you save a business transaction in which at least one item is relevant to billing, the system automatically transfers the data from this billing request item to the billing due list in CRM Billing.
CRM Billing uses the data from Customizing to determine the item category in CRM Billing for the transferred data record. When the system cannot determine an item category (if, for example, the item category determination is not set up completely), the system has to reject the transferred data record because billing is not possible without the item categories (the billing due list is incomplete).
CRM Billing saves all successfully processed and completed data as billing due list items.
You can search for billing due list items using various selection criteria.
You can display the details of each billing due list item.
There are two ways of setting a billing block:
You give the business transaction item billing block status.
The billing item category is blocked for billing by the corresponding indicator.
© SAP AG TCRM20 8-10
SAP AG 2008
Billing Process
Billing MethodsIndividual billing (dialog)
Collective billing (dialog)
Collective billing (background)
Collective billing (job-controlled)
Order DeliveryBilling document splitInvoices
Invoices
DeliveryMerging
Sales
ServiceInvoices
You can use copying requirements to control the conditions under which a transaction's item are billed.
As a sub process of general billing, CRM Billing transfers billing due list items to billing document items and assigns these to the billing document headers. Therefore, billing documents (for example, invoices, credit memos and debit memos) are created from items which come from a wide range of CRM business transactions.
Split criteria in billing document header data includes the billing unit, payer, bill-to-party, billing document type, billing date, terms of payment and the Split Criteria field. You can also influence the split criteria using the copying requirements. To do so, follow the Customizing path: SAP Implementation Guide → Customer Relationship Management → Billing → Define Copying Requirements.
© SAP AG TCRM20 8-11
SAP AG 2008
Billing Documents
Paid party Billing typeBilling dateBilling unit…
Header data
Item dataProductQuantityPrices and conditionsSold-to party…
Billing documents are not exchanged between the CRM and ERP systems.
As long as the invoices have not been transferred to accounting, you can make certain changes to the invoices (such as changing the value date, the prices and texts).
CRM invoices generate the sales data for the rebate.
You can cancel individual billing documents and also execute collective cancellations. The system transfers cancellation information to financial accounting automatically.
© SAP AG TCRM20 8-12
SAP AG 2008
Billing Execution
CRM WebClient UITransactions billed manually
SAP GUIVariants for collective billing run
Billing of individual transaction items
We recommend that you perform billing using the CRM WebClient UI. There are several user roles that contain a billing work center. In the screenshot on the slide above, the work center has been activated for the SERVICEPRO user role.
Perform billing in the SAP GUI if
You are using variants to perform collective billing. Variants are a group of predefined selection criteria for billing.
You want to bill individual transaction items (for example, a monthly invoice from a service order).
© SAP AG TCRM20 8-13
SAP AG 2008
Output Processing
_ _ _ __ _ _ __ _ _ __ _ _ _
Output Transfer Extraction Connect
ERP BIExternal Interface(XIF Adapter)
Output processing in CRM Billing aids the transfer of follow-up applications and SAP tools with billing document data and is split into the following processes: Output of invoicing documents through different output media (for example, printer, fax, e-mail or
external output management systems)
Transfer of billing data to a range of SAP ERP accounting applications
Provision of data for SAP Business Information Warehouse (SAP BI)
Connection of any non-SAP application to the external interface of CRM Billing – You can find more information about connection under Interfaces for connecting to external systems.
CRM Billing allows you to issue invoices in the following output methods: printer, fax, e-mail, archive, and external printing channels (via the XML interface in CRM Billing).
Smart Forms process the invoice in the layout you require. The formation of a specific invoice depends on the billing type of the corresponding action (for example invoices, credit memos, debit memos or cancellation documents).
You can monitor the transfer to accounting (status; error handling).
You can carry out the transfer to accounting separately (at a later point in time).
You can set up account determination either simply or flexibly (condition technique).
© SAP AG TCRM20 8-14
SAP AG 2008
Billing Option: Billing Plans
Periodic billing(for example, contracts)
January 1 2 3 4
5 6 7 8 9 10 1112 13 14 15 16 17 1819 20 21 22 23 24 2526 27 28 29 30 3131
February 1 2 3 4
5 6 7 8 9 10 1112 13 14 15 16 17 1819 20 21 22 23 24 2526 27 2828
March 1 2 3 4
5 6 7 8 9 10 1112 13 14 15 16 17 1819 20 21 22 23 24 2526 27 28 29 30 3131
EUR 740.00 EUR 740.00 EUR 740.00
Milestone billing(for example, projects)
January 11 2 3 4
5 6 7 8 9 10 1112 13 14 15 16 17 1819 20 21 22 23 24 2526 27 28 29 30 31
March 1 2 3 4
5 6 7 8 9 10 1112 13 14 1515 16 17 1819 20 21 22 23 24 2526 27 28
May 1 2 3 4
5 6 7 8 9 10 1112 13 14 15 16 17 1819 20 21 22 23 24 2526 27 28 29 30 3131
20% = EUR 100.00 40% = EUR 200.00 40% = EUR 200.00
Payer
Billing plan procedure + Transaction type/item category ⇒ Billing plan type
The billing plan specifies when a certain amount is invoiced. Service contracts and leasing scenarios in particular use billing plans.
As of CRM 5.0, it is also possible to map usage-based billing. Billing plans are also used in this case.
You set up billing plan types and billing plan determination in Customizing:
SAP Implementation Guide → Customer Relationship Management → Transactions → Basic Settings → Billing Plan
© SAP AG TCRM20 8-15
SAP AG 2008
Customizing Organizational Data
BUSales Organization 1
Sales Organization 2
Sales Organization 3
Service organization BU
Company Code 1
Company Code 2
SAP Reference IMG
Customer Relationship Management
Master Data
Organizational Management
Cross-System Assignments ...
Billing-specific assignments of organizational units
The billing unit (BU) is a CRM business partner that has the role Billing Unit. For more information, see the IMG documentation: SAP Implementation Guide → Customer Relationship Management → Billing → Define Billing
Organizational Unit
The billing unit can be defined separately and independently of the sales or service organization.
You can assign more than one sales organization to a billing unit (cross-sales organization billing)
Billing units are assigned uniquely to company codes.
© SAP AG TCRM20 8-16
SAP AG 2008
Billing Document Customizing: Unit Summary
SAP Reference IMG
Customer Relationship Management
BillingDefine number ranges
Define billing-relevance of the business transaction items
Define billing types
Define item categories
Define item category determination
Billing document-specific Customizing settings
In order to use all CRM Billing functions, you must maintain all the activities in the Implementation Guide under the Billing node. To find the billing node, choose the following path in the Implementation Guide (transaction SPRO): Customer Relationship Management → Billing.
Under Define Billing Types, determine the billing types for CRM Billing. A billing type specifies a billing document's characteristics and properties. The billing type attributes determine how the system behaves during billing.
Under Define Billing Item Categories , enter the item categories for CRM Billing. The item category determines the properties and characteristics of the billing due list items and the billing items. The item category attributes specify how the system behaves during input processing and billing.
Under Item Category Determination, make the settings for item category determination in CRM Billing. Item category determination is used to define the item category for CRM Billing using data from CRM business transactions. There are two ways of doing this:
In the Assign Item Categories activity, you can assign the item category in CRM Billing to a specific combination of transaction type (process type of source application) and an item category of the relevant CRM business transaction.
© SAP AG TCRM20 8-17
SAP AG 2008
Example: Customizing of the Service Confirmation
Service (SRVP)
Service part (SRVM)
Service order (SRVO)
Expense (SRVE)
Service (SVCP*)
Service part (SVCM*)
Confirmation (SRVC)
Expense (SVCE*)
Item category determination (for billing):Source transaction type + Source item type Billing item category
SRVC + SVCP SCNSRVC + SVCM SCNSRVC + SVCE SCN
* = Relevant for billing
Billing Customizing
Item categories (for billing):Details of item type SCN (extract)
- Billing type F2SV- Billing block
Billing types (for billing):Details of the billing type F2SV (Extract)
- Number range- Pricing procedure
Account
AccountPricing procedure
This slide shows extracts from standard SAP CRM Customizing. The example shows the confirmation of a service order with three typical items that are not relevant for billing. A confirmation transaction is created with other item types as a follow-up transaction.
In the example, the (transaction) item types of the confirmation are set as relevant for billing. In standard systems, the billing relevance is set to Transaction-related billing after completion. In this situation, it is necessary to complete the confirmation and the service order for billing. You also then use the Release for Billing function. If the billing relevance is set to Order-related billing acc. to order quantity, the billing due list is created when the confirmation is completed.
In billing Customizing, the "determination" is set by the billing item categories. In the example, item category SCN is determined.
If required, an enhanced item category determination can be set up in Customizing.
The default value for the billing type is stored in the details of billing item category SCN. This is F2SV in the example.
Note that the contents of the pricing procedure of the transaction to be billed must match the pricing procedure of the billing type (ideally they should be the same). You can ensure that this is the case by setting the "Copy Pricing Procedure" indicator for the billing type. If you do this, you do not have to assign a pricing procedure to the billing type.
© SAP AG TCRM20 8-18
SAP AG 2008
Example: Customizing of a Delivery-Related Sales Order
Sales (TAN*)
Sales Order/CRM (TA)
Delivery item (TAN)
Delivery/ERP (LF)
Item category determination (for billing):Source transaction type + Source item type Billing item category
TA + TAN TANDLF + TAN TAN
* = Relevant for billing
Billing Customizing
Item categories (for billing):Details of item type TAND (extract)
- Dependent item
Item categories (for billing):Details of item type TAN (extract)
- Billing type F2- Billing block
Account
Prices/Partners
Business partners
Quantities/Weights
The example on this slide and the next illustrates a distribution-relevant CRM sales order (the replicated ERP sales order is not shown on this page) with delivery processing in the ERP system. Billing takes place in the CRM system. Note: The transaction types and transaction item categories that are shown here are different from those in standard systems.
The transaction item category of the CRM sales order is set a relevant for (CRM) billing. Standard CRM systems contain the billing relevancies Delivery-Related Billing [F] and Delivery-Related Billing – No Zero Quantities [G].
In this situation, an invoice requires two entries in billing item category determination. Note that the (first) billing item category that is found and which is generated by the CRM order item is flagged as a dependent item. This billing due list item cannot be selected in the billing due list.
After successful delivery processing (and goods issue posting), a second billing due list item is generated which may then be invoiced.
Note that the price determination settings and price conditions must be maintained in CRM when delivery-related CRM Billing is used.
© SAP AG TCRM20 8-19
SAP AG 2008
Billing Due List During Delivery-Related CRM Billing
Sales (TAN) Delivery item(TAN)
Delivery/ERP (LF)
Delivery-relatedbilling (F/G)
Sales Order/CRM (TA)
Sales (TAN)Delivery-relatedCRM Billing (Q/R)
Sales Order/ERP (TA)
Billing due list item 1
TAND
Billing due list item 2
TAN
Account
Prices/Partners
Account Business partners
Quantities/Weights
The CRM sales order displayed above generates a (first) billing due list item. After further processing in the ERP system, delivery processing generates a second billing due list item.
When you set the Dependent Item indicator in Customizing for CRM Billing, you can define billing item categories so that the billing due list items which they contain from the data transfer are dependent on another business transaction. Only the data of this business transaction that is transferred later can be billed. So, for example, order item TAND is a dependent item which cannot be selected in the billing due list. If the delivery occurs in the ERP system and delivery item TAN is transferred to CRM Billing, item TAN can be billed.
Note: A special setting can be made to change the underlying system configuration of CRM. This setting is from Service Parts Management (SPM) and there are certain minimum system requirements for its use. When this setting is made, new sales orders are no longer transferred from SAP CRM to SAP ECC. Instead, unchecked deliveries are created immediately in SAP ECC. An unchecked delivery is a delivery document that contains requested delivery dates and quantities that were transferred from the sales order. In a subsequent program run in the background, SAP ECC converts the unchecked deliveries into checked deliveries.
© SAP AG TCRM20 8-20
SAP AG 2008
Additional Customizing Settings
Additional Customizing Settings: "Services"SAP Reference IMG
Customer Relationship Management
Basic FunctionsPricing
Partner determination
Text determination
Integration Settings
SAP Reference IMG
Customer Relationship Management
Billing
IntegrationTransfer to accounting
Transfer to Global Trade Services (GTS)
In service-related Customizing, you make settings for the services in CRM Billing: pricing, partner processing, text processing, and action processing.
Under integration-related Customizing, you make settings for integrating billing with accounting applications. Settings regarding document types, accounts and tax codes for accounting documents are made here.
© SAP AG TCRM20 8-21
SAP AG 2008
Configuring the Billing Application
Enhanced item category determinationEnhanced account determinationXIF connection to input processingIntegration with Contract Accounting (FI-CA)Supplementary invoiceIntercompany billingMulti-level intercompany billingInvoice split using conditionsGTS integrationBilling correctionRetroactive billingCountry-specific functions
You can adjust the billing application
The billing engine framework enables you to adjust the CRM Billing invoice application flexibly.
For details of the additional functions in the context of CRM Billing, see
SAP Implementation Guide → Customer Relationship Management → Billing → Configure Application
© SAP AG TCRM20 8-22
SAP AG 2008
CRM Billing: Unit Summary
You are now able to:
Explain the document flow in SAP CRM
Create and describe billing documents
Name the Customizing settings relevant for CRM Billing
© SAP AG TCRM20 8-23
Exercises
Unit: CRM Billing Topic: Creating Billing Documents
At the conclusion of this exercise, you will be able to:
• Understand the organizational units needed for billing and the assignments of these units
• Work with the billing due list and create individual billing documents
• Carry out certain necessary Customizing settings to set up CRM Billing
You want to settle sales and service transactions with CRM Billing and so you want to familiarize yourself with this application.
1-1 Relevant Organizational Data for CRM Billing.
1-1-1 Check if one or more billing units exist in the CRM system. Make a note of the IDs/numbers.
Search for accounts that have the role Billing Unit.
1-1-2 Check Customizing to see which of these billing units was assigned to the sales organization Sales US.
1-1-3 Check Customizing to see which company code is assigned to the billing unit.
© SAP AG TCRM20 8-24
1-2 Create a new order of the type Sales Transaction (ZSAL) for the customer ##Megastore and the product HT-1000 (1 piece) then maintain it in the ERP system.
1-2-1 Create the order in the CRM system and check whether it was transferred to the ERP system.
Save the order and note the number.
__________________ [→ Data sheet]
1-2-2 Call the ERP system and perform the following logistical follow-up functions.
a) Deliver your order.
SAP Menu → Logistics → Sales and Distribution → Shipping and Transportation → Outbound Delivery → Create → Single Document → With Reference to Sales Order
Make a note of the delivery number.
_____________ [→ Data sheet]
b) Pick the outbound delivery.
SAP Easy Access Menu → Logistics → Sales and Distribution → Shipping and Transportation → Picking→ Create Transfer Document → Single Document
Alternative access from the delivery itself: Menu: Subsequent Functions → Picking
Note the delivery number if it has not yet taken place.
_____________ [→ Data sheet]
1-2-3 Check the CRM system to see whether your transaction is in the billing due list.
1-2-4 Post the goods issue for your outbound delivery in the ERP system.
1-2-5 Check the CRM system again to see whether your transaction is in the billing due list.
1-2-6 Create a billing document for your entry/transaction.
_____________ [→ Data sheet]
1-2-7 Are accounting documents generated in the ERP system?
_________________________________
© SAP AG TCRM20 8-25
1-3 Check the relevant Customizing for CRM Billing.
1-3-1 Check the Billing-relevance indicator for the item category ZSAL (which was determined in your transaction).
______________
1-3-2 Find out which item category for billing is assigned to your source process category LF (Delivery) in source item category ZSAL.
______________
1-3-3 Take a look at the details for this item category. What billing type is used by default? Do billing due list items need to be released before they can be billed?
© SAP AG TCRM20 8-26
© SAP AG TCRM20 8-27
Alternative Service Scenario: Exercises
1-1 Relevant organizational data for CRM Billing.
1-1-1 Check if one or more billing units exist in the CRM system. Make a note of the IDs/numbers.
Search for accounts that have the role Billing Unit.
1-1-2 Check Customizing to see which of these billing units is assigned to the sales organization Sales US.
1-1-3 Check Customizing to see which company code is assigned to the billing unit.
1-2 Create a service confirmation of the type Confirmation (ZSEC) for customer ##Megastore with product SRV1_4 (2 AU) and the executing service employee Lou Windham. Enter a duration of 60 minutes.
1-2-1 Create the confirmation in the CRM system and complete it by setting the relevant status.
Save the confirmation and note the number.
__________________ [→ Data sheet]
1-2-2 Create a billing document for your confirmation.
1-2-3 Are accounting documents generated in the SAP ERP system?
_________________________________
1-3 Check the relevant Customizing for CRM Billing.
1-3-1 Check the Billing-relevance indicator for the item category SVCP (which was determined in your transaction).
______________
1-3-2 Find out which item category for billing is assigned to your source transaction category ZSEC (Confirmation) and source item category SVCP.
______________
1-3-3 Take a look at the details for this item category. What billing type is used by default? Do billing due list items need to be released before they can be billed?
© SAP AG TCRM20 8-28
© SAP AG TCRM20 8-29
Solutions
Unit: CRM Billing Topic: Creating Billing Documents
1-1 Relevant Organizational Data for CRM Billing.
1-1-1 Check if one or more billing units exist in the CRM system. Make a note of the IDs/numbers.
Choose Account Management.
Choose Search → Accounts.
Role is: Billing Unit
Choose Search (ENTER).
If your search is successful:
Numbers of the billing units:
407491, 401013, 400021, 408800, 33, 405890, 406383 and possibly others also.
1-1-2 Check Customizing to see which of these billing units was assigned to the sales organization Sales US.
SAP Implementation Guide → Customer Relationship Management → Master Data → Organizational Management → Cross-System Assignment of Organizational Units → Assign Billing Units to Sales Organizations
Billing Unit 33 is assigned to sales organization O 50000609 (Sales US).
1-1-3 Check Customizing to see which company code is assigned to the billing unit.
SAP Implementation Guide → Customer Relationship Management → Master Data → Organizational Management → Cross-System Assignment of Organizational Units → Assign Company Codes to Billing Units
Company Code 3000 is assigned to Billing unit 33.
© SAP AG TCRM20 8-30
1-2 Create a new order of the type Sales Transaction (ZSAL) for the customer ##Megastore and the product HT-1000 (1 piece) then maintain it in the ERP system.
1-2-1 Create the order in the CRM system and check whether it was transferred to the ERP system.
Choose Sales Cycle.
Choose Create → Sales Order.
Choose Sales Process.
Sold-To Party: ##Megastore.
External Reference: Billing##
Product ID: HT-1000
Quantity: 1
Save the order and note the number.
__________________ [→ Data sheet]
1-2-2 Call the ERP system and perform the following logistical follow-up functions.
a) Deliver your order.
SAP Menu → Logistics → Sales and Distribution → Shipping and Transportation → Outbound Delivery → Create → Single Document → With Reference to Sales Order Shipping point: 3800
Selection date: <one week from today>
Order: <Your order number>
Choose Continue ( ).
Save the outbound delivery.
___________ [→ Data sheet]
b) Pick the outbound delivery.
SAP Easy Access Menu → Logistics → Sales and Distribution → Shipping and Transportation → Picking→ Create Transfer Document → Single Document Warehouse Number: 038.
Delivery: <Your delivery number>
Foreground/Background: Background
Adopt Pick Quantity: 1
Choose Continue ( ).
The transfer order is created.
© SAP AG TCRM20 8-31
1-2-3 Check the CRM system to see whether your transaction is in the billing due list.
In the CRM WebClient UI:
Choose Billing.
Choose Search → Billing Due List Items.
Sold-To Party ID: <Number of your sold-to party>
Choose Search.
There is no entry for your process because goods issue for the outbound delivery has not yet been posted.
1-2-4 Post the goods issue for your outbound delivery in the ERP system.
SAP Easy Access Menu → Logistics → Sales and Distribution → Shipping and Transportation → Outbound Delivery → Change → Single Document Delivery: <Your delivery number>
Without going to the details of the delivery you choose Post Goods Issue.
1-2-5 Check the CRM system again to see whether your transaction is in the billing due list.
Choose Billing.
Choose Search → Billing Due List Items.
Sold-To Party ID: <Number of your sold-to party>
Choose Search.
Now there will be an entry with your delivery number.
1-2-6 Create a billing document for your entry/transaction.
Select the line ( ) with your entry.
Choose Individual Billing.
Choose Continue.
Choose Save.
_____________ [→ Data sheet]
1-2-7 Are accounting documents generated in the ERP system?
Yes, accounting documents are generated automatically in this situation. Use the hyperlink in the billing due list to go to the details of the billing document that you have just created.
Alternatively choose Billing followed by Search→ Billing Documents.
In the details of the billing document, an Accounting document entry is displayed in the Follow-Up Transactions assignment block.
Choose the hyperlink and, if necessary, log on with the user data of the ERP system.
© SAP AG TCRM20 8-32
1-3 Check the relevant Customizing for CRM Billing.
1-3-1 Check the Billing-relevance indicator for the item category ZSAL (which was determined in your transaction).
______________
SAP Implementation Guide → Customer Relationship Management → Billing → Define Billing Relevance of Item Categories
Go to item category ZSAL.
Billing relevance: Delivery-Related CRM Billing.
The corresponding ERP item type in the sales order as billing relevance Q (delivery-related CRM billing).
© SAP AG TCRM20 8-33
1-3-2 Find out which item category for billing is assigned to your source process category LF (Delivery) in ERP and source item category ZSAL.
SAP Implementation Guide → Customer Relationship Management → Billing → Item Category Determination → Assign Item Categories
Choose CRMB (CRM Billing).
Go to the line with Source Process Category LF and Source Item Category ZSAL.
Billing item category ZDEL is assigned.
1-3-3 Take a look at the details for this item category. What billing type is used by default? Do billing due list items need to be released before they can be billed?
SAP Implementation Guide → Customer Relationship Management → Billing → Define Billing Item Categories
Choose CRMB (CRM Billing).
Take a look at the details for item category ZDEL ( ).
The billing type Invoice (F2) is the default value.
The billing block indicator is not set; in other words, invoices do not have to be released.
© SAP AG TCRM20 8-34
© SAP AG TCRM20 8-35
Alternative Service Scenario: Solutions
1-1 Relevant organizational data for CRM Billing.
1-1-1 Check if one or more billing units exist in the CRM system. Make a note of the numbers.
Choose Accounts & Products.
Choose Search → Accounts.
Role is: Billing Unit
Choose Search (ENTER).
If your search is successful:
Numbers of the billing units:
407491, 401013, 400021, 408800, 33, 405890, 406383 and possibly others also.
1-1-2 In Customizing, find out which of these billing units is assigned to the sales organization Sales US.
SAP Implementation Guide → Customer Relationship Management → Master Data → Organizational Management → Cross-System Assignment of Organizational Units → Assign Billing Units to Sales Organizations
Billing Unit 33 is assigned to sales organization O 50000609 (Sales US).
1-1-3 Check Customizing to see which company code is assigned to the billing unit.
SAP Implementation Guide → Customer Relationship Management → Master Data → Organizational Management → Cross-System Assignment of Organizational Units → Assign Company Codes to Billing Units
Company Code 3000 is assigned to Billing unit 33.
© SAP AG TCRM20 8-36
1-2 Create a service confirmation of the type Confirmation (ZSEC) for customer ##Megastore with product SRV1_4 (2 AU) and the executing service employee Lou Windham. Enter a duration of 60 minutes.
1-2-1 Create the confirmation in the CRM system and complete it by setting the relevant status.
Choose Service Orders.
Choose Create → Service Confirmation.
Choose Confirmation.
Description: CRM Billing ##
Executing Service Employee: 400440 (Lou Windham)
Sold-To Party: Number of ##Megastore
Product ID: SRV1_4
Quantity: 2 (AU)
Choose edit item ( ) and enter an Actual Duration of 60 Minutes.
Choose Back.
Choose the status Completed.
Choose Save.
__________________ [→ Data sheet]
1-2-2 Create a billing document for your confirmation.
Choose Basic Functions.
Choose Search → Billing Due List Items.
Sold-To Party ID: <Number of your sold-to party>
Choose Search.
Select the line ( ) with your entry.
Choose Individual Billing.
Choose Continue.
Choose Save.
_____________ [→ Data sheet]
1-2-3 Are accounting documents generated in the ERP system?
Yes, accounting documents are generated automatically in this situation. Use the hyperlink in the billing due list to go to the details of the billing document that you have just created.
Alternatively choose Billing followed by Search→ Billing Documents.
In the details of the billing document, an Accounting document entry is displayed in the Follow-Up Transactions assignment block.
Choose the hyperlink and, if necessary, log on with the user data of the ERP system.
© SAP AG TCRM20 8-37
1-3 Check the relevant Customizing for CRM Billing.
1-3-1 Check the Billing-relevance indicator for the item category SVCP (which was determined in your transaction).
SAP Implementation Guide → Customer Relationship Management → Billing → Define Billing Relevance of Item Categories
Go to item category SVCP.
Billing relevance: Transaction-Related billing According to Order Quantity
1-3-2 Find out which item category for billing is assigned to your source process category ZSEC (Confirmation) and source item category SVCP.
SAP Implementation Guide → Customer Relationship Management → Billing → Item Category Determination → Assign Item Categories
Choose CRMB (CRM Billing).
Go to the line with Source Process Category ZSEC and Source Item Category SVCP.
Billing item category SCN is assigned.
1-3-3 Take a look at the details for this item category. What billing type is used by default? Do billing due list items need to be released before they can be billed?
SAP Implementation Guide → Customer Relationship Management → Billing → Define Billing Item Categories
Choose CRMB (CRM Billing).
Take a look at the details for item category SCN ( ).
The billing type Invoice Service Transaction (ZFSE) is the default value.
The Billing Block indicator is not set; in other words, invoices do not have to be released.
© SAP AG TCRM20 8-38
© SAP AG TCRM20 9-1
SAP AG 2008
Section: CRM Middleware
CRM MiddlewareCRM Middleware
© SAP AG TCRM20 9-2
SAP AG 2008
CRM Middleware – Section Outline
Units:
1. Data Exchange with ERP Backend
2. Data Exchange with Third-Party Back End
3. The BW (BI) Adapter (Overview)
4. CRM Middleware Operations
5. The Groupware Adapter (Overview)
© SAP AG TCRM20 10-1
SAP AG 2008
Data Exchange with R/3 Backend
Data Exchange with R/3 Backend
Data Exchange with R/3 Backend
Introduction
Customizing & Condition Synchronization
Load R/3 CRM
Load CRM R/3
© SAP AG TCRM20 10-2
SAP AG 2008
Data Exchange with R/3: Unit Objectives
At the conclusion of this unit, you will be able to:Describe the synchronization scenarios for Customizing dataDescribe the synchronization scenarios for Business data and forConditions.Start data flow with CRM Middleware
© SAP AG TCRM20 10-3
SAP AG 2008
CRM Server Architecture
CRM Server
SAP Web Application Server
CRM Middleware(main part)
CRM Server Applications• Interaction Center• Internet Sales• Marketing Planning and Campaign
Management• ...
Business Objects• Product• Business Partner • Business Transaction• ...
BW Adapter*
CRM Adapter CRM Adapter (Validation(Validation
Service)Service)
XIF Adapter(XML / IDoc)
ASCII Adapter
R/3 Adapter*R/3 Adapter*
Mobile Client Adapter
* R/3 and BW are the CRM adapter names and the names used through out CRM help and this class. Technically the current system names for these products are SAP ERP an SAP BI.
CRM Database
The data exchange between the CRM System and external systems is performed via CRM Middleware Adapters. The adapters map and convert data between various formats.
For Data Exchange with SAP Backend-Systems a R/3 Adapter is part of the CRM Middleware. The data exchange to the SAP backend is based on qRFC. The R/3 Adapter converts the data into the CRM Data Container, the Business Document (BDoc).
The CRM System supports the handling of CRM business objects, like customers and prospects, activities and opportunities, products and product catalogs in a variety of CRM components like Internet Sales, Internet Service, Interaction Center, Telesales, Campaign Management and various others. The CRM Server Applications exchange data with the CRM Middleware via the CRM Adapter.
The SAP NetWeaver Application Server is the successor to the SAP Basis System. The kernel release used with CRM 5.0 is 7.00.
© SAP AG TCRM20 10-4
SAP AG 2008
Message Flow Overview
ExternalSystem
CRM
CRM Database
InboundAdapter
InboundMessage Flow
Validation Service
CRM-Application
OutboundMessage Flow
Data Container
Service 1
Service n
...
mBDoc
OutboundAdapter
ExternalSystem
Data Container
CRM Data Container Outbound-Interface
Inbound-Interface
mBDoc
mBDoc
Inbound processing: Incoming data of different formats, that is, BAPI structures from a SAP R/3 Backend, synchronization BDoc messages, XML/SOAP or IDocs, are converted into messaging BDoc messages.
Validation: the integrity of incoming data is validated by the respective application. In case of a successful validation, the data unit is passed on to outbound processing. In case the incoming data is not valid, the BDoc message will remain in the message flow with an error status.
Outbound processing: the receiving systems, for example, SAP R/3 Backend, external systems or Mobile Clients, are determined. Then the BDoc message is passed to the corresponding outbound adapter, which converts the message into the data formats of the receivers.
© SAP AG TCRM20 10-5
SAP AG 2008
CRM SAP System
Message Flow for SAP R/3 Backend
CRM Database
R/3Adapter
InboundMessage Flow
Validation Service
CRM-Application
OutboundMessage Flow
BAPIMTCS
Service 1
Service n
...
mBDoc
R/3Adapter
mBDoc
Outbound-Interface
Inbound-Interface
BAPIMTCS
R/3
Plu
g-In
mBDoc
CR
M M
iddl
ewar
e
The data exchange via the CRM Middleware requires that an R/3 Plug-In is installed on SAP R/3. Note: New and extended interfaces for integrating SAP R/3, SAP R/3 Enterprise, and SAP ERP Central Component (SAP ECC) will no longer be delivered with their own add-on (SAP R/3 Plug-In). As of SAP ECC 6.0, they will be contained directly in SAP ECC.PI 2004.1 is therefore the final separate delivered SAP R/3 Plug-In release.
The SAP R/3 Backend (one or several SAP R/3 Backends) serves as
Provider for customizing and business data (master data, transaction data)
Receiver of business data for further execution (currently primarily with mySAP Financials and mySAP SCM for accounting and logistics execution)
The CRM release 5.0 can be used as a stand-alone system, that means that R/3 Backend is no longer required for the execution of CRM-related tasks.
In CRM, the R/3 Adapter communicates with the R/3 System via remote enabled functions of the R/3 Plug-In.
© SAP AG TCRM20 10-6
SAP AG 2008
SAP R/31. Check assigned logical
system name2. Create/Check RFC destination 3. Maintain table CRMRFCPAR4. Maintain table CRMCONSUM
CRM1. Check assigned logical
system name2. Create/Check RFC destination 3. Create/Check Site-Definition4. Maintain table CRMCONSUM
SAP CRM SAP R/3
Connection: CRM – SAP R/3
R3 Site
RFC-Destination
RFC-Destination
CRMRFCPAR
Consumer ‘EXT’ = ‘active’ Consumer ‘CRM’ = ‘active’
Communication between CRM System and R/3 System is based on Remote Function Call (RFC). On the R/3 side, you have to create an RFC Destination to the CRM system. Then activate CRM as consumer in table CRMCONSUM and maintain the table CRMRFCPAR. Through this table, the determination of the RFC destinations for the data transfer is connected with the consumer, client, object name and transfer type. For example, you can send data to a consumer in an initial download only, and not in a delta download.
In the CRM system, you have to create an RFC Destination to the R/3 backend and a R/3 Site with the tool Administration Console. The R/3 Site references the RFC-Destination. Activate R/3 OLTP as consumer in table CRMCONSUM.
© SAP AG TCRM20 10-7
SAP AG 2008
R/3 Site in Administration Console
11
Choose Object Type
Choose Display22
Context Menu ‚Display‘
33Site Details
SMOEAC
Connection to R/3 Backend
The Administration Console may be accessed via the menu: Architecture and Technology → Middleware → Administration → Administration Console (or via the transaction SMOEAC).
The following steps are required to check a site within the Administration Console:
Choose Object Type Site
Choose Icon ‘Display’
Expand node ‘R/3’
Mark Site and choose Context Menu ‘Display’ or use double click to navigate to the detail view
To find out the RFC Destination, choose icon ‘Site Attribute’.
© SAP AG TCRM20 10-8
The following steps are required to create a new site.
Create / Check the RFC-Destination to the R/3 System with transaction SM59. Test the Connection and ensure, the RFC User in R/3 System has appropriate authorizations.
Create Site in Administration Console:
- Select the Create button.
- Provide the site details, such as: site name and a site description, select the site type R/3
- Specify the site attributes depending on the site type, for example, an RFC destination for R/3 Backends.
- Finish the creation process by choosing the Save button.
There are two SAP roles that specify the authorization to create or maintain objects within the Administration Console:
role SAP_CRM_MWAC_ADMINISTRATOR for employees, sites, organizational units and subscriptions and
role SAP_CRM_MWAC_CUSTOMIZER for replication objects and publications
© SAP AG TCRM20 10-9
SAP AG 2008
Sites are administered via the Administration Console (transaction SMOEAC)
Creation of an R/3 site:Choose type R/3
Site attributes for R/3 sites
RFC – Destination logical system R/3 release
Site Attributes for R/3 Site
must be entered
manually
automaticallydetermined
automaticallydetermined
R/3 Sites are determined by an RFC destination, a logical system, and the release of the R/3 Backend.
Four steps are required to create a new site.
Find out name of RFC Destination to R/3 System and test the destination. Create a new destination if necessary.
Start Administration Console and select the Create button.
Provide the site details, such as
- A site name and a site description,
- Select the site type R/3 Backend,
- Specify the site attributes depending on the site type, for example, an RFC destination for R/3 Backends.
Finish the creation process by choosing the Save button.
There are two SAP roles that specify the authorization to create or maintain objects within the Administration Console:
role SAP_CRM_MWAC_ADMINISTRATOR for employees, sites, organizational units and subscriptions and
role SAP_CRM_MWAC_CUSTOMIZER for replication objects and publications
© SAP AG TCRM20 10-10
SAP AG 2008
Customizing Synchronization
Data Exchange with R/3 Backend
Data Exchange with R/3 Backend
Introduction
Customizing & Condition Synchronization
Load R/3 CRM
Load CRM R/3
Initial Load R/3 CRM
© SAP AG TCRM20 10-11
SAP AG 2008
Initial R/3 to CRM Load of Customizing Data
R/3
R/3 Table
Generic Extractor
CRS_FIRST_DOWNLOAD_TRIGGER
CRM
CRM Table
R3AS: Start Initial Loadfor Customizing Adapter Object
R/3-Adapter
Mapping FMqRFC
qRFC1 2
3
4
BAPIMTCS
For several Customizing Objects, there is a predefined data transfer from R/3 to CRM available, even if the structure of the Customizing tables are different in R/3 and CRM. The data of one or more database tables are grouped in Customizing Adapter Objects. The data of a Customizing Adapter Object can be transferred from R/3 to CRM system with an initial load. Within this section, the Customizing Adapter Object will be explained in detail.
You can use the download monitor (transaction R3AM1) to control the initial load.
Example: Customizing Adapter Object DNL_CUST_KTOKD
R/3 Table T077D and T077X
CRM Table CRMC_T077D and CRMC_T077x,
Mapping Function Module CRM_BUPA_MAP_KTOKD_CI.
R/3: CRMSUBTAB: Name of the generic Extractor for Objects of Object class CUSTOMIZING: CRS_CUSTOMIZING_EXTRACT
© SAP AG TCRM20 10-12
SAP AG 2008
Customizing Adapter Object (1)
R/3 Tables
FilterCriteria
R3AC3
1
Use Architecture and Technology → Middleware → Data Exchange → Object Management → Customizing Objects or Transaction R3AC3 to display Customizing Adapter Objects in CRM.
All Customizing Adapter Objects are assigned to Object Class CUSTOMIZING.
In the Initial Flow Contexts tab, you find the supported CRM Middleware Flow Context with source and target Sites.
In the Tables/Structures tab, you find the names of the database tables to be selected in source system.
To create filter criteria, choose the Icon Filter Settings in tab Tables/Structures. The next graphic explains how to create filter criteria.
© SAP AG TCRM20 10-13
SAP AG 2008
Customizing Adapter Object (2)
R/3 Site
Table fields as filter criteria
Filter Option
R3AC3
1
Specify the R/3 Site. The site has to be created beforehand in the Administration Console (SMOEAC), because the corresponding RFC destination will be used for synchronization.
Specify the table fields for the where clause within the data extractor in R/3.
Specify the Filter Options (Options: Filter in source and target database, filter only in target database, filter only in source database).
Save the Filter criteria. The Filter criteria will be automaticaly synchronized with R/3.
© SAP AG TCRM20 10-14
SAP AG 2008
Customizing Adapter Object (3)
Mapping Function Module
1
The Customizing data is transported to the CRM System via qRFC in generic structure BAPIMTCS. The Mapping Function Module maps this data to the structure of the CRM table and updates the CRM Table.
There is no MBDoc created and no Message Flow started.
© SAP AG TCRM20 10-15
SAP AG 2008
Finding the Adapter Object Involved: SE16 on table SMOFTABLES
1. Find table in ERP for the Associated data (“F1 on the field). ( in this case via customizing search for “terms of payment”) Find Table = T052
2. In CRM access table “SMOFTABLES”. Search for entries via the field “R3TABNAME” This table has all the adapter objects and the sending and receiving table names.
Find: Adapter Object = DNL_CUST_PRICE
3. Execute the load or “request*” for this object, using transaction R3AS.
Sometimes it’s a “V”_iew, requiring another click for more details.
The load of a BP from R/3 to CRM failed due to missing “Terms of payment”. Now what do I?
Customizing tables do not always have SAP supplied adapter objects. For example the regions table does not have a supplied customizing object.
You can build your own adapter object to transfer data if you feel it is necessary. In your exercise you will transfer a custom table with a customized adapter object not supplied by SAP.
Using Best Practices, a list of adapters and when to execute them is provided.
In our training system, the ERP system has a payment term Z500. Z500 is not yet in the CRM system. Using a search for Terms of payment in transaction SPRO this can be shown. Please let your instructor demo the execution of the Initial Down Load of payment terms to pass this customizing data to CRM, using transaction R3AS.
In addition to the missing “terms of payment z500” , you will have an exercise to find the adapter object for “Academic Titles”
© SAP AG TCRM20 10-16
SAP AG 2008
Inbound and Outbound Queues for Customizing Adapter Objects
R/3
R/3 Table
GenericExtractor
CRM
CRM Table
R3AS: Start Initial Load
R/3-Adapter
Mapping FM
qRFC
qRFC
OutboundQueueR3AI*
InboundQueueR3AI*
CRS_FIRST_DOWNLOAD_TRIGGEROutboundQueueR3AI*Registration in
Outbound Scheduler(SMQS)
Registration in Inbound Scheduler(SMQR) Registration in
Outbound Scheduler(SMQS)
2
When you start an initial load with transaction R3AS for a specific customizing adapter object, the data request is sent from the CRM system to the R/3 Backend via qRFC.
The naming convention for the qRFC queues used in initial load is R3AI_<Customizing Adapter Object> (R3A: R/3 Adapter; I: initial Load)
Runtime behavior:
You start the Initial Load for single Customizing Adapter Object in CRM System via transaction R3AS
The started report transfers the data request to the R/3 system. The RFC Destination of the corresponding R/3 Site is used for the data transfer. For Customizing Data the data request contains the names of the R/3 Customizing Tables and the filter conditions
Within R/3 the generic extractor for Customizing data selects the database tables assigned to the Customizing Adapter Object and triggers the data transfer per qRFC.
The data is transferred to the CRM Server via qRFC (function module BAPI_CRM_SAVE)
The R/3 Adapter converts the data to the structure of the CRM customizing table and stores the data to the database.
© SAP AG TCRM20 10-17
SAP AG 2008
qRFC Outbound Queue Monitoring: SMQ1
If errors occur on the remote system, the outbound queue entriesremain in the sender system and can be administered here
SMQ1
QueueDetails
To access the Outbound Queue Monitor, go to Middleware -> Monitoring -> Queues -> Display Outbound RFC Queues or use transaction SMQ1.
Although the LUWs belonging to a queue are stored in the tRFC tables ARFCSSTATE and ARFCSDATA, you cannot maintain or display these LUWs using tRFC monitoring (Transaction SM58). You must use the outbound queue administration transaction SMQ1.
The outbound queue data (queue attributes and pointers to the relevant LUWs in the tRFC tables) is stored in table TRFCQOUT, which you can display and maintain using Transaction SMQ1. The following functions are available:
List queues
Display queues, including a list of associated LUWs and function modules (with input data)
Start/stop transmitting the queues
Delete queues or queue entries (Warning: deleting queues might cause inconsistencies)
If an error occurs in an LUW on the remote receiver system, the function modules of the queue entries are rolled back there. The relevant LUW and all of the other LUWs in the queue remain in the queue and in the tRFC tables on the sender system. After correcting the error, you can use Transaction SMQ1 to transmit the LUW of the queue again (via Edit → Execute LUW).
You find detail information about qRFC status in note 378903.
© SAP AG TCRM20 10-18
SAP AG 2008
qRFC Inbound Queue Monitoring: SMQ2
SMQ2
QueueDetails
To access the Inbound Queue Monitor, go to Middleware -> Monitoring -> Queues -> Display Inbound RFC Queues or use transaction SMQ2.
The LUWs belonging to a queue are stored in the tRFC tables TRFCQIN, TRFCQSTATE and TRFCQDATA. However, you cannot maintain or display these LUWs using tRFC monitoring (Transaction SM58). You must use the inbound queue administration transaction SMQ2.
The inbound queue data (queue attributes + pointers to the relevant LUWs in the tRFC tables) are stored in table TRFCQIN. The status you can find in table TRFCQSTATE, the data in table TRFCQDATA. You can display and maintain the inbound qRFC using Transaction SMQ2. The following functions are available:
List queue
Display queues with a list of accompanying LUWs and function modules including input data
Start/stop transmitting the queues
Delete queues or queue entries (Warning: deleting queues might cause inconsistencies)
If an error occurs in a LUW, the function modules of the queue entries are rolled back there. The relevant LUW and all dependent other LUWs in the queue remain in the queue and in the inbound qRFC tables. After correcting the error, you can use Transaction SMQ2 to transmit the LUW of the queue again.
You find detail information about qRFC status in note 378903.
© SAP AG TCRM20 10-19
SAP AG 2008
R/3
Generic Extractor for Customizing Data
R/3 Table
Generic Extractor
CRS_FIRST_DOWNLOAD_TRIGGER
CRM
CRM Table
R3AS: Start Initial Loadfor CustomizingAdapter Object
R/3-Adapter
Mapping FMqRFC
qRFC
BAPIMTCS
PlugIn
3
You find the name of the generic Extractor in table CRMSUBTAB:
Start transaction SM30 in R/3.
Choose table CRMSUBTAB.
Search for Object Class CUSTOMIZING and Download.
The Function module CRS_CUSTOMIZING_EXTRACT is assigned in column Function Name.
CRM will store the name of the customizing tables assigned to the customizing adapter object to the generic extractor. The generic extractor checks the filter criteria and selects the data from the customizing tables. The data will be converted to transfer structure BAPIMTCS. This data package will be transferred per qRFC to the R/3 Adapter of CRM.
© SAP AG TCRM20 10-20
SAP AG 2008
Inbound Processing in CRM System
R/3
R/3 Table
Generic Extractor
CRS_FIRST_DOWNLOAD_TRIGGER
CRM
CRM Table
R3AS: Start Initial Loadfor CustomizingAdapter Object
R/3-Adapter
Mapping FMqRFC
qRFC
BAPIMTCS
4
The R/3 Adapter calls the Mapping Function Module for the specific Customizing Adapter Object and passes the data container to the function module. The Mapping Function Module converts the BAPIMTCS data into the structure of the CRM customizing tables and updates the tables. The mapping rules are implemented within the Mapping Function Module.
© SAP AG TCRM20 10-21
SAP AG 2008
Transferring Conditions: I
Conditions are used in sales and billing and tax processing.
Examples of Condition types include: Gross Price “PR00” or Customer Discount “K007”.
The conditions are stored in Condition Tables, for example table “007” .
In the exercise, you entered a value for condition type K007 for your customer in this table!
The pricing or billing or tax determination process works by “accessing” these tables looking for the appropriate condition types and their values. For example:
Is there a discount for Product “X” and Customer “Y” ? Is there a “loyalty” discount for the customer “Y” ? Should they be combined?
Best Practice Building Block: CRM Master and Transaction Data Replication (C03) has extensive information on conditions.
To view the ERPP condition table customizing use transaction “V/05”.
For more information about the Customizing download of the condition technique, see SAP Help Portal under SAP Customer Relationship Management -> Components and Functions -> Basic Functions -> Pricing -> Data Exchange for Conditions.
© SAP AG TCRM20 10-22
SAP AG 2008
Transferring Conditions: II
Pricing is one of the hardest configuration areas in ERP or CRM.
The Condition Types, the Searching Rules (access Sequences) and Pricing & Tax Determination Procedures are 100% customizable.
Customizing
Access SequencesPricing Procedures
Condition Types
Master DataValues for Condition Types
by key combination:BP X for Product Y in Sales
ORG S = Price 10
Example: DNL_CUST_CND_PR **
Adapter Object
Condition tables (with the master data) have object names, each beginning with DNL_COND.
Example: DNL_CND_A007
Both Customizing and Master data for conditions are classified under“Condition Objects”
** Other adapter objects for customizing conditions also apply as the condition technique is used for much more than just Pricing (PR). For example CUSTOMIZING OBJECTS INCLUE:
DNL_CUST_BON (Rebate usage: rebate agreement types, condition maintenance groups)
DNL_CUST_CAD (Campaign determination usage: condition type list, exclusion groups)
DNL_CUST_CND (Rebate, campaign determination, free goods, pricing, and product determination usages: maintenance control, metadata condition tables, access sequences, condition types)
DNL_CUST_CNDALL (Rebate, campaign determination, free goods, pricing, and product determination usages: maintenance control, metadata condition tables, access sequences, condition types, procedures, exclusion groups, pricing element upper/lower limits)
DNL_CUST_CND_BO (Rebate usage: maintenance control, metadata condition tables)
© SAP AG TCRM20 10-23
DNL_CUST_CND_CD (Campaign determination usage: maintenance control, metadata condition tables, access sequences, condition types)
DNL_CUST_CND_FG (Free goods usage: maintenance control, metadata condition tables, access sequences, condition types)
DNL_CUST_CND_PD (Product determination usage: maintenance control, metadata condition tables, access sequences, condition types)
DNL_CUST_CND_PR (Pricing and rebate usages: maintenance control, metadata condition tables, access sequences, condition types)
DNL_CUST_FGD (Free goods usage: procedures, exclusion groups)
DNL_CUST_PDD (Product determination usage: procedures, exclusion groups, product substitution: reason)
DNL_CUST_PRC (Pricing and rebate usages: procedures, exclusion groups, upper/lower limits for pricing elements)
For the actual condition types and their values (Master Data), condition tables have object names, each beginning with DNL_COND.
Not all of the condition tables have download objects. You can create new objects with transaction R3AC5.
© SAP AG TCRM20 10-24
SAP AG 2008
Initial Load R/3 to CRM
Data Exchange with R/3 Backend
Data Exchange with R/3 Backend
Introduction
Customizing & Condition Synchronization
Load R/3 CRM
Load CRM R/3
Initial Load R/3 CRM
Delta Load R/3 CRM
© SAP AG TCRM20 10-25
SAP AG 2008
Data Exchange Between an R/3-Backend and CRM
CRM R/3
Initial Load and Delta Load controlled byObject Management
Load Objects can be exchanged between a source and a target system, for example, between an SAP R/3 Backend and the CRM Server. Examples are business partner master data and product master data. They are grouped as follows:
Business objects
Customizing objects
Condition objects
The objects are stored in the table SMOFOBJECT.
Please consider that the question of which objects are loaded to which target systems depends on the business process and has to be defined for each application. Generally, Initial Loads and Delta Loads may be performed from R/3 to CRM and vice-versa.
© SAP AG TCRM20 10-26
SAP AG 2008
Initial Load R/3 to CRM for Business Data
R/3
R/3 Tables
Specific Extractor
CRS_FIRST_DOWNLOAD_TRIGGER
CRM
CRM Database
R3AS: Start Initial Loadfor BusinessAdapter Object
R/3 InboundAdapter
InboundMessageFlow
qRFC
qRFC
Validation ServiceCRM-Application
3
4
2
5
OutboundMessageFlow
BAPIMTCS
mBDoc
1
The data flow for initial download consists of the following steps: - With the CRM transaction R3AS, an initial download trigger is raised. - The RFCs are queued and processed in a sequence (dependent or independent objects).
- In the back-end system, a function module call (object specific extractor module call) is used to extract the requested data.
- A BAPIMTCS data container is created with the selected data to be sent to the CRM Middleware server.
- The data is transferred to the CRM System using qRFC.
- In the R/3 Adapter, the data is mapped to a mBDoc and then passed to the Inbound Message Flow.
- The inbound message flow triggers the validation service. The data is passed through the CRM Adapter to the CRM Application. The CRM Application validates the data and updates the relevant CRM database tables. After successful validation, the outbound message flow is triggered.
For information about initial download performance, see SAP Note 350176.
© SAP AG TCRM20 10-27
SAP AG 2008
Business Adapter Objects (1)
Flow ContextMI0 for
InboundMessage Flow
Source Site Type
Target Site Type
R3AC1
1
You can display and maintain Business Adapter Objects with transaction R3AC1.
In Initial Flow Contexts tab, you find the supported source and target site types and the corresponding Flow Context.
© SAP AG TCRM20 10-28
SAP AG 2008
Business Adapter Objects (2)
R3AC1
1
In Tables/Structures Within Object tab, you find the names of the R/3 tables used by the extractor.
© SAP AG TCRM20 10-29
SAP AG 2008
Business Adapter Objects (3)
Source Site R/3
Filter Option
Filter Criteria
R3AC1
1
Filter options are set in the CRM system and allow the filtering of business objects in the source system only, in the target system only or in both the source and the target system. However, business data is usually filtered in the source system to reduce the amount of data transmitted from R/3. In this case, the filter criteria is applied before the data is sent to the CRM Server.
Purpose:
Reduce the data volume between the R/3 Backend and the CRM Server
Keep the R/3 specific data within the R/3 Backend
Filter settings are part of customizing the system.
The transaction to specify the filter criteria can be found under: Middleware B Data Exchange B Object Management B Business Object (transaction R3AC1). Choose a business object and Filter Settings tab. You can use all predefined fields (stored in table SMOFFILFLD) .
Saving a filter entry triggers the automatic transfer to the Plug-In in R/3. The CRM system uses the RFC destination of the corresponding Site. Therefore a site to R/3 has to be maintained first (transaction SMOEAC). Filter settings are stored in table SMOFFILTAB and refer to table fields. Within R/3 the filter settings are stored to database table CRMFILTAB.
The filters are also available for Delta Loads (R/3 Backend to the CRM Server).
© SAP AG TCRM20 10-30
SAP AG 2008
Business Adapter Objects (4)
R3AC1
1
In Mapping Modules: R/3 to CRM tab, you find the function module that converts the BAPIMTCS data into a messaging BDoc.
© SAP AG TCRM20 10-31
SAP AG 2008
Inbound and Outbound Queues for Business Adapter Objects
R/3
R/3 Table
SpecificExtractor
CRMR3AS: Start Initial Load
R/3-Adapter
qRFC
qRFC
OutboundQueueR3AI*
InboundQueueR3AI*
CRS_FIRST_DOWNLOAD_TRIGGEROutboundQueueR3AI*
InboundMessageFlow
mBDoc
Registration in Inbound Scheduler(SMQR)
2
The data transport is based on qRFC technology. The naming convention for the qRFC queues used in initial load is R3AI_<Business Adapter Object> (R3A: R/3 Adapter; I: initial Load)
The specific extractor for business data selects the database tables assigned to the Business Adapter Object and triggers the data transfer per qRFC.
© SAP AG TCRM20 10-32
SAP AG 2008
R/3 (Plug-In): Object Specific Extractor
R/3
R/3 Tables
Specific Extractor
CRS_FIRST_DOWNLOAD_TRIGGER
CRMR3AS: Start Initial Loadfor Business Adapter Object
R/3-Adapter
qRFC
qRFC
BAPIMTCS
PlugIn
InboundMessageFlow
mBDoc
3
You find the name of the object specific extractor in table CRMSUBTAB in R/3.
© SAP AG TCRM20 10-33
SAP AG 2008
R/3 Inbound Adapter
R/3
R/3 Tables
Specific Extractor
CRS_FIRST_DOWNLOAD_TRIGGER
CRMR3AS: Start Initial Loadfor BusinessAdapter Object
R/3 InboundAdapter
InboundMessageFlow
qRFC
qRFC
BAPIMTCS
mBDoc
ConvertsBAPIMTCS tomBDoc and
starts Inbound Flow
4
The R/3 Inbound Adapter creates a messaging BDoc and converts the data from BAPIMTCS data container into the mBDoc structure. Then the Inbound Message Flow starts.
© SAP AG TCRM20 10-34
SAP AG 2008
BDocs: Messaging BDoc Types (1)
mBDoc
/1CRMG0/CRMW_BUPA_HEAD002
BUS_EI_MAIN
Messaging BDoc Types
mBDoc types consist of two partsClassical part
Hierarchical segment structure
Modeled with the BDoc Modeler
Generated structure
Contains data relevant for receiver determination
Extension part
Complex data type
Modeled with DDIC (SE11)
Contains the transaction data
4
A messaging BDoc consists of up to two parts: Part 1: classical part
This part is mandatory.
The classical part consists of a BDoc header and segments, which may be arranged in a hierarchical fashion. The segments of the classical part are not mapped to database tables.
This part is to be modeled with the BDoc Modeler (SBDM).
Only the classical part is used to determine the receivers of mBDoc messages.
Part 2: Extension part
This part is optional.
The complex data type is modeled with the Data Repository Tools (SE11).
The extension does only exist for messaging BDocs.
The extension part is used to hold delta or extract data intended to pass into the CRM Server application (inbound case) or to send to remote systems (outbound case).
The extension part cannot be used for receiver determination.
When replicating data (for example, from CRM to R/3), a messaging BDoc type is like an envelope, with data inside the envelope (Extension part) which CRM middleware cannot access, and data on the envelope (classical part), which the CRM middleware can access. Each application uses different address information, so that, for example, sales orders can be routed according to the sales organization to different back-end systems.
© SAP AG TCRM20 10-35
SAP AG 2008
BDocs: Messaging BDoc Types (2)
Messaging BDoc Types (continued)
Two simple replication types are supportedSimple intelligent replication = by definition of replication rules
Simple bulk replication = everybody gets all or nothing
No storing of the replicated objects status
No realignment supported (data cannot be redistributed here)
No dependencies supported
4
Replication characteristics are consistent with the transient nature of the mBDoc, that is, only the whole BDoc can be either distributed to all possible recipients (bulk replication) or to a few of them (simple intelligent replication). It is not possible to select certain parts of the mBDoc for replication and exclude others as is the case for sBDocs that are designed for the mobile world. In the mobile world, there is a large number of databases so that more sophisticated data distribution techniques - such as realignment - are useful. This is not valid for the data exchange for messaging BDocs; because of the simple replication, no distribution data are stored in tables and therefore, a realignment for messaging BDocs is not possible.
© SAP AG TCRM20 10-36
SAP AG 2008
BDoc Modeler: Transaction SBDM
BDocs: Exploring a BDoc Type
SBDM
Segment Structureof BDoc type BUPA_MAINwith header segment fields
4
The BDoc Modeler (SBDM) is a tool used for displaying, creating, and enhancing BDoc types. The existing BDoc types are listed in the BDoc overview (navigation tree) of the BDoc Modeler. Here you can select and expand a BDoc type to display its structure. The structure shows the hierarchy of the data segments.
Note that the definition and enhancement of BDoc types require knowledge of the application. The CRM Middleware does not have the business logic to create or enhance BDocs. From this point of view, it is just a data container to transport and process BDoc messages.
BDoc modeling features:
Modeling of messaging BDoc types
Assignment of one or more synchronization BDocs type to a messaging BDoc type (n:1 relationship)
Assignment of site types (see Data Exchange unit) to synchronization and messaging BDoc types
© SAP AG TCRM20 10-37
SAP AG 2008
Flow Context for Inbound Message Flow: MI0
CRM Database
R/3-InboundAdapter
Inbound Message Flow
CRM-Application
FlowContext
MI0
Validation Service 0001
BAPIMTCS
Outbound Message Flow
FlowContext
MO1
Call Outbound Adapter 0002
mBDoc
Simple Replication Service 0001
5
For the inbound message flow, there is only one service available: the validation service. We will explain the concept of flow context in detail with the outbound message flow.
You find the name of the validation function module per mBDoc Type in transaction SMW3FDIF.
For example: For mBDoc BUPA_MAIN the validation service is implemented with function module CRM_BUPA_MAIN_VAL
After successful validation, the middleware starts the corresponding outbound message flow with flow context MO1 or MO2 in case of mass processing. Usually the flow context MO1 contains the following services:
Simple Replication Service: This service is looking for valid receivers interested in the data. The configuration of subscriptions is explained in detail in Business Data Upload section.
Call Outbound Adapters
© SAP AG TCRM20 10-38
SAP AG 2008
View Flow Contexts
SMO8FD
Flow Context
Service in a Flow Context
5
The available flow contexts for a BDoc Type may be viewed via the transaction Middleware → Message Flow → Display and Check Flow Definitions (SMO8FD).
Each flow context consists of a sequence of services (function modules).
The messaging flow context:
MI0 Validate (MI: Messaging flow Inbound): Synchronization inbound flow, XML adapter and R/3 adapter pass data to the CRM database. For initial load from SAP R/3, the validate method is called before the notification method.
© SAP AG TCRM20 10-39
SAP AG 2008
Select the objects to be loaded from the R/3 backend or from theCRM database
Select the source and target sites
Start the initial load
Starting the Initial Load
The transaction to start the Initial Load can be found under: Middleware → Data Exchange → Initial Load → Start (R3AS).
If the initial load does not finish successfully, consult SAP Note 443900, which gives useful advice for a general error analysis.
© SAP AG TCRM20 10-40
SAP AG 2008
Monitoring the Initial Load
Monitoring tools:
Monitoring Initial Load: R3AM1
qRFC-Monitoring: Outbound Queue Scheduler: SMQS
Outbound Queue: SMQ1
Inbound Queue Scheduler: SMQR
Inbound Queue: SMQ2
BDoc Monitoring:
BDoc Datails: SMW01
BDoc Summary: SMW02
Middleware Trace: SMWT
Middleware Monitoring Cockpit: SMWP
To monitor the initial load call: Middleware → Data Exchange → Initial Load → Monitor Objects (R3AM1).
The data sent from SAP R/3 can be found in the inbound queue in the CRM Server (transaction code SMQ2). The data will only be saved in the outbound queue in SAP R/3 if the connection has been interrupted or the parameters have been set specifically to do this (transaction code SMQ1).
The Middleware Trace Monitor is a tool to track message flows, record events from this and provide information for evaluation. It can be accessed either from transaction Display BDoc Messages (SMW01), through menu path Middleware → Monitoring → Message Flow → Display Middleware Trace or directly with Transaction SMWT.
You may also use the Middleware Monitoring Cockpit to view the status of Initial Loads. The Middleware Monitoring Cockpit can be accessed via Middleware → Monitoring → Central Monitoring → Monitoring Cockpit (SMWP).
© SAP AG TCRM20 10-41
SAP AG 2008
Display BDoc Message Summary
You can use this function to display BDoc messages in an aggregated view on the basis of various criteria.
From the aggregated view, you can call up the individualdisplay of BDoc messages by choosing a BDoc Type.
SMW02
There is also an overview function of BDoc messages: Middleware → Monitoring → Message Flow → Display BDoc Message Summary (Transaction SMW02). A list of BDoc messages aggregated according to BDoc types and message status displays. The Counter column displays the number of messages.
© SAP AG TCRM20 10-42
SAP AG 2008
Display BDoc Message
Select a BDoc message
Display MW Trace
Display the classical part
Display the data part
Display the Errors
SMW01
Load & Request
Display Neighbours
Trouble-shooting
The function Display BDoc Messages lists all BDoc messages (transaction SMW01: Middleware → Monitoring → Message Flow). It displays:
The BDoc ID and BDoc type, the BDoc state, the flow context, the queue name, and the date and time when the BDoc message was sent.
The flow control trace, the data and error segments, the service in which the error occurred (last service reached), and the recipient list.
As of CRM 5.0: the associated Loads and Requests, the neighbour objects (parent BDoc message, child BDoc message, return-to-sender confirmation BDoc message) and troubleshooting (SAP Help documentation related to BDoc types in specific status and context)
Successfully processed messages appear with a green light, those still in progress appear with a yellow light, and those with a terminal error condition appear with a red light.
If a message is in process and does not get processed within a reasonable amount of time, it is possible to restart the message, view the message content, or discard the message. A BDoc message may be processed in one of the following ways:
Mark as deleted (Deleting BDoc messages can cause data inconsistencies)
Retry processing
© SAP AG TCRM20 10-43
SAP AG 2008
Display BDoc Messages classical/extension part (important information for error handling)
Display BDoc Details
SMW01
The function Display BDoc Messages allows the display of the content of the individual BDoc messages that sometimes could be essential for error handling.
You can select this screen with:
SMW01 → select relevant a mBDoc message → select extended data → click on the table icon of results → choose shift F7 (first icon in the pushbutton bar)
SMW01 → select relevant a sBDoc message → select classical data → click on the table icon of results → choose shift F7 (first icon in the pushbutton bar)
© SAP AG TCRM20 10-44
SAP AG 2008
Performance Issues: Initial Load
CRM Server SAP Backend
1
2
3
Start initial load / DataExtraction when backend
system load is low
Use parallel processing, depending on system load
on CRM Server
Take system load of CRM Server for inbound
processing into account
Detailed information about the parallel processing of the initial download can be found in the best practices document mySAP CRM Initial Download configuration and SAP Note 350176. Parallel processing is also possible for the initial data load from/to SAP BW and non-SAP systems.
© SAP AG TCRM20 10-45
SAP AG 2008
Delta Load R/3 to CRM
Data Exchange with R/3 Backend
Data Exchange with R/3 Backend
Introduction
Customizing & Condition Synchronization
Load R/3 CRM
Initial Load R/3 CRM
Delta Load R/3 CRM
Load CRM R/3
© SAP AG TCRM20 10-46
SAP AG 2008
Delta Load R/3 to CRM: Data Flow
R/3
R/3 Tables
Business TransactionEvent
CRM
CRM Database
R/3 InboundAdapter
InboundMessageFlow
qRFC
Validation ServiceCRM-Application
1
2
OutboundMessageFlow
BAPIMTCS
mBDoc
Change BusinessData
NotificationService
3
4
5
The delta loads allow a continuous synchronization of predefined adapter objects (except customizing data) between R/3 backends and the CRM server, that means that data updates are sent to the CRM Server immediately. Received data is processed automatically. qRFC is used for the serialization.
The delta load is activated after a successful initial load.
More information about the general analysis of the delta load from the R/3 Backend to the CRM server consult SAP Note 430980. To analyze the Delta Load from the CRM Server to the R/3 Backend, refer to SAP Note 431345.
The data flow is best explained through an example (changing customer master data):
After changing and saving a customer or contact within the R/3 dialog program, the business transaction event 1321 is raised.
The complex data structure is then translated into BAPIMTCS structures. The filter deletes all data that do not comply to the filter conditions maintained within CRM transaction R3AC1. Afterwards, the logical destination is determined from the customizing table CRMRFCPAR.
An outbound queue in R/3 with the queue name R3AD_* is created. Next the outbound scheduler sends the LUW data to the qRFC inbound queue of the CRM system.
The R/3 adapter in CRM maps the BAPIMTCS structures into an mBDoc.
The MW Flow calls the validation service. It looks in table SMW3BDOCIF for the application function module that validates and saves the BDoc data. Example, for BUPA_MAIN the validation function is CRM_BUPA_MAIN_VAL.
© SAP AG TCRM20 10-47
SAP AG 2008
R/3
PlugIn
Object Classes
R/3 Tables
Business TransactionEvent (Implementation)
CRM
Object class
BAPIMTCS
Online Transaction:Create / Change Business DataBusiness
TransactionEvents
Business Adapter Objects
ReplicateActivationof BTEs
The object class controls the activation and deactivation of delta loads for groups of Business Adapter Objects. The Business Adapter Objects can be assigned to an object class. Additionally, names of Business Transaction Event (BTE) are assigned to the object class.
You can maintain object classes in transaction R3AC4.
The implementation of the Business Transaction Events is part of the R/3 Plug-In.
If a BTE is activated in R/3, the program to maintain Business Data will trigger the BTE when updating a database table. The BTE converts the data into BAPIMTCS structure.
You can see which BTEs are available in table TBE31 in R/3. This table can be accessed through transaction FIBF. Go to Environment -> Info system (P/S)-> SAP Applications.
You can check, whether the BTEs are activated for a single application in table TBE11. Choose transaction FIBF Environment-> Identification -> SAP Applications. CRM Extractors are usually assigned to application BC-MID.
You can deactivate Delta Load on Adapter Object Level in table CRMRFCPAR in R/3 Backend.
© SAP AG TCRM20 10-48
SAP AG 2008
Activating the Delta Load
R3AC4
Business Transaction Events per
Object Class
Starting an Initial Load from an R/3 Back-End activates the Delta Load in the R/3 Plug-In (BTEs)
The delta load is automatically activated after a successful initial load. You can check the activated BTEs in R/3 with transaction SM30 in the database table TBE31.
Manual (de)activation of BTEs is possible with the transaction: Middleware → Data Exchange → Delta Load from R/3 Back-End → Set Up Delta Load (R3AC4) in the CRM system.
Sometimes it can make sense to activate the delta load for certain objects without having performed an initial load first. For an Internet Sales scenario, for example, it may not always be necessary to load already processed sales orders from an R/3 backend to the CRM server. In this case, it is sufficient to manually activate the delta load for sales orders.
Deactivation of the delta load for an object class will be automatically synchronized with R/3 backend.
© SAP AG TCRM20 10-49
SAP AG 2008
Delta Load R/3 to CRM: Data Transfer per qRFC
R/3
R/3 Tables
BusinessTransactionEvent
CRM
R/3-Adapter
qRFC OutboundQueueR3AD*
InboundQueueR3AD*
InboundMessageFlow
mBDoc
Queue naming convention: R3AD_<obj_name part><ID part>
Registration in Inbound Scheduler(SMQR)
During an initial load, all delta messages are collected by stopping the delta queues. This ensures that all delta messages that are created during the initial load are not lost and that the order in which they occur remains the same.
After a successful initial load, the stopped delta queues will be released so that the delta messages can be processed. Note that this also guarantees that the CRM Server receives delta messages only for business objects, which have been loaded to the CRM Server before.
© SAP AG TCRM20 10-50
SAP AG 2008
Delta Load R/3 to CRM: Mass Update
R/3
R/3 tables
BusinessTransactionEvent
CRM
R/3 Adapter
qRFC
OutboundqueueMASS_CRM_*
InboundqueueMASS_CRM_*
Inboundmessageflow
mBDoc
Queue naming convention: MASS_CRM_*
Report CRM0_BUNDLE_AND_START_QUEUES
InboundqueueR3AD*
What is mass data? Mass data is created, for example
If a field must be changed in all business partners.
If all pricing conditions are updated.
If all material master records are updated to the most recent status.
Up to now, in these cases, individual delta outputs were sent from the ERP back end to the CRM system in a remote function call (RFC) and processed there separately.
The concept of mass data processing works as follows:
After you implement a change in the ERP back end, the data is first collected in mass queues in the ERP back end (queue name: MASS_CRM_*).
The data is bundled using the CRM0_BUNDLE_AND_START_QUEUES report and is placed in inbound queues on the CRM system via RFC (MASS_CRM_*).
When the mass queues are processed in CRM, the data is placed in delta queues (R3AD*) either individually or in blocks, depending on the requirements of the respective application.
Subsequent processing occurs in the application.
Initial loads and data requests are not affected by this concept.
© SAP AG TCRM20 10-51
SAP AG 2008
SAP R/31. Maintain table CRMOBJHIER 2. Maintain table CRMMASSUPD for
each adapter object3. Start Report
CRM0_BUNDLE_AND_START_QUEUES
CRM1. Maintain table CRMOBJHIER 2. Maintain table CRMMASSUPD for
each adapter object3. Use R3AC1 or R3AC5 to activate
Mass Update (tab “block processing”)
4. Register MASS* queues with SMQR
SAP CRM SAP R/3
CRMOBJHIER
Customizing Mass Data Processing
CRMOBJHIER
R/3 Plug-In
CRMMASSUPD CRMMASSUPD
CRMMASSUPD_CUSR3AC5
Replicateactivationof block
processing
R3AC1
The function is delivered in CRM 5.0 as 'Cannot be Activated'; in the ERP back end, the necessary changes are contained in PI_BASIS 2005.1 Support Package 5 or PI 2004.1 Support Package 10.
Step 1.: Maintain the CRMOBJECTHIER table in the CRM system and in the ERP back-end system.
Step 2.: Modify the CRMMASSUPD table (for each object adapter) toallow activation --> see the application notes for further information. The change must be implemented in both CRM and in the ERP back end.
Step 3.: Use Transaction R3AC1 or R3AC5 to activate mass data processing in the CRM system.
Step 4.: In the CRM system, you must register the MASS* inbound queue in Transaction SMQR.
Step 5.: After you execute the data changes in the ERP back end, you must start the CRM0_BUNDLE_AND_START_QUEUES report to send the data to the CRM system. You can also schedule this report as a background job.
Note:
Entries in the CRMMASSUPD table must be synchronous in CRM and in the ERP back end.
Entries in CRMOBJECTHIER must be synchronous in CRM and in the ERP back end --> There must be entries for interdependencies (see the application-specific notes)
Entries in CRMMASSUPD_CUS must be synchronous in CRM and in the ERP back end. You can use the 'Synchronize' button in Transactions R3AC1 and R3AC5 (in the CRM system) to do this.
More information can be found in SAP Note 802804
© SAP AG TCRM20 10-52
SAP AG 2008
Data Load CRM to R/3
Data Exchange with R/3 Backend
Data Exchange with R/3 Backend
Introduction
Customizing Synchronization
Load R/3 CRM
Load CRM R/3
Initial Load CRM->R/3
Delta Load CRM->R/3
© SAP AG TCRM20 10-53
SAP AG 2008
Data Exchange from CRM to R/3-Back-End
CRM R/3
Delta Load controlled by Administration Console
Initial Load controlledby ObjectManagement and Administration Console
Load Objects can be exchanged between a source and a target system, for example, between an SAP R/3 Backend and the CRM Server. Examples are business partner master data, orders, and product master data. They are grouped as follows:
Business objects
Customizing objects
Condition objects
The objects are stored in the table SMOFOBJECT.
Please consider that the question of which objects are loaded to which target systems depends on the business process and has to be defined for each application. Generally speaking, initial loads and delta loads may be performed from R/3 to CRM and vice-versa (and CRM to CDB in case of a mobile scenario). Examples:
Conditions will only be loaded from the R/3 Backend to the CRM Server.
Sales orders will usually be loaded from CRM Server to R/3 Backend for further execution. There is no initial load, only a delta load.
The delta load from the CRM Server to the R/3 Backend is defined via the assignment of R/3 sites to subscriptions.
© SAP AG TCRM20 10-54
SAP AG 2008
Outbound Message Flow
CRM
CRM Database
R/3 OutboundAdapter
CRM-Application
Outbound Message Flow
FlowContextMO*
CRMAdapter
mBDoc
mBDoc
Call Outbound Adapter 0002
Simple Replication Service 0001
The simple replication service determines which systems should receive the message. This could be one or more R/3 or non-SAP systems.
© SAP AG TCRM20 10-55
SAP AG 2008
Initial Load CRM to R/3
Data Exchange with R/3 Backend
Data Exchange with R/3 Backend
Introduction
Customizing Synchronization
Load R/3 CRM
Load CRM R/3
Initial Load CRM->R/3
Delta Load CRM->R/3
© SAP AG TCRM20 10-56
SAP AG 2008
Business Adapter Objects
Source Site Type: CRM
Target Site Type: R/3
R3AC1
MappingModule CRM
to R/3
Flow Context: MO4
You can display Business Adapter Objects with transaction R3AC1. The upload scenario is supported for a Business Adapter Object, if there is an initial flow context available with CRM as source site type and R/3 as target site type. The corresponding flow context is MO4.
In Mapping Modules CRM to R/3 tab, you find the function module used for the transformation of the business data to the BAPIMTCS data container.
© SAP AG TCRM20 10-57
SAP AG 2008
CRM
Initial load CRM to R/3: Data Extract in CRM System
CRM Database
CRM-Application:specific Extractor
OutboundMessage Flow
FlowContextMO4
AdaptermBDoc
2
R3AS: Start Initial Loadfor BusinessAdapter Object
CRS_FIRST_DOWNLOAD_TRIGGER
qRFC
qRFC
3
BAPIIDLIST
QueueCRI_*R3AI
QueueR3AI*
1
Registration in Inbound Scheduler(SMQR)
You start the initial upload with transaction R3AS. Choose the business adapter object, CRM as source Site type and R/3 as target Site type: The Report for the initial load calls the function module CRS_FIRST_DOWNLOAD_TRIGGER per qRFC. The nameconvention for the Queue is R3AI*
The function module CRS_FIRST_DOWNLOAD_TRIGGER calls the Business Adapter Object specific Extractor. You can find out the name of the extractor from customizing table CRMSUBTAB. Search for consumer EXT and the name of the Adapter object in column OBJNAME.
The Extractor function module selects the GUIDs of the relevant data and transfers the List of the IDs per qRFC to the Adapter. The name convention for the Queue is CRI*R3AI.
As next step the BDocs are created and passed to the Outbound Message Flow.
© SAP AG TCRM20 10-58
SAP AG 2008
Initial load CRM to R/3: Data Flow
R/3
R/3 Tables
Object SpecificFunction Module
CRM
R/3 OutboundAdapter 5
OutboundMessage Flow
FlowContextMO4
mBDoc
AdaptermBDoc
CRM_UPLOAD_TRIGGER
4
BAPIMTCS
qRFC
Outb. QueueCRI*R3AU
6
You start the initial upload with transaction R3AS. Choose the business adapter object, CRM as source Site type and R/3 as target Site type: Within the Outbound message flow, the flow context MO4 controls the services to be called.
The R/3 Outbound Adapter converts the BDoc to the BAPIMTCS structure and transfers the data per qRFC to the SAP Receiver. The nameconvention of the Queue is CRI*R3AU
In the target system the function module CRM_UPLOAD_TRIGGER controlls the inbound processing. CRMSUBTAB contains the object specific function module.
Storage of object references and record based key assignment.
Error-free rollback in case of program abort or repeated data sending of identical data by checking the reference ID before creating the data on R/3 database.
© SAP AG TCRM20 10-59
SAP AG 2008
Initial load CRM to R/3 : Data Flow Acknowledgement
R/3
R/3 Tables
Object SpecificFunction Module
CRM
R/3 OutboundAdapter
OutboundMessageFlow
Flow ContextMO4
CRM_UPLOAD_TRIGGER
R/3 InboundAdapter
BAPIMTCS
qRFC
7
The object specific Function Module recognizes whether the same data has already been created by checking table CRMKEY. So unnecessary updates in the Backend can be provided. The Function module writes the data to the database (a delta event for the reply message will be automatically triggered).
A delta load message with the message ID, the status and error messages is created and send back to the CRM system.
© SAP AG TCRM20 10-60
SAP AG 2008
Table lookup
Found (BDoc type, Context)?
Yes: Done ☺
No: table lookup
Found (BDoc type, Context)?
Yes: Done ☺
No: table lookup (Context)
Customer EnhancementsCustomer Enhancements
SAP StandardSAP Standard
Customizing the Outbound Processing
SMW3FDSTDBDoc type independent
Flow DefinitionsMO1,2,4
SMW3FDBDOCBDoc type dependent
Flow DefinitionsE.g., WB_BLOB_LD_WRITE
SMW3FDCUSTCustomer enhancementsMOA,B
Processing order:
The messaging flow contexts: MO1 Notification (MO: Messaging flow Outbound): Delta distribution of one instance to subscribed sites and additional consumers such as BW adapter or mobile bridge triggered by CRM Server Application.
MO2 Notification (multiple): Delta distribution of more than one instance (multiple case) to subscribed sites and additional consumers such as the BW adapter.
MO4 Initial Load CRM → R/3: Data extract starting at Admin. Console (from CRM to external sites R/3, XIF, Groupware Adapter).
Table SMW3FDSTD contains the SAP standard flow definitions in the form of flow contexts. The SAP standard flow definitions are controlled by context entries in the BDoc type-specific and customer-specific tables. Table SMW3FDBDOC contains flow definitions that are BDoc type-specific but not customer-specific. If you want to override the standard flow, make the same entries for the same contexts as in the standard flow table SMWFDSTD. Table SMW3FDCUST contains the customer-specific and BDoc-specific flow definitions in the form of flow contexts. These entries override the BDoc type-specific flow and the standard flow. Additional definitions (for example, for the validation service, can be found in table SMW3BDOCIF).
© SAP AG TCRM20 10-61
SAP AG 2008
View Flow Contexts for BUPA_MAIN
SMO8FD
Flow Context
Services in a Flow Context
The complete definition a specific BDoc can be checked using transaction SMO8FD: Middleware → Message Flow → Display and Check Flow Definitions
© SAP AG TCRM20 10-62
SAP AG 2008
Delta Load CRM to R/3
Data Exchange with R/3 Backend
Data Exchange with R/3 Backend
Introduction
Customizing & Condition Synchronization
Load R/3 CRM
Load CRM R/3
Initial Load CRM->R/3
Delta Load CRM->R/3
© SAP AG TCRM20 10-63
SAP AG 2008
Different Types of Replication
Replication = Message forwarding to one or more sites
BDoc
Different Types:Simple Bulk replication
Simple Intelligent replication
?
?
BDoc messages are replicated to sites . Messaging BDoc types are used within the CRM Middleware and passed to the R/3 Adapter.
Two different replication types can be distinguished:
Simple bulk replication: If the site is subscribed, messages are replicated for all instances.
Simple intelligent replication. Replication depending on field values (filter criteria).
However, every BDoc type can only be replicated via one replication type.
© SAP AG TCRM20 10-64
SAP AG 2008
BDocType
1:1 relation Replication objects are generated from BDoc types.
The replication object specifies the replication type.
One or several replication objects can be assigned to a publication.
For simple bulk replication (used for mBDocs) only one subscription is assigned to a publication
Subscriptions can be assigned to one or several sites.
Subscription
SiteID SiteID
Replication Object
PublicationPublication
Simple Bulk Replication: Replication Modeling
SiteID
1
2
3
4
1
n
The data exchange between the CRM Server and the sites is defined in a replication model. Business object types are represented technically by means of BDoc types. One single replication object is generated from a BDoc type using the Administration Console (1:1 relation).
Sites can then subscribe to one or more publications to receive the data relevant for their work.
The simple bulk replication is the simplest replication type.
© SAP AG TCRM20 10-65
SAP AG 2008
Middleware Objects
Customizing Adapter Object /Business Adapter Object
BDoc
Replication Object
Publication
Subscription
Site
Usually created by SAP
Created by Customer
Use Middleware ObjectNavigator to check existing MiddlewareObjects
Use Admin Consoleto create Sites and Subscriptions
Use Middleware Object Navigator (Transaction CMWMON) to check existing Middleware Objects and their relations.
Use Admin Console (Transaction SMOEAC) to create customer specific objects like Sites and Subscriptions.
© SAP AG TCRM20 10-66
SAP AG 2008
BDocType
1:1 relationThe replication object of type “intelligent” specifies potential fields for filter criteria
One replication object can have one or several publications assigned
A publication specifies the actual fields used for filter criteria
One or several subscriptions can be assigned to a publication
Subscriptions specify the field values for filter criteria
Subscriptions can be assigned to one or several sites
Subscription
SiteID SiteID
Replication Object
Simple Intelligent Replication: Replication Modeling
SiteID
1
2
3
4
Subscription SubscriptionABC017
ABC019
DEF
PublicationPublicationPublicationPublication
Simple Intelligent Replication: Specification of criteria fields may be used to select the business objects of a particular logical type (for example, all customers in a particular postal code area). A certain basic set of publications is delivered in standard, but can be extended.
Example: The replication object customer contains the Sales area field, which is defined as a criteria field. On the basis of the contents of this field, the objects are made available to the various sites. The postal code is a distribution criterion for the replication object customer. A value range has been defined for it in the criteria fields. For example, criteria values between 30,000-40,000 are now established for site ID=A1.
© SAP AG TCRM20 10-67
SAP AG 2008
Admin Console: View Replication Objects
SMOEAC
Detailed information
Corresponding BDoc type
Assigned publications
Replication type
Replication Objects can be viewed via transaction SMOEAC. Choose Object Type Replication Object.
© SAP AG TCRM20 10-68
SAP AG 2008
Admin Console: View Publications
SMOEAC
Detailed information
Replication type
Assigned replication
object
Publication name
Publications can be viewed via transaction SMOEAC. Choose Object Type Publication.
© SAP AG TCRM20 10-69
SAP AG 2008
Administration Console: Viewing Subscriptions
Subscription name and type
Detailed information
Actual values for fields
SMOEAC
Subscriptions can be viewed via transaction SMOEAC. Choose Object Type Subscriptions.
© SAP AG TCRM20 10-70
SAP AG 2008
Admin Console: Assign Subscriptions to a Site
Deleteassignment
Create assignment
A subscription can be assigned to a site. Choose Object Type Site. Select the site you want to assign a new subscription. Go into change mode (F9) and select tab strip Subscription in the information area. Here you can assign or delete a subscription.
© SAP AG TCRM20 10-71
SAP AG 2008
Delta Load CRM to R/3: Data Flow
CRM
CRM Database
CRM-Application
OutboundMessage Flow
FlowContextMO1 + MOA
CRMAdapter
3
2
1
qRFC
Inb QueueCSA*
Call Outbound Adapter 0002
Simple Replication Service 0001
mBDoc
Registration in Inbound Scheduler(SMQR)
The CRM Application creates data on database and creates an BDoc within one LUW. The BDoc is passed to the Outbound Flow via qRFC. The name convention for the Queue is CSA*.
For single data the Flow Context is MO1 and MOA. For multiple data MO2 and MOB.
Within these Flow Contexts the Replication Service is called to find out the subscribed receivers. For each Receiver the Outbound Adapter is called.
In our case the data is to be transferred to the R/3 System.
© SAP AG TCRM20 10-72
SAP AG 2008
CRM
OutboundMessage Flow
FlowContextMO1 + MOA
Call Outbound Adapter 0002
Simple Replication Service 0001
qRFC: Delta Load CRM to R/3
R/3
R/3 Tables
Object SpecificFunction Module
R/3 OutboundAdapter
4
mBDoc
CRM_UPLOAD_TRIGGER
5
BAPIMTCS
qRFC
mBDoc
6
Outb. QueueR3AU*
In our case the data is to be transferred to the R/3 System. The R/3 Outbound Adapter is called to convert the BDoc into a BAPIMTCS datacontainer.
The BAPIMTCS datacontainer is transferred to the receiver via qRFC. The name convention for the Queue is R3AU*
© SAP AG TCRM20 10-73
SAP AG 2008
Data Exchange with R/3: Unit Summary
You are now able to:Describe the synchronization scenarios for Customizing data
Describe the synchronization scenarios for Business data and for Conditions.
Start data flow with CRM Middleware
© SAP AG TCRM20 10-74
© SAP AG TCRM20 10-75
Exercises
Unit: Data Exchange with ERP Backend Topic: General Configuration
At the conclusion of this exercise, you will be able to:
• Describe the RFC connections and table entries that are necessary to connect the CRM Server with the ERP Backend
As a CRM Middleware administrator/consultant, you are in charge of administering the data replication between the CRM System and the ERP Backend.
This exercise deals with the basic CRM Middleware configuration settings which have to be made to enable data replication between the CRM System and the ERP Backend.
1-1 Take a look at the connections between the CRM server and the backend system
Do not perform any changes! 1-1-1 Log on to the ERP backend system. The instructor will provide you the
server name and system number.
Is CRM as data consumer of R/3 Adapter functionality activated? Which RFC connection is used to connect the ERP backend system to the CRM server? Which user is used for this RFC connection? Perform a connection test.
1-1-2 Log on to the CRM system. The instructor will provide you the server name and system number.
Is CRM activated as data consumer of R/3 Adapter functionality? Which RFC connection is used to connect the CRM server to the ERP backend system? Which user is used for this connection? Perform a connection test.
© SAP AG TCRM20 10-76
© SAP AG TCRM20 10-77
Unit: Data Exchange with ERP Backend Topic: Finding an Adapter Object
At the conclusion of this exercise, you will be able to:
• Determine if an Adapter Object is delivered by SAP for some specific data fields.
As a CRM Middleware administrator/consultant, you are in charge of administering the data replication between the CRM System and ERP Backends.
This exercise provides for practice in finding the appropriate Business adapter object..
2-1 Your goal is to determine if a delivered Adapter Object is available to extract the “Academic Title” customizing you previously entered in R/3
2-1-1 What is the technical name of the table in the ERP system where the academic title you created is stored (created in exercise 1.2). _____________________
2-1-2 In CRM determine if an Adapter Object exists for this table. If so record it
here:
2-1-3 In CRM open the adapter object and verify the table TSAD21 is in fact included. The transaction is either R3AC1 ( Business Objects), or R3AC3 ( Customizing Objects), or R3AC5 (Condition Objects).
Is it included ? ____________
Note: Please tell the instructor you are finished with this and they might execute the initial load again to bring your titles over to CRM.
© SAP AG TCRM20 10-78
© SAP AG TCRM20 10-79
Unit: Data Exchange with ERP Backend Topic: Customizing Adapter Object: Initial Load
At the conclusion of this exercise, you will be able to:
• Start an initial load of customizing data
As a CRM Middleware administrator/consultant, you are in charge of administering the data replication between the CRM System and ERP Backends.
This exercise deals with the basic process of extracting customizing data from R/3 to CRM.
Hint: Your Instructor has deregistered the inbound queue R3AI_ZCR555* of the CRM server.
3-1 Display and create a filter for the Customizing Adapter Object ZCR555_## in CRM System.
3-1-1 Determine corresponding ERP (customizing) database table. A. _____________________
3-1-2 Create a filter on the field CONTINENT with the value EUROPE. The filter should only be execute only in the source system.
3-2 Determine Content of ERP (Customizing) database table ZCR555_R3_##
3-2-1 Logon to the ERP backend system. Start the data browser (transaction SE16) and enter the name of the database table (A). How many entries are stored in the database table?
C.______________________
3-2-2 How many entries pass the filter criteria stored in the customizing adapter object?
D.______________________
3-3 Logon to the CRM System. Start the initial load for Customizing Adapter Object ZCR555_##
3-3-1 Start initial load with transaction R3AS. Choose Object ZCR555_## and start the initial load with icon Execute.
© SAP AG TCRM20 10-80
3-4 Check status of initial load with initial load monitoring
3-4-1 Start Initial Load Monitoring (transaction R3AM1). Choose Object ZCR555_## and choose Execute.
3-5 Create a second session and start the inbound qRFC monitor. (transaction SMQ2)
3-5-1 Navigate to detail view for queue name R3AI_ZCR555_##. Activate this queue manually. (Do not register the queue R3AI_ZCR555* with QIN- scheduler).
3-6 Check status of initial load with initial load monitoring again.
3-6-1 Start Initial Load Monitoring (transaction R3AM1). Choose Object ZCR555_## and choose Execute.
3-7 Check the entries of corresponding CRM (customizing) database table ZCR555_CRM_##.
2-7-1 Start Data Browser (transaction SE16) in CRM System. Enter table ZCR555_CRM_## and choose execute.
© SAP AG TCRM20 10-81
Unit: Data Exchange with ERP Backend Topic: Business Adapter Objects: Delta Load
At the conclusion of this exercise, you will be able to:
• check the customizing for Delta Load corresponding to a Business Adapter Object
• Determine the flow contexts for a BDoc type
Various settings are required to process delta loads. Each setting is define below.
4-1 Display Business Adapter Object
4-1-1 Start Object Management for Business Adapter Objects (transaction R3AC1). Navigate to detail view of Business Adapter Object MATERIAL.
4-1-2 Determine Source and Target Site Types and the corresponding Flow Contexts supported for the Initial Load. Target Site Type: ______________________ Source Site Type: ______________________ Flow Context: ______________________
4-1-3 Determine the linked BDoc Type. mBDoc-Type:______________________
4-1-4 Determine the linked Object Class. Object Class:______________________
© SAP AG TCRM20 10-82
4-2 Display corresponding mBDoc Type.
4-2-1 Start the BDoc Modeler and navigate to detail view of BDoc PRODUCT_MAT.
4-2-2 Navigate to detail view of related data type COMT_PROD_MATERIAL_BDOC_TAB. Navigate to detail view of line type COMT_PROD_MATERIAL_BDOC. Write down the components of this complex line type: ______________________ ______________________ ______________________ ______________________ ______________________ ______________________ ______________________
4-2-3 Choose icon Hierarchy Display to get a hierarchy representation in a separate window. Do not close this window.
4-3 Analyze Delta Load Customizing in CRM System
4-3-1 Use transaction R3AC4 to analyze Delta Load customizing. Find out the names of the Business Transaction Events corresponding to the Object Class MATERIAL. ______________________ ______________________ ______________________
4-3-2 Check whether the Delta Load is activated.
4-4 Analyze Delta Load Customizing in ERP System
4-4-1 Check, whether these Business Transaction events are activated in the ERP system. Use transaction FIBF and choose Environment-> Infosystem (P/S). Enter the numbers of the Business Transaction Events with left-hand zeros and choose Execute. Use icon Display Active Components to check, whether the Middleware Components for Delta Load are activated.
© SAP AG TCRM20 10-83
4-5 Compare CRM-Product CR555_## with R/3-Material CR555_## and change the Material description in the ERP System.
4-5-1 Since we are only verifying data, in CRM: choose the older CRM5.0 transaction COMMPR01.
4-5-2 In ERP: Choose SAP Menu →Logistics→ Materials Management → Material Master → Material → Change→ Immediately (transaction MM02). Enter Material number CR555_## and choose Select views. Choose Basic Data 1, Basic Data 2 and Sales Org. Data 1. Choose Sales Organization 3020 and Distr. Channel 30.
4-5-3 Compare Description, Sales Organization and Distribution Channel.
4-5-4 In ERP: Change the Description (short text) and save the material.
4-6 Analyze, whether the Delta Load has been processed successfully:
4-6-1 Start the BDoc Monitoring (transaction SMW01) and display the corresponding mBDoc. Enter BDoc Type PRODUCT_MAT, send and date time today. Search for an entry with Queue name R3AD_MATERIACR555_##. Mark the line and choose BDoc Message →Display → Extended Part
4-6-2 Within the detail view choose icon Column and compare with the complex structure of mBDoc Type PRODUCT_MAT (task 4-2).
4-6-3 Search for the changed short text within the mBDoc.
4-6-4 Check the Short text of the product with transaction COMMPR01 again.
© SAP AG TCRM20 10-84
© SAP AG TCRM20 10-85
Unit: (Optional) Data Exchange with ERP Backend Topic: BDocs and Flow Contexts
At the conclusion of this exercise, you will be able to:
• Examine the structure of a BDoc type
• Determine the flow contexts for a BDoc type
BDoc types are the main data structure within the CRM Middleware for data processing. The internal structure of BDoc types can be viewed using the BDoc Modeler.
BDoc messages are processed within the CRM Middleware by several services. The services that are called for a BDoc type can be looked for via the flow context.
5-1 Examine the structure of the mBDoc type for the Business Partner.
5-1-1 Start the BDoc Modeler.
5-1-2 Determine the structure of the messaging BDoc type for business partner.
5-2 Determine some flow contexts for BDoc types.
5-2-1 Which services are called in the Messaging Flow for business partners a) during the inbound processing?
1.______________________
b) during the outbound processing (normal delta processing)?
1.______________________
2.______________________
3.______________________
© SAP AG TCRM20 10-86
© SAP AG TCRM20 10-87
Unit: Data Exchange with ERP Backend Topic: Delta Load from CRM to ERP and
Replication Administration
At the conclusion of this exercise, you will be able to:
• Use the Administration Console to view CRM Middleware administrative data
• Create and replicate a business partner
As a Middleware administrator/consultant employee, you are in charge of administering the data replication from the CRM Middleware to external systems. Your role is to define sites and subscribe sites to publications.
This exercise deals with the basic tasks of CRM Middleware administration that is, using (creating) sites and subscribing sites to publications. Your tool to perform these tasks is the Middleware Administration Console.
6-1 Previously you created an order in the ERP system and verified it was transferred to CRM. This exercise shows the underlying middleware setup that supports the delta transfer from CRM to R/3. This involves familiarization with the Administration Console.
6-1-1 Start the Administration Console.
6-1-2 Examine the existing publications and subscriptions. View all subscriptions of the SAP R/3 site shown on your logon sheets. Also record the subscription that ensured that all orders taken in CRM would arrive in ERP
Where do you find all subscriptions for a publication?
__________________________________________________
Are there criteria values assigned to the subscriptions?
__________________________________________________
What subscription involve the transfer of orders. What replication object and therefore what BDOC is this subscription connected to?
__________________________________________________
© SAP AG TCRM20 10-88
© SAP AG TCRM20 10-89
Solutions
Unit: Data Exchange with ERP Backend Topic: General Configuration
1-1 Take a look at the connections between the CRM server and the backend system.
Do not perform any changes! 1-1-1 Log on to the SAP ERP backend system.
Is CRM as data consumer of ERP Adapter functionality activated? Which RFC connection is used to connect the ERP backend system to the CRM Server. Which user is used for this RFC connection? Perform a connection test.
Call transaction SE16 in the SAP ERP system and enter table CRMCONSUM and press button Table Contents.
Press button Execute.
The table field CONSUMER gives you the name of the data consumer. Check if the flag in field ACTIV is set.
Call transaction SE16 in the SAP ERP system and enter table CRMRFCPAR and press button Table Contents.
Press button Execute.
The parameter CRM * gives you the name of the RFC-destination (field RFCDEST). It may be DTZ_800.
Call transaction SM59. Open ABAP Connections. Search for the RFC connection from table CRMRFCPAR.
Double click on the RFC connection.
The user is named here. It may be CRMREMOTE.
Choose the TEST CONNECTION button.
© SAP AG TCRM20 10-90
1-1-2 Log on to the CRM system.
Is CRM activated as data consumer of ERP Adapter functionality? Which RFC connection is used to connect the CRM server to the SAP ERP backend system? Which user is used for this connection? Perform a connection test.
Call transaction SE16 in the CRM system and enter table CRMCONSUM and press button Table Contents.
Press button Execute.
The table field CONSUMER gives you the name of the data consumer . Search for consumer CRM and check if the flag in field ACTIV is set.
Call transaction SMOEAC (Architecture & Technology →Middleware→Administration→ Administration Console) in the CRM system. Choose Sites as Object Type and click the Display Objects button.
Choose the R/3 site(double click it) and display the Site Attributes(use the button site attributes). The name of the corresponding RFC destination (field PARAMVAL) is displayed. It may be DII_800.
Call transaction SM59. Open ABAP Connections. Search for the RFC connection.
Double click on the RFC Connection.
The user is named here. It may be CRMREMOTE.
Click the TEST CONNECTION button.
© SAP AG TCRM20 10-91
Unit: Data Exchange with ERP Backend Topic: Finding an Adapter Object
At the conclusion of this exercise, you will be able to:
• Determine if an Adapter Object is delivered by SAP for some specific data fields.
2-1 Your goal is to determine if a delivered Adapter Object is available to extract the “Academic Title” customizing you previously entered in R/3
2-1-1 What is the technical name of the table in the ERP system where the academic title you created is stored (created in exercise 1.2). _____________________
SPRO →Cross Application Components→SAP Business Partner → Business Partner →Persons → Name Components → Maintain Academic Titles. Select entry 0001, and press “F1”. Now select and record TSAD2.
2-1-2 In CRM determine if an Adapter Object exists for this table. If so record it here:
Transaction SE16 Enter table name “SMOFTABLES”, Enter TSAD2 in the field “R3TABNAME” and press . Record OBJNAME “DNL_CUST_BASIS”
2-1-3 In CRM open the adapter object and verify the table TSAD21 is in fact included. The transaction is either R3AC1 ( Business Objects), or R3AC3 ( Customizing Objects), or R3AC5 (Condition Objects).
Is it included ? ____________
Use the “position” button and enter DNL_CUST_BASIS using the correct transaction picked from the 3 above. Select the DNL_CUST_ BASIS object row an choose “F2”. Access the tables/structures tab to find that TSAD2 table is included.
Note: Please tell the instructor you are finished with this and they might execute the initial load again to bring your titles over to CRM.
© SAP AG TCRM20 10-92
© SAP AG TCRM20 10-93
Unit: Data Exchange with ERP Backend Topic: Customizing Adapter Object: Initial Load
3-1 Display and create a filter for the Customizing Adapter Object ZCR555_## in CRM System.
3-1-1 Choose transaction R3AC3 and mark the line with Customizing Adapter Object ZCR555_##. Use Icon Choose to navigate to detail view. Choose tab tables/structures and take the table name from column table( source site). The table name is ZCR555_R3_##.
3-1-2 Create a filter on the field CONTINENT with the value EUROPE. The filter should only be execute only in the source system.
Choose icon Filter in the tab tables/structures and choose name of source site R/3.Add the filter: field CONTINENT, OP = EQ, LOW =EUROPE .
Choose Save.
3-2 Determine Content of ERP (Customizing) database table ZCR555_R3_##
3-2-1 Logon to the ERP backend system. Start the data browser (transaction SE16) and enter the name of the database table (A). How many entries are stored in the database table?
Enter ZCR555_R3_## and choose Execute. The number of entries depends on the system.
3-2-2 How many entries pass the filter criteria stored in the customizing adapter object?
Take the Filter settings into account, you have determined in task 2-2-2.
3-3 Logon to the CRM System. Start the initial load for Customizing Adapter Object ZCR555_##
3-3-1 Start initial load with transaction R3AS. Choose Object ZCR555_## and start the initial load with icon Execute. You get a popup with message about the status of initial load.
3-4 Check status of initial load with initial load monitoring
3-4-1 Start Initial Load Monitoring (transaction R3AM1). Choose Object ZCR555_## and choose Execute. The status should be ‘running’.
© SAP AG TCRM20 10-94
3-5 Create a second session and start the inbound qRFC monitor. (transaction SMQ2)
3-5-1 Navigate to detail view for queue name R3AI_ZCR555_##. Activate this queue manually. (Do not register the queue R3AI_ZCR555* with QIN- scheduler).3-6 Check status of initial load with initial load monitoring again.
3-6-1 Start Initial Load Monitoring (transaction R3AM1). Choose Object ZCR555_## and choose Execute. The initial load should have been finished.
3-7 Check the entries of corresponding CRM (customizing) database table ZCR555_CRM_##.
3-7-1 Start Data Browser (transaction SE16) in CRM System. Enter table ZCR555_CRM_## and choose execute. You should find the corresponding entries in the CRM table.
© SAP AG TCRM20 10-95
Unit: Data Exchange with ERP Backend Topic: Business Adapter Objects: Delta Load
4-1 Display Business Adapter Object
4-1-1 Start Object Management for Business Adapter Objects (transaction R3AC1). Double click on Business Adapter Object MATERIAL to navigate to the detail view.
4-1-2 Determine Source and Target Site Types and the corresponding Flow Contexts supported for the Initial Load. Target Site Type: CRM Source Site Type: ERP Flow Context: MI0 (mBDoc Validate)
4-1-3 Determine the linked BDoc Type. mBDoc-Type:PRODUCT_MAT
4-1-4 Determine the linked Object Class. Object Class:MATERIAL
4-2 Display corresponding mBDoc Type.
4-2-1 Start the BDoc Modeler Architecture and Technology→ Middleware → Development → Meta Object Modeling→ BDoc Modeler (transaction SBDM ) When you use the transaction for the first time, a dialog box asks for a display selection. For the exercise, select BDoc Class Messaging. Later on, you may change your selection by using the Filter button or CTRL+F6.
Enter PRODUCT_MAT in field "name" and choose Execute.
4-2-2 Navigate to detail view of related data type Double click on PRODUCT_MAT to navigate to the detail view. Double click on COMT_PROD_MATERIAL_BDOC_TAB and double click on COMT_PROD_MATERIAL_BDOC in the following window. There are the following components of this complex line type: HEADER DATA INTERLINK CONDITIONS KNOWLEDGEBASE DOCUMENTS CONTROL
4-2-3 Choose icon Hierarchy Display to get a hierarchy representation in a separate window. Do not close this window.
© SAP AG TCRM20 10-96
4-3 Analyze Delta Load Customizing in CRM System
4-3-1 Use transaction R3AC4 to analyze Delta Load customizing. Find out the names of the Business Transaction Events corresponding to the Object Class MATERIAL.
00001250
00001270
00004051
4-3-2 Check whether the Delta Load is activated.
Choose the icon “back” to get to the initial screen. The delta load is activated, when the check box Inactive is unchecked
4-4 Analyze Delta Load Customizing in ERP System
4-4-1 Check, whether these Business Transaction Events are activated in ERP system. Use transaction FIBF and choose Environment-> Infosystem (P/S). Enter the numbers of the Business Transaction Events with left-hand zeros and choose Execute. Use icon Display Active Components to check, whether the Middleware Components for Delta Load are activated.
4-5 Compare CRM-Product CR555_## with ERP-Material CR555_## and change the Material description in the ERP System.
4-5-1 Since we are just verifying data, in CRM: choose the prior CRM 5.0 transaction code COMMPR01.
4-5-2 In ERP: Choose SAP Menu →Logistics→ Materials Management → Material Master→ Material→ Change→ Immediately (transaction MM02). Enter Material number CR555_## and choose Select views. Choose Basic Data 1, Basic Data 2 and Sales Org. Data 1. Choose Sales Organization 3020 and Distr. Channel 30.
4-5-3 Compare Description, Sales Organization and Distribution Channel.
4-5-4 In ERP: Change the Description (short text) and save the material.
4-6 Analyze, whether the Delta Load has been processed successfully:
4-6-1 Start the BDoc Monitoring (transaction SMW01) and display the corresponding mBDoc. Enter BDoc Type PRODUCT_MAT, send and date time today. Search for an entry with Queue name R3AD_MATERIACR555_##. Mark the line and choose BDoc Message →Display→ Extended Part
4-6-2 Within the detail view choose icon Column and compare with the complex structure of mBDoc Type PRODUCT_MAT (task 4-2).
4-6-3 Search for the changed short text within the mBDoc.
4-6-4 Check the Short text of the product with transaction COMMPR01 again.
© SAP AG TCRM20 10-97
Unit: (Optional) Data Exchange with ERP Backend Topic: BDocs and Flow Contexts
5-1 Examine the structure of a BDoc type.
5-1-1 Start the BDoc Modeler.
Architecture and Technology→ Middleware → Development → Meta Object Modeling→ BDoc Modeler (transaction SBDM)
5-1-2 Examine structure of the messaging BDoc type for business partner.
When you use the transaction for the first time, a dialog box asks for a display selection. For the exercise, select BDoc Class Messaging. Later on, you may change your selection by using the Filter button or CTRL+F6.
"The messaging BDoc type used for the exchange of Business Partners is called BUPA_MAIN. It is marked as a messaging BDoc type and has the site types ERP, Idoc and XML assigned to it (Go To->Site Type Mapping)."
The header CRMW_BUPA_HEAD contains among other things the BP number and the BP GUID. The extension is labeled Related Data Type, for BUPA_MAIN it is named BUS_EI_MAIN. It may be viewed using transaction SE11 (Data Dictionary)."
5-2 Determine some flow contexts for a BDoc type.
5-2-1 Which services are called in the messaging flow for business partners?
The transaction to display flow contexts may be found in the menu under Architecture and Technology → Middleware → Message Flow → Display and Check Flow Definitions (transaction SMO8FD).
Enter the BDoc type BUPA_MAIN and start the function Execute. The system will now display the available messaging flow contexts for business partner.
The messaging flow context Validate (MI0) only contains the validation service: CRM_BUPA_MAIN_VAL.
The flow contexts for the distribution of change messages are the Notification (MO1) and Notification Multiple (MO2) contexts. They contain the following services:
1. SMOH_REPLICATION_WRAPPER_MSG
2. SMW3_ OUTBOUNDADP_CALLADAPTERS
3. BP_MAIN_CRM_TO_CDB (the mobile bridge, optional).
The Replication Wrapper calls the Replication service. The function module SMW3_OUTBOUNDADP_CALLADAPTERS calls the outbound adapter.
© SAP AG TCRM20 10-98
© SAP AG TCRM20 10-99
Unit: Data Exchange with ERP Backend Topic: Delta Load from CRM to ERP and
Replication Administration
6-1 Previously you created an order in the ERP system and verified it was transferred to CRM. This exercise shows the underlying middleware setup that supports the delta transfer from CRM to R/3. This involves familiarization with the Administration Console.
6-1-1 Start the Administration Console.
Start the Administration Console with transaction SMOEAC or from the menu:
Architecture and Technology→ Middleware → Administration → Administration Console 6-1-2Examine the existing publications and subscriptions. View all subscriptions of the R/3 site shown on your logon sheets.
Where do you find all subscriptions for a publication?
All subscriptions of a site are listed for the object type
Site → <site_type> → <site_name> → Subscriptions
You can view the subscriptions for a particular publication by selecting the object type Publications. Press the button Display objects and choose menu path Publications → <publication_name>.
Are there criteria values assigned to the subscriptions?
Whether criteria can be (or have to be) used depends on the replication type of the relevant publication. Publications of type simple bulk (msg) for messaging BDocs and of type bulk(s) for synchronization BDocs cannot be filtered using criteria values.
What subscription involve the transfer of orders. What replication object and therefore what BDOC is this subscription connected to?
Expanding the R/3 site, one of the subscriptions is “All Business Transactions”. Selecting this subscription and accessing the Replication Objects Tab, you will find the replication object BUS_TRA NS_MSG. Clicking on it brings you to the screen that shows this replication object is tied to the BDoc Name BUS_TRANS_MSG.
© SAP AG TCRM20 10-100
© SAP AG TCRM20 11-1
SAP AG 2004
Data Exchange with Third-Party Back End
XIF AdapterXIF AdapterXIF Adapter
© SAP AG TCRM20 11-2
SAP AG 2004
Data Exchange with Third-Party Back End:Unit Objectives
At the conclusion of this unit, you will be able to:Describe data exchange via the XIF Adapter
© SAP AG TCRM20 11-3
SAP AG 2004
The External Interface Adapter
The External Interface Adapter (XIF) has been available since SAP CRM 3.0
It can be used for:Initial load of data objects
Continuous data exchange of data objects in real time
It works bilaterally: Business objects (data) can be sent andreceived:
From mySAP CRM to external systems
From external systems to mySAP CRM
It uses two standard formats:XML/SOAP
ALE/IDoc
It is extensible without modifying the program code
Example: RosettaNet B2B mappingsIt is published in the SAP Interface Repository (http://ifr.sap.com)
From SAP CRM 3.0, business data objects such as orders or business partners can be sent in SOAP/XML or IDoc format using external interfaces (XIF).
From the CRM system to external systems
From external system to the CRM system
Data objects can be loaded initially via file transfer using the DX/LSMW Workbench and they can be sent permanently to the CRM system.
Data objects can be loaded initially using the CRM Middleware adapter framework in external systems, loaded in a data file, or be sent permanently by CRM in external systems via appropriate application transactions.
© SAP AG TCRM20 11-4
SAP AG 2004
Back-End Integration Overview with the XIF Adapter
mySAPmySAP CRMCRM
SAP Business Connector
EDI and ALE Systems (3rd party)
ExternalExternalSystemSystem
EAI Tool(3rd party)
Data MigrationTool (third-party)
P2P direct call
XML/SOAP
IDOC/tRFC
ASCII File
IntegrationBroker(CRM
Middleware)
CRM Applications
R/3 Adapter
BW Adapter
BAPI
DX WorkbenchLSMW
Web App Server
Web App Server
IDoc File
Direct http:
SAP Exchange Infrastructure
XIF Adapter
SAP Business Connector is freely available for customers at http://service.sap.com/connectors. CRM includes DX Workbench and a mapping tool for file-based initial data load.
15 certified third-party ALE message handling systems (BEA, IBM MQSeries, NEON, TIBCO)
58 certified third-party ALE converters (CrossWorlds, Harbinger, Mercator, Oberon, Sterling)
57 certified third-party EDI subsystems (Actis, Harbinger, Premenos, Seeburger, Sterling)
14 certified third-party migration interface partner tools (Artuad. ETI*Extract, NSX, SOPRA)
Details of certified third-party products can be found at http://www.sap.com/csp.
© SAP AG TCRM20 11-5
SAP AG 2004
The XIF Adapter: Exchanged Business Objects
Products
Prices conditions
Business partners
Business partner
hierarchy
Business trans-
actions*
NonNon--R/3 R/3 bbackack endendor or oold ld ssystemystem
Invoices
mySAP CRM
(*) Lead, opportunity, sales order, service order, and so on
export importThe selection and direction of exchanged objects is determined by the supported integrated business scenarios
© SAP AG TCRM20 11-6
SAP AG 2004
XIF AdaptermBDoc
XML file
IDoc
CRM Server /CRM Middleware
Externalsystems
The External Interface (XIF) Adapter provides:
A service in the message flow
IDoc and XML interfaces for external systems
The XIF Adapter: Overview
The XIF Adapter provides:
Services in the CRM Server messaging flow
Bulk-message-capable IDoc and XML interfaces for external systems
More information about the XIF Adapter may be found in SAPNet via the alias /crm-ci.
© SAP AG TCRM20 11-7
SAP AG 2004
CRM Server
External Interface Adapter
mBDoc extension Complex data type
Mapping
SOAP framework
SAP BusinessConnector
ALE inbound/ outbound function
SOAP-XML
IDoc
tRFC
httpThird-party middleware
Flat file
... ...
... ...
FILE
CRM Middleware
ValidationMessagingflowmBDoc
External system
External Interface Adapter
In outbound transactions – for example, creating or changing a data object within an application transaction – an mBDoc is created and transferred to the CRM Middleware. Possible external receivers for the mBDoc are determined within the CRM Middleware and are transferred to the XIF Adapter together with the mBDoc. The data in the mBDoc is converted in the XIF Adapter into an XML-like complex data structure and an appropriate basic service (SOAP, ALE) is started that sends the data object to the external receiver, for example, via a third-party Middleware tool.
In inbound transactions, incoming messages in XML or IDoc format are received by the XIF Adapter via the basic services (SOAP, ALE) and are converted into the structures in the mBDoc. The CRM Middleware then starts, calling an appropriate application validation service that updates the application after successful checks on the message.
© SAP AG TCRM20 11-8
SAP AG 2004
CRM Server
CRM Middleware
The External Interface Adapter: SOAP/XML
External Interface Adapter
SAP BusinessConnector
XML-SOAPhttp
XML
XML messaging
system
MessagingflowmBDoc
CRM application
XML
SAP Exchange
Infra-structure
XML
More detailed overview of SOAP/XML processing: SOAP/XML messages can be sent to the SAP Exchange Infrastructure (SAP XI), where the XML message can be mapped into other XML schemas. The XML messages can be routed to other business systems.
SOAP/XML messages can be sent to XML messaging systems that convert the XML into other XML schemas based on mapping rules and send these messages to other applications based on routing rules.
For CRM to SAP Business Connector communication, IDocs should be used. An IDoc transfer is quicker in comparison to SOAP/XML because the IDoc document contains no metadata information (tags) and, therefore, the size of document sent down the line is substantially smaller in comparison.
© SAP AG TCRM20 11-9
SAP AG 2004
CRM Server
CRM Middleware
External Interface Adapter IDocIDoc
MessagingflowmBDocmBDoc
CRM application
The External Interface Adapter: IDoc
Third-party ALE
converters
tRFCtRFC
File
XMLXML
Third-party ALE
messaging system
SAP Business
Connector
IDocIDoc
EDI/ IDocEDI/ IDoc
EDIsubsystem EDIEDI
File
Flat filein IDoc format
XMLXMLSAP
Exchange Infra-
structure
More detailed overview of IDoc Processing. IDocs can be used to send messages to the SAP Exchange Infrastructure, where an IDoc XML document will be established and mapped into other XML schemas. The XML messages can be routed to other business systems.
IDocs can be used to send messages to the SAP Business Connector, where an IDoc XML document will be established and mapped into other XML schemas, such as Rosetta Net, xCBL, or the customer’s own schema.
IDocs can be used to send messages to a flat file.
IDocs can be used to send messages to an ALE converter, where IDocs are mapped into standardized message formats (EDI communication).
IDocs can be used to send messages to an ALE messaging system. In contrast to an ALE converter, the message handler will not perform any conversion or mapping, but instead receives IDocs and sends them to applications for processing.
IDocs can be used to send messages to an EDI subsystem. In contrast to an ALE converter, the EDI subsystem does not use direct program-to-program communication to transfer IDocs.
© SAP AG TCRM20 11-10
SAP AG 2004
Create an RFC destination SM59: TCP/IP Connection
Create a logical system SALE: for example, BC_CRMXIF
Create a Receiver Port WE21: Transactional RFC or File
Create a partner profile WE20: Partner Type LS with created logical system, Maintain Message Type for Outbound Parameters
Enter outbound parameters WE20: for example, Transfer IDocs at once, Basis Type CRMXIF_*_SAVE_M01, Message Type CRMXIF_*_SAVE_M, Receiver Port as maintained
Create a siteSMOEAC: Site with site type External Interface for IDocs with maintained partner profile
Maintain subscriptions for publicationsSMOEAC: Object Type Subscription, assign maintained site to subscription
Assign maintained site to interface typeCRMXIF_C1: maintain BDoc Type and Interface Type (CRMXIF_*_SAVE) for the new site
Customizing IDoc Outbound Processing
When using IDocs for outbound processing, the settings displayed above must be made.
© SAP AG TCRM20 11-11
SAP AG 2004
Create an HTTP destination SM59: HTTP Connections to external systems
Create a siteSMOEAC: Site with site type External Interface for XML and assign HTTP destination
Maintain subscriptions for publicationsSMOEAC: Object type Subscription, assign maintain site to subscription
Assign maintained site to interface typeCRMXIF_C1: maintain BDoc Type and Interface Type (CRMXIF_*_SAVE) for the new site
Customizing SOAP/XML Outbound Processing
When using SOAP/XML for outbound processing, the settings displayed above must be made.
© SAP AG TCRM20 11-12
SAP AG 2004
Customizing Inbound Processing
Customizing IDoc inbound Create logical system via SALE Prepare Sender- and Receiver Systems
Setup Logical Systems Name Logical System.
Create a partner profile via transaction WE20 (Partner Type LS).
Enter a suitable message type CRMXIF_*_SAVE_M (CRMXIF_*_SAVE_S) in the inbound parameters.
Customizing SOAP/XML inboundNo Customizing is required in the CRM system for receiving SOAP/XML documents.
CRM HTTP port setting via transaction SMICM ? Goto ? Services.
When using IDocs or SOAP/XML for outbound processing, the settings displayed above must be made.
© SAP AG TCRM20 11-13
SAP AG 2004
You are now able to:Describe data exchange via the XIF Adapter
Data Exchange with Third-Party Back End: Unit Summary
© SAP AG TCRM20 11-14
© SAP AG TCRM20 11-15
Exercises(Optional)
Unit: XIF Adapter Topic: External Interface for IDocs
At the conclusion of this exercise, you will be able to:
• Examine the customizing for the XIF Adapter (IDocs)
• Create a site for the XIF Adapter (IDocs) for outbound processing
• Analyze the message flow of the XIF Adapter
During outbound processing, possible external receivers for the mBDoc are determined within the CRM Middleware and are transferred to the XIF Adapter together with the mBDoc. The data in the mBDoc is converted in the XIF Adapter into an IDoc, which can be sent to external receivers.
1-1 Examine the customizing for the XIF Adapter (IDocs). We assume that you are familiar with ALE/EDI customizing within an SAP system. Please review the following steps. Some of these steps may not be necessary depending on the transfer protocol used (trfc or file transfer)
1-1-1 Is a logical system name created that can be used in the ALE model as receiver system?
1-1-2 Is a TCP/IP RFC destination created in the receiver system (transaction SM59)?
1-1-3 Is a receiver port defined? Where are the IDocs written?
1-1-4 Is a partner profile created?
1-1-5 Are outbound parameters defined?
1-2 Create a site of type External Interface for IDOCs.
1-2-1 Start the administration console and create a new site with the name CR555-##.
1-2-2 Assign the subscription All Business Partners (MESG) to the new site.
1-3 Assign the site to an interface type.
1-4 Change the P.O. Box number in the address data of your “GROUP##A” business partner from prior exercise. Do this in the CRM system.
1-5 Check the receivers of the messaging Bdoc.
1-6 Check the created IDoc.
© SAP AG TCRM20 11-16
© SAP AG TCRM20 11-17
Solutions (Optional)
Unit: XIF Adapter Topic: External Interface for IDocs
1-1 Examine the customizing for the XIF Adapter (IDocs). We assume that you are familiar with ALE/EDI customizing within an SAP system. Please review the following steps. Some of these steps may not be necessary depending on the transfer protocol used (trfc or file transfer)
1-1-1 Is a logical system name created that can be used in the ALE model as a receiver system?
To view the logical system name, display transaction SALE and choose
IDoc Interface/Application Link Enabling (ALE) → Basic Settings→ Logical Systems → Define Logical System (transaction BD54).
Look for entry XIF_SYSTEM.
1-1-2 Is a TCP/IP RFC destination created in the receiver system (transaction SM59)?
There is no RFC destination defined for XIF_SYSTEM because in our example, the IDoc is written to a file (not sent via tRFC).
© SAP AG TCRM20 11-18
1-1-3 Is a receiver port defined? Where are the IDocs written?
To view the receiver port, display transaction WE21.
Receiver ports can be defined for transactional RFCs or files. In our example, the IDoc is written to a file.
Open the FILE node in the navigation tree on the left-hand side. Double-click on XIF-Port.
On the right-hand side, you find detailed information about the receiver port. The IDocs are written to the logical path EDI_GLOBAL_PATH.
Optional: If you want to know to to which physical path the logical path is assigned, double click on entry EDI_GLOBAL_PATH. The transaction FILE is displayed.
Select the entry EDI_GLOBAL_PATH in the table on the right-hand side and choose node Assignment of Physical Paths to Logical Paths in the dialog tree on the left-hand side.
Choose Position and select Windows NT as syntax group. Double-click on the syntax group Windows NT.
The physical path is shown as follows: <P=DIR_GLOBAL>/<FILENAME> (DIR_GLOBAL = /usr/sap/<SID>/SYS/global)
1-1-4 Is a partner profile created?
To view the partner profile, display transaction WE20.
Open the Partner Type LS (Logical System) node in the navigation tree on the left-hand side. You find the logical system XIF-SYSTEM. Double-click on XIF-SYSTEM.
On the right-hand side you find detailed information about the partner profiles (inbound and outbound) of logical system XIF-SYSTEM.
1-1-5 Are outbound parameters defined?
Yes, for logical system XIF-SYSTEM, outbound parameters are defined. Double-click on message type CRMXIF_PARTNER_SAVE_M in the outbound profile of logical system XIF-SYSTEM.
You find the receiver port XIF-PORT and the IDoc type CRMXIF_PARTNER_SAVE_M01 in the Outbound Options tab.
© SAP AG TCRM20 11-19
1-2 Create a site of type External Interface for IDOCs.
1-2-1 Start the administration console and create a new site with the name CR555-##.
Display transaction SMOEAC.
To create a new site, choose object type Sites and choose the Create Object button (F6).
Enter the name and a description and choose the site type External Interface for IDOCs. For Site Attributes, select EDI partner number = XIF-SYSTEM and EDI partner type = LS.
Save your site.
1-2-2 Assign the subscription All Business Partners (MESG) to the new site.
Press the Assign button in the Subscriptions tab (only visible in change mode: F9). Type *MESG* in the "name" field and select subscription All Business Partners (MESG) from the search results. Save your site.
1-3 Assign the site to an interface type.
Display the Assign Site to Interface Types view (transaction CRMXIF_C1).
Go into change mode and choose New Entries.
Maintain BDoc type BUPA_MAIN and Interface name CRMXIF_PARTNER_SAVE for your site (CR555-##). Save your entries
1-4 Change the P.O. Box number in the address data of your “Group##A business partner from a prior exercise. Do this in the CRM system.
In the CRM system, use transaction BP.
© SAP AG TCRM20 11-20
1-5 Check the receivers of the messaging BDoc.
In the CRM system, use transaction SMW01 or choose Architecture & Technology →Middleware → Monitoring → Message Flow → Display Bdoc Messages.
Identify the BDoc with your business partner’s data.
Select the BDocs of type BUPA_MAIN.
In the Display BDoc Messages screen, select your BDoc, select it, and choose Receivers (Show BDoc Msg Errors/Receivers ). You find a new receiver of site type XIF_IDOC.
1-6 Check the created IDoc.
To display the IDoc monitor, choose transaction BD87.
Look for IDocs in Status “Data passed to Port OK or Data passed to port(status 30) and Message Type CRMXIF_PARTNER_SAVE_M.
You may want to further analyze the IDoc by choosing Display IDocs.
© SAP AG TCRM20 12-1
SAP AG 2008
The BW (BI) Adapter (Overview)
The BW (BI) AdapterOverview of the BI Adapter
The BW system is now referred to as a BI (Business Intelligence ) system.
© SAP AG TCRM20 12-2
SAP AG 2008
The BW Adapter: Unit Objectives
At the conclusion of this unit, you will be able to:
Understand the purpose and technology of the BW Adapter
Understand roles and responsibilities for typical projects involving BI and CRM.
© SAP AG TCRM20 12-3
SAP AG 2008
Landscape for Delta Extraction
SiteprovidersXML R/3
R/3R/3R/3
BWA
BWA checks:- DS: Delta active?- Archiving BDoc?
MobileClients
Site providersMobile clients
Messaging flow(simple intelligent)
Determinationof recipients
Messaging BDoc:classic (segments relevant for distribution)
+ Container
m
Synchronization flowCDB SsSynchronization
BDoc
Mobilebridge
MappingmBDoc - sBDoc Validation
SAPIBW
CDB
ADB
CRM Online
CRM API
BWA: BW Adapter mBDoc: Messaging Business Document
sBDoc: Synchronization Business Document
CDB: Consolidated Database
ADB: Application Database
The BW Adapter is called during nearly 100% of the time by the middleware messaging flow. Only in very rare situations does the Synchronization flow invoke the BW Adaper. In a manner similar to the function of the R/3 adapter (where the R/3 adapter converts a BDOC into a BAPIMTCS layout), the BW adapter converts the BDOC to a layout (structure) expected by the BW (now called BI) system.
© SAP AG TCRM20 12-4
SAP AG 2008
CRM Extraction Framework: Delta Processing
BW Service API
Flow
BW Delta Queue (SMQ1)
Delta request
DB
CRM Application
Delta information
Middleware part of BW Adapter
Mapping part of BW AdapterBDOC
1. SAP Mapping (DataSource specific)
2. Optional CustomerEnhancements
DType
Extract structure
BW Adapter
Messaging FlowCRM Middleware
BDOC
An extract, structure is the
layout of fields in a format required
by BI (BW) .
A BADI can be implemented to look up additional fields not on
the BDOC yet needed by SAP BI.
For the R/3 adapter, the task was to convert a BDOC to the flat structure BAPIMTCS that could be placed in the outbound Queue an then sent to R/3.
Similarly the BW Adapter ( it should now be called the BI adapter) has the task of taking a BDOC and converting it to a structure that BI can utilize. This structure is called an Extract Structure.
The Extract structure (a collection of related business fields) plus the technical extraction methodology from a functional perspective is referred to as a BI data source. An example of a data source is CRM_OPPT_H
Since the same BDOC ( like BUS_TRANSACTION_MESSAGE) can be use to process many different documents (orders, quotes....) the Document type (Dtype) and the BDOC together are used to identify the appropriate BW Adapter meta data. This meta data consist of the Mapping logic between the BDOC and the appropriate BI data source (extract Structure.)
Step 2 shows the option of looking up additional fields during customer specific business add ins (BADIs).
The middleware flow calls the BW adapter, then the BW adapter writes to the Outbound Queue. The BI people call this queue the BW Delta Queue. (transaction RSA7) . The BW Delta Queue is just a BW specific program to that reads the outbound queue of CRM for just the BW data sources an no other queue entries. It also has the ability to show the data contained in the queue in a easy to read way.
One main difference between R/3 and BI when it comes to the Outbound Queue is that the Queue demon does not process the BI queues automatically. The data sits in the outbound queue (know to BI as the Delta Queue) until the BI team asks for the data via a BI object called a Info Package
© SAP AG TCRM20 12-5
SAP AG 2008
BW Adapter (BWA) Basic Function
Messaging flow(simple intelligent)
BDOCs
SAPI
BWABDOCBDOC
SAP BW Extract structure
Out Bound Queue=
BW Delta Queue
PSA(Raw Data)
CRMCRM
SAP BI SYSTEM
BI Data Source
BI Cubes/DSOMaster Data
TRANSFORMATION
IMPORTANT TRANSACTIONSThe BW Adapter:
BWA1=(review Meta
Data)BWA5* =
Activation
BEx Querys
Definitions: Data Source ( A BI term for a collection of raw data fields that are related from a source system (CRM) and a technical means to extract these fields. The collection of fields is defined as an ABAP structure called a BW Extract structure. The PSA is a physical table on BI to temporarily store the raw data for efficient processing by BI and for data back up purposes.
- Example: The CRM data source 0CRM_SALES_ACT_1 includes an extract structure that will contain fields from the CRM activity ( Activity Partner, From and To dates, Reason Codes and about 50 other fields relating to CRM activities).
BI Transformations are mapping and cleansing rules for data in route form a RAW format (CRM BDOC fields) to a BI reporting target, for example a BI Cube. A BI cube is a multi dimensional collection of tables joined relationally to provide a robust and efficient object for queries.
The BW adapter (BWA, in the figure above) is called as a part of the messaging flow (99.9% ) of the time and only in rare cases called by the synchronization flow. Once activated, the BW adapter is tasked with converting the hierarchical BDOC object to the flat structure required by BI.
© SAP AG TCRM20 12-6
The main reason for the BW adapter in CRM is to capture delta (change or new records) and prepare it to be retrieved by BI. As part of the processing the BW adapter checks to see delta is activated ( a BI function) for a specific set of data ( called a data source). If it is active then the records contained in the BDOC are written to the outbound queue using the name of the data source to uniquely identify it. To reduce confusion and hide unneeded data, the BI Delta Queue is a functional name given to the out bound QRFC queue. The data in this queue is not immediately sent to BI, but rather waits in the queue until a specific request is made for the delta data of a specific source, using an BI object called an InfoPackage. A special transaction, RSA7 is used BI the BI team to see the data in the queue (Outbound Queue) , identified as a BI datasource.
The ServiceAPI (SAPI) is a generic interface that processes the InfoPackage and coordinates data transfer to BI. The service API is installed as part of the “Plug in” software component and it is the same on both R/3 (SAPERP) or CRM.
The BWA1 Transaction allows the review of the meta data, used by the BW adapter (the mapping rules between the DataSource (extract structure) an the BDOC.) The BWA5 transaction is used to activate the BW Adapter functionality for a specific BI DataSource. It must be executed for each Business Content data source in addition to the standard RSA5 transaction currently use by your BW team. However, if BI content is activated using the normal tools included in BI, the CRM components (RSA5/BWA5) will be activate automatically.
Note: not all CRM to BI transfer is done via the BWA. In many cases, for low data volume data sources, the extraction process is exactly like that of R3 (SAP ERP), and the CRM specific BW adapter is not needed.
In CRM 5.0 an later activation via BWA5 is not necessary, it is performed automatically when the BI DataSource is activated.
© SAP AG TCRM20 12-7
SAP AG 2008
The BW Adapter as a Part of the Messaging Flow
The CRM_UPLOAD_BW_SRV is the call for the BW adapter.
Check and Display Flow Definitions Transaction SM08FD
The in most cases the Messaging Flow is the part of the process that invokes the BW adapter. Remembering the information from the previous slid, the BW Adapter then converts the BDOC structure to a flat “extract structure” containing fields for a specific business purpose. This data is then written to the outbound queue.
© SAP AG TCRM20 12-8
SAP AG 2008
The BW Adapter and Its Meta Data
Transaction BWA1
There is a different mapping logic executed by the BW adapter for each BW data source.
Selection Conditions Mapping Extract StructureMeta Data
BI (BW) Requires Extract Structure fields
Segment Name and Flds come from the
CRM BDOC
A BI Data Source is a BI specific object which defines a collection of fields to be extracted ( IE. An Extract Structure)
A small list of examples of BI Data Sources (each having their own extract structure) include:
0CRM_OPPT_H = Opportunity Header
0CRM_OPPT_I = Opportunity Items
0CRM_SRV_CONFIRM_H = Service Confirmations
0CRM_SALES_ACT_1 = Activities
The BW Adapter has the task to take a specific BDOC and Document, then select the appropriate Meta Data (In the above example 0CRM_OPPT_H) and execute the assigned mapping logic.
The data in the structure is then Written to the Out Bound Queue (known to BI people as the Delta Queue)
The instructor will explain that this is not the CR900 Analytics class focusing on BI and CRM. That said, the meta data for the BW adapter is automatically activated for use (for CRM 5.0 and after) when the associate BI data source is activated by the functional BI team.
© SAP AG TCRM20 12-9
SAP AG 2008
BI Delta Queue (RSA7) VS the Outbound Queue (SMQ1)
When shown in the BI specific Delta Queue
transaction, the queues are shown without the *BW*
BI Delta (RSA7)
qRFC Monitor (Out Bound Queue = SMQ1)
The BI display icon shows the data in the Queue better than in
SMQ1
Data Source Specific BI Queues Begin with (BW)
Notice that the BI specific transaction RSA& shows just the BI related queues corresponding to the BI Data Source name, while the generic SMQ1 transaction shows all the queues even the ones headed R/3 or Mobile sites or other systems.
Both RSA7 and SMQ1 read the same QRFC tables.
One big difference is that the BW related queues are not processed automatically by the Queue Out demon. Rather the data is designed to stay in the out bound queue until the BW application team executes a BI Info Package.
© SAP AG TCRM20 12-10
SAP AG 2008
Basic Project Tasks and Responsibilities CRM >> BI
STEP 1: Technical RFC connection Between BI an CRM
STEP 5: User /Power user/ Analyst Query Design and effective use.
STEP 2: Identification / Activation of BI Content, including CRM data sources and BWA objects
STEP 4: Nightly Extraction and Monitoring of BI loads and debugging problems..
C = CRM Application Person.B = BI Application Person. (BI Backend)
A = ABAPerF = BI/CRM Functional Analyst
N
N = Core Netweaver / Basis Prof.
F/BABCSTEP 3: Enhancement of CRM Data Sources and BI Objects
B/FB/F
In step one the basis person is responsible for making the appropriate RFC connections between BI and the sources systems including CRM.
Business Content Consists of : BI Queries, Cubes and data sources and in the case of CRM, the BW Adapter objects for BDoc Mapping. Additional BI content includes
© SAP AG TCRM20 12-11
SAP AG 2008
BW Adapter: Unit Summary
You should now be able to:
Understand the purpose and echnology of the BW Adapter
Understand roles and responsibilities for typical projects involving BI and CRM.
© SAP AG TCRM20 12-12
© SAP AG TCRM20 12-13
Exercise(Optional)
Unit: BW Adapter Lesson: BW Adapter Overview
At the conclusion of this exercise, you will be able to:
• Understand the functional Purpose of the BW Adapter
• Review the Meta Data of the BW Adapter.
• Understand the Difference between transaction RSA7 and SMQ1.
Your company is using BI for CRM reporting. You have been asked to help the BI team extract data. Since some of the data sources for BI from CRM utilize the the BW adapter, rather than simple table or view reads, you need to better understand the functions of this adapter, as a part of CRM middleware.
The preparation for this exercise should be done by the instructor. They should save an activity, either via the older transaction CRMD_ORDER or via the new CRM 2007 WebUI . The activity should have the description “test” for the activity partner “300034”.
1. In the CRM system verify that the BI team has installed business content related to activities and as a result the meta data for the BW Adapter for data source 0CRM_SALES_ACT_1 has been activate..
Note: In version 5.0 and higher this is done behind the sceens by the BI team. They do not realize this extra step is done automatically to support extraction by the BW adapter. In contrast, this does not happen for data being sourced from R/3.
2. Review the mapping logic from the fields on the BDOC to the fields required by the BI team as part of the BI Data Source 0CRM_SALES_ACT_1.
3 Review the Activity sitting in the outbound queue. However instead of choosing the harder to use SMQ1 transaction. Use the BI specific RSA7 transaction.
Note: The BW system will most likely be called “XD0CLNT900” , or the instructor will tell you the name. Our BI system is NOT B3TCLNT800, but it is good to realize that each destination BI system (if you had more than one) would have it’s own queue to read.to extract CRM delta records. Also note that the records in this queue are not automatically send to BI they will accumulate until the BI team requests them by executing a BI Infopackage. This normally would happen about once per day.
© SAP AG TCRM20 12-14
© SAP AG TCRM20 12-15
Solution(Optional)
Unit: BW Adapter Lesson: BW Adapter Overview
The preparation for this exercise should be done by the instructor. They should save an activity, either via the older transaction CRMD_ORDER or via the new CRM 2007 WebUI . The activity should have the description “test” for the activity partner “300034”.
1. In the CRM system verify that the BI team has installed business content related to activities and as a result the meta data for the BW Adapter for data source 0CRM_SALES_ACT_1 has been activate..
In CRM access transaction BWA5. Scroll down to the data source: 0CRM_SALES_ACT_1, and verify that the “Active” check box is in fact checked. Note: In version 5.0 and higher this is done behind the sceens by the BI team. They
do not realize this extra step is done automatically to support extraction by the BW adapter. In contrast, this does not happen for data being sourced from R/3.
2. Review the mapping logic from the fields on the BDOC to the fields required by the BI team as part of the BI Data Source 0CRM_SALES_ACT_1.
In CRM access transaction BWA1..
Enter 0CRM_SALES_ACT_1 an press the “Display” button.
On the MetaData tab note the BDOC involved is BUS_TRANSACTION_MESSAGE.
Now select the “Mapping” tab to see how the fields from the BDOC are mapped to the fields on the BI Data Source’s Extract Structure.
© SAP AG TCRM20 12-16
3 Review the Activity sitting in the outbound queue. However instead of choosing the harder to use SMQ1 transaction. Use the BI specific RSA7 transaction.
Note: The BW system will most likely be called “XD0CLNT900” , or the instructor will tell you the name. Our BI system is NOT B3TCLNT800, but it is good to realize that each destination BI system (if you had more than one) would have it’s own queue to read.to extract CRM delta records. Also note that the records in this queue are not automatically send to BI they will accumulate until the BI team requests them by executing a BI Infopackage. This normally would happen about once per day.
In CRM access transaction RSA7. Select the row 0CRM_SALES_ACT_1. for the BW system (most likely XD0CLNT900)
Now press the “Display Data Entries” and then press . The instructor’s activity should be on the BOTTOM of the list. Optionally try to use SMQ1 to review the data. It is harder to read!
© SAP AG TCRM20 13-1
SAP AG 2008
CRM Middleware Operations
CRM Operations
Data Integrity Manager & Requests
Error Handling
Troubleshooting
Monitoring
© SAP AG TCRM20 13-2
SAP AG 2008
Utilize Monitoring Tools
Set up Error handling Features
Understand the tools available to compare and sync objects across systems.
Troubleshoot errors.
At the conclusion of this unit, you will be able to:
CRM Middleware Operations: Unit Objectives
© SAP AG TCRM20 13-3
SAP AG 2008
CRM Middleware: Monitoring
Data Exchange with R/3 Backend
Data Exchange with R/3 Backend
Data Integrity Manager & Requests
Error Handling
Troubleshooting
Monitoring
© SAP AG TCRM20 13-4
SAP AG 2008
CRM Middleware Monitoring Cockpit
GenerationBDoc type: structures
BDoc type: other runtime objects
Replication objects
Publications
Generation of flow definitions
Runtime informationR/3 Adapter status information
BDocs in the flow
SMWP
The CRM Middleware Monitoring Cockpit provides status information and also serves as a navigation platform to access important administration and monitoring tools. Traffic lights indicate the status of the individual entries. The field in the right-hand column contains the date of each status determination.
The CRM Middleware Portal can be accessed through the menu: Middleware → Monitoring → Central Monitoring → Monitoring Cockpit (SMWP).
Prerequisites for running the Monitoring Cockpit:
The two background processes (checked in GoingLive Analysis session) have to be scheduled
- SMWP_BATCH: to update the displayed runtime information
- SMWP_GE_BATCH: to update the generation (= design time) information,
The reason for updating the runtime and design time information through two separate background processes is that the runtime information needs to be updated more frequently (maybe every hour) than the design time information (maybe once a day).
© SAP AG TCRM20 13-5
SAP AG 2008
Display BDoc Messages
SMW01
Select a BDoc message
Display MW Trace
Display the classical part
Display the data part
Display the Errors
SMW01
Load & Request
Display Neighbours
Trouble-shooting
The function Display BDoc Messages lists all BDoc messages (transaction SMW01: Middleware → Monitoring → Message Flow). It displays: The BDoc ID and BDoc type, the BDoc state, the flow context, the queue name, the date and time when the BDoc message was sent.
The flow control trace, the data and error segments, the service in which the error occurred (last service reached), and the recipient list.
Successfully processed messages appear with a green light, those still in progress with a yellow light, and those with a terminal error condition appear with a red light.
If a message is in process and does not get processed within a reasonable amount of time, it is possible to restart the message, view the message content, or discard the message. A BDoc message may be processed in one of the following ways:
Mark as deleted (Note: deleting BDoc messages can cause data inconsistencies)
Retry processing
© SAP AG TCRM20 13-6
SAP AG 2008
Bdoc Messages: Error Analysis
Display the Error
Segment
SMW01
Use transaction SMW01 to display the reason for an error in the BDoc processing. Select the BDoc, then you choose the errors button. Any errors within the middleware display. If the processing in the middleware did not result in an error nothing displays. In that case, you have to choose the button receivers, as the error occurred because the receiver had problems with processing the data.
To display only the BDocs that had errors: In the selection screen mark the flag BDOC state: Errors or choose a selection for each status E01, E02, E03, E04 or any combination thereof.
More information about BDoc error solving will be published in a Best Practice document. See also SAP Note 768503.
© SAP AG TCRM20 13-7
SAP AG 2008
BDoc Recovery Framework (1)
SMW01
1
Mark BDoc
chooseDelete saving
IDs
BDoc Message recovery mechanism improves error handling: BDocs in Error status should be marked as „deleted“ to avoid re-processing that might lead to inconsistencies.
By marking the BDoc as deleted “saving its IDs” the object ID is added to the BDoc Recovery Work List which allows for further analysis in transaction SMW3RC.
© SAP AG TCRM20 13-8
SAP AG 2008
BDoc Recovery Framework (2)
SMW3RC
Mark for Post
Mark for Request
Create DIMAInstance
Mark completed
Two main selection options are possible from SMW3RC: Displaying the work list and displaying the process list.
The work list is the list of BDoc messages which needs to be recovered. As soon as a BDoc message is deleted in SMW01 by saving the identifiers, it is stored into that work list.
This list can be analyzed by the administrator who must decide which operation is adequate for processing the data. Possible operations are:
Extracting the data from CRM (Post)
Create a Request from R/3
Create a DIMA comparison
Mark the BDoc message as completed
As soon as the administrator has selected the desired operation, the entries are removed from the work list and stored into the process list.
From the process list, it is possible to start the desired operation.
For mass processing of the process list use transaction SMW3RCW
© SAP AG TCRM20 13-9
SAP AG 2008
qRFC Outbound Scheduler Monitoring
INACTIVE is the normal status
Check Last update to see if the outbound scheduler is running ok
Check whether the required destinations (e.g. for the R/3 system) are registered
SMQS
The outbound scheduler is usually not constantly working. Therefore, its status is usually shown as INACTIVE.
It only starts working if new entries are stored in the outbound queue.
To find out if it is running, check row Last update. To update the display, choose the Refresh button.
If the outbound scheduler is processing a quantity of qRFC-LUWs, its status shows as WAITING.
Note: Only registered queues can be processed. You can stop outbound processing by deregistering the RFC destination (for maintenance only).
© SAP AG TCRM20 13-10
SAP AG 2008
qRFC Inbound Scheduler Monitoring
INACTIV is the normal status
Check Last update to see if the inbound scheduler is running ok
Check whether the required queue names (e.g. R3A*) are registered
SMQR
The inbound scheduler is configured based on queue names (which is different from the outbound scheduler SMQS which handles destinations). This means that if new queues are used, they have to be configured otherwise these entries will not be processed.
In SM59 there should exist an internal destination called NONE
(RFC connection type "I"). However, you cannot maintain a user here.
Furthermore in SM59 there should be for each queue (e.g. R3A*, CSA*, CRM*) a logical destination (RFC connection type "L"), which contains in field "Reference entry" the internal destination NONE. In the tab strip "Logon/Security" you can maintain the logon information for the CRM-internal RFC user (user type "Communications"). Later on the RFC requests are processed with this dedicated user. By using even several logical destinations as proposed above you can later distinguish by the user stamp from which queue a business document was created or changed.
Now you can register the corresponding inbound queues in SMQR (R3A*, CSA*, CRM*, and so on) per transaction SMQR. At registration the created logical destination is entered into the field USERDEST, and is afterwards visible in the column "Destination with LOGON data". This causes now that every inbound queue is processed with its specific logical destination (and therefore with a dedicated user).
© SAP AG TCRM20 13-11
SAP AG 2008
Kernel
Outbound processing
BDoc type
+ +
=
Message Flow Statistics
Statistic monitor for BDoc types, sites and queues
SAP R/3 kernel application statistics
BDocBDoc
BDoc
BDoc
BDoc
Wait Time CPU Time Database Time
Inbound processing
Response Time
The message flow statistics are launched via: Middleware → Monitoring → Message Flow → Display Message Flow Statistics (SMWMFLOW).
To activate Message Flow Statistics, choose Goto → Activate Statistics. Here the Kernel application statistics and the Middleware message flow statistics can be individually activated. Additional information on how to active the monitors can be found in the SAP Library.
The time to process BDoc messages in the CRM Middleware can display using the Message Flow Statistics for BDoc types, sites, and queues. This monitor shows the total execution time for a BDoc message, which consists of the time it was waiting in an inbound queue plus the processing time. The processing time is the sum of the time the BDoc spent in the inbound adapter and in the two Flows. This monitor displays either the average execution time for all BDoc messages of one type or the execution time for only one single BDoc message.
The kernel application statistics provide the CPU time and the database time that was used to process all BDoc messages of a BDoc type. The response time includes the CPU time and the database time. Note that the database time also includes some CPU time, so that these two times not necessarily sum up to the response time (compare SAP Note 351207). It is also possible to display the executed times for the various services that were called with the selected BDoc type by selecting the Per service button.
The SAP R/3 kernel application statistic monitor requires definition of the standard CCMS batch jobs.
© SAP AG TCRM20 13-12
SAP AG 2008
Middleware Trace
Display the details
Select the object
1
2
From Display BDoc Messages, you can access the middleware trace. An alternative menu path is to the middleware trace with additional information is: Middleware → Monitoring → Message Flow → Display Middleware Trace (SMWT).
You need to perform settings via Middleware → Monitoring → Message Flow → Set up Middleware Trace (SMWTAD) to use the function Display Middleware Trace (table SMOFPARSFA is no longer used for parameter settings of the Middleware Trace). Please see the SAP Library.
The Display BDoc Message Summary function lists the same BDocs as Display BDoc Messages but grouped according to site, message type (E, A, W, S, and I), and BDoc type.
An alternative menu path is to the Bdoc Message Summary is: Middleware → Monitoring → Message Flow → Display BDOC Message Summary (SMW02).
© SAP AG TCRM20 13-13
SAP AG 2008
Unprocessed BDoc Messages
Display the total number of unprocessed BDoc messages, grouped by BDoc type and client. You can use thisinformation to check the systemstatus for monitoring purposes, or before you install a supportpackage.
SMW03
From the menu, choose Architecture and Technology → Middleware → Monitoring → Message Flow → Display Unprocessed BDoc Message Summary.
© SAP AG TCRM20 13-14
SAP AG 2008
CRM SAP R/3
StatusInformation
DeltaLoad
Hints for an Error Analysis (Load Example)
Check Display BDoc Messages including the middleware trace informationCheck the outbound queueCheck the table BDOC_TRACK in the SAP R/3 SystemCheck the outbound queue of the SAP R/3 SystemCheck the inbound queue of the CRM System
Outbound Queue
Data Upload to Application
Inbound Queue
Outbound Queue
3
45
12
Possible error situation: A business object has been changed in a CRM Server Application, but the change (delta load) is not received in SAP R/3.
In case of errors or missing data updates in the target system, you may perform the following steps:
Check Display BDoc Messages including the middleware trace information
Check the outbound queue
Check the table BDOC_TRACK in SAP R/3 (shows information on the data handling of the SAP R/3 application)
Check the outbound queue of SAP R/3
Check the inbound queue of the CRM System
Furthermore, verify the RFC destination and the logical system assigned to your site (in the Admin Console) and the CRM Middleware parameter settings in the CRM System and SAP R/3 (for example, CRMRFCPAR).
More information about BDoc error solving will be published in a Best Practice document. See also SAP Note 768503.
© SAP AG TCRM20 13-15
SAP AG 2008
Message Flow Monitoring: Task Sheet for Administrator
• Several times daily and upon errorSMQ1+SMQ2qRFC Monitoring
• Daily
• Upon error
SMWMFLOWMessage Flow Statistics
• Upon error
• After Bdoc changes or changes in services or flow
SMO8FDCheck Flow Definitions
• Several times daily depending on business process
• Upon error
SMW01/SMW02BDoc Messages/Summary
• Upon errorSMWTMiddleware Trace• Upon errorSMW03Summary of unprocessed
BDoc messages
• Several times daily depending on business process
• Upon error
SMWPMiddleware Monitoring Cockpit
Monitoring Frequency Periods and Events
Monitoring Type
CRM Server Monitoring Activities /Functions
© SAP AG TCRM20 13-16
SAP AG 2008
CRM Middleware: Error Handling
CRM OperationsCRM Operations
Data Integrity Manager & Requests
Error Handling
Troubleshooting
Monitoring
© SAP AG TCRM20 13-17
SAP AG 2008
CRM Database
InboundAdapter
InboundMessageFlow
CRM-Application
FlowContext
MI0
Validation Service 0001
Data Container
OutboundMessageFlow
FlowContext
MO1
Call Outbound Adapter 0002
mBDoc
Simple Replication Service 0001
Integration of the Central Error Handling Service
Services may return an error
status
CES
Central Error Handling Service
performs error actions
The central error handling service (CES) is started by Flow Control after receiving internal or external error conditions, for example, if a service returns the error code E.
Each service uses the CES for error handling. The information about the subsequent service is kept in the flow definition.
The central unit of all error information is the error segment, which is part of all BDoc messages and contains, for example, the:
Message type
Service return code
Last service
Depending on the error segment information, the CES starts CES actions. Possible CES Actions include Workflow, Mail.
© SAP AG TCRM20 13-18
SAP AG 2008
Error Handling Strategy
ActionsDetectederrors
Undetectederrors
Preventionby regular monitoring
Messageto system
administrator
StandardSAP tools
Use ofprocessingmonitors
Automaticallygenerated
Computing Center
Management System
Exa
mpl
e
Communication log Download queues/objectsMessage flow monitorRFC log filesMonitor of queued RFC
General strategy: The modular architecture of the middleware server allows central error handling, where each service or adapter can return error messages or codes to the overall process control. Depending on these codes, different error actions can be triggered, leading to a resolution of the problem.
In addition, regular monitoring by the system administrator prevents or detects other error conditions.
In SAP Basis systems, to access the Computing Center Management System (CCMS), choose the menu path: Tools → Administration → Computing Center → Management System.
© SAP AG TCRM20 13-19
SAP AG 2008
Error Handling: Flow Control
Service i
Error
Service i+1
No
Error HandlerYes
WorkflowEvent
Looks for possible error actionsFrom most specific level: BDoc type and last serviceTo least specific level: default action
Executes all actions found in first matching level in the order specified by preceding number
Error Actions
By definition, an error has occurred when a service returns an A or E in the field MSGTY of the standard interface parameter BAPIRET2 and there is no subsequent service specified in the flow definition for this particular situation.
WORKFLOW EVENT: A standard event is preconfigured and appears by default in the inbox of all CRM middleware users. When the event is executed, you can view the message and decide whether to:
Delete the message
Resume the message
Resume processing with the next service
MAIL: An e-mail message is sent to a specified user. This e-mail may contain the BDoc message and processing information.
© SAP AG TCRM20 13-20
SAP AG 2008
Different assignment of error actions are possible:
Error Handling Configuration
SMW00 Standard Error Action (valid for all messages)
Error Action for a specific BDoc type (only valid for messages of this BDoc type)
Error Action for a specific Site type (only valid for messages of this site type)
Error Action for aborted messages (detected by the Watch-Dog-Program)
The following error actions are possible: Workflow Event; E-Mail.
Different assignments of error actions are possible:
Standard Error Action (valid for all messages)
Error Action for a Specific BDoc Type
Error Action for a Specific Site Type
Error Action for Aborted Messages
These four logical levels are used in reverse order to determine the error actions to be carried out. If no specific error action has been assigned to a message, the least specific action (this means the default action) starts.
You can choose the following actions for a message:
Workflow event: the start event SERVICEERROROCCURRED of object type MIDMESSAGE has been prepared (the end event is SERVICEERRORFINISHED). This event triggers a work item of standard task TS75110000 (MIDMESSAGE.ShowMessage). As the event is executed, you can view the message and decide on what to do with it (Deletion, Resubmission, Resume Processing with the next service).
E-mail function.
Use transaction SMW3WD to find aborted BDoc Messages.
© SAP AG TCRM20 13-21
SAP AG 2008
Data Integrity Manager & Requests
CRM Operations
Data Integrity Manager & Requests
Error Handling
Troubleshooting
Monitoring
© SAP AG TCRM20 13-22
SAP AG 2008
Data Consistency
CRM R/3
Data Integrity ManagerSynchronization of transactional data
RequestsFor data with no delta load capability
In certain cases, you need tools to correct data inconsistency, for example, after you have to reset one system (incomplete recovery). SAP provides tools to detect inconsistencies and repair inconsistencies.
The Data Integrity Manager is a tool within CRM (transaction SDIMA) and can be used to repair inconsistent customizing settings between CRM and the R/3 Backends.
The Request loads selected data from SAP R/3 System to the CRM database or from an CRM database to an R/3 system. Both are triggered on the CRM system with Transaction R3AR4. The request overwrites entries for customizing objects and business data. Therefore, it behaves like an initial load. The request filters complement the adapter object filters, by further narrowing the data load and therefore permitting more refined filtering. Requests are used to synchronize data with no delta load capability like customizing.
© SAP AG TCRM20 13-23
SAP AG 2008
Cross-component data integrity
Functions at a glanceFramework for comparing and re-synchronizing databases
Comparison of business objectsAt object instance level
At field level
Synchronization of business objectsLoading of missing objects
Synchronization of object details
Enhanced: Data Integrity Manager
CRM Server
Re-synchronize
SAP R/3 Back End
Compare
With the Data Integrity Manager (DIMa), you can detect and repair inconsistencies between objects across components within the SAP CRM system landscape.
An SAP CRM system landscape usually consists of more than one database. Every SAP CRM system has a CRM database. In most cases, data exchange with one or more SAP R/3 back-end systems is necessary. A consolidated database is the basis for data exchange with mobile clients. It is very important to keep the objects in the different databases or datasets synchronized.
The Data Integrity Manager compares data in different components and displays inconsistencies. The data comparisons are always carried out for the CRM database and an R/3 back-end database, and the CRM database and the consolidated database.
For many objects, it is also possible to synchronize the data via the Data Integrity Manager.
There are two compare types available in the Data Integrity Manager: header compare and detail compare.
A header compare checks if an object instance exists in both databases.
A detail compare compares all data of an object instance found in both databases.
Some objects may not allow a header compare. The detail compare is then carried out.
© SAP AG TCRM20 13-24
SAP AG 2008
Explicit Requests for Individual Data
With a Request, selected data can be downloaded from the R/3 backend to the CRM database (or vice versa).
R/3 SystemR3AR4
Start of a Request is similar to an initial load
CRM Server
CRM Middleware
R/3 DB
CRM DB
Requests may be started using the menu Middleware → Data Exchange → Synchronization → Start Requests (R3AR4).
The Request loads selected data from SAP R/3 to the CRM database or from an CRM database to R/3. Both are triggered on the CRM system with Transaction R3AR4. The request overwrites entries for customizing objects and business data. Therefore, it behaves like an initial load. The request filters complement the adapter object filters, by further narrowing the data load and permitting therefore more refined filtering.
The request filters are merged with the general Adapter Object filters.
Caution: General Adapter Object filters for the table fields are ignored during a Request, if the filters of that request are defined for the same table fields. The reason for this is that the extractors, that is, the modules that extract the data from the database, combine filters for the same table fields with an or statement. If the filter of a request is also combined with an or statement, the result would be the entire data volume of the initial load. Please keep this in mind, if you define filters for Requests.
Requests can also be scheduled using background jobs (report SMOF_REQUESTN).
With a dedicated request, the possibility exists to repair a BDoc error. Mark the faulty BDoc as deleted in Transaction SMW01 and start the request for the object (for example, BUPA_MAIN) with the special filter settings.
Caution: This workaround should only be used if the object has not been changed after the change you want to redo. Otherwise, data inconsistencies could occur. Check carefully with the application consultants before using this method!
© SAP AG TCRM20 13-25
SAP AG 2008
Create Request
R3AR2
11
22
To create a new request, start transaction R3AR2. Switch to change mode and choose New Entries.
Enter a request name and the corresponding adapter object. Choose Enter to actualize the object class and the other attributes.
You can navigate to the maintenance of the selection criteria by double-clicking Request Detail. Choose New Entries and enter the table name and field name of the source table in sender system. Choose the value or the interval for the database selection.
© SAP AG TCRM20 13-26
SAP AG 2008
qRFC: Request for Business Adapter Objects
R/3
R/3 Table
SpecificExtractor
CRMR3AR4: Start Request
R/3-Adapter
qRFC
qRFC
OutboundQueueR3AR*
InboundQueueR3AR*
CRS_FIRST_DOWNLOAD_TRIGGEROutboundQueueR3AR*
InboundMessageFlow
mBDoc
Registration in Inbound Scheduler(SMQR)
The naming convention for the queues of the qRFC is R3AR_<Business Adapter Object> (R3A: R/3 Adapter; R: Request) for explicit requests for individual data.
© SAP AG TCRM20 13-27
SAP AG 2008
Troubleshooting Initial Load R/3 to CRM
CRM Operations
Initial Load from R/3 to CRM
Delta Load from R/3 to CRM
Load from CRM to R/3
Troubleshooting
Data Integrity Manager & Requests
Error Handling
Monitoring
© SAP AG TCRM20 13-28
SAP AG 2008
Initial Load for Business Data: Monitoring
R/3
R/3 Tables
Specific Extractor
CRM
CRM Database
R3AS: Start Initial Loadfor BusinessAdapter Object
R/3 InboundAdapter
InboundMessageFlow
qRFC
qRFC
Validation ServiceCRM-Application
OutboundMessageFlow
mBDoc
In Download Monitor R3AM1
?
In BDoc Monitor SMW01?
All needed data available? (CRM Application or SE16)
The download Monitor r3am1 gives the status of the Initial Load of a Business object. The BDoc monitor smw01 gives the status of single BDoc messages. To find out which BDoc type is used for a Business object, check the object management (r3ac1, r3ac3 or r3ac5). You will find the corresponding BDoc in the details of a Business object.
To check if the data is complete, check the corresponding application transactions or tables where the data is stored.
Request and DIMa problems can be checked in the same way as Initial loads with a few exceptions:
The monitor is not r3am1 but r3ar3 for the request and contained in sdima for DIMa Instances
The queue names are different: R3AR* for Request and R3AH* or R3AT* for DIMa
Loads from CRM to CDB can be checked in the same way as loads from R/3 to CRM with a few exceptions:
Everything that has to be checked in R/3 for loads from R/3 should be checked in CRM instead
The queue name is is different, it starts with CRI or CDB
Usually, no specific destination is used but destination NONE
© SAP AG TCRM20 13-29
SAP AG 2008
Load Has Not Been Started
R/3
R/3 Tables
Specific Extractor
CRM
CRM Database
R3AS: Start Initial Loadfor BusinessAdapter Object
R/3 InboundAdapter
InboundMessageFlow
qRFC
Validation ServiceCRM-Application
OutboundMessageFlow
mBDoc
In Download Monitor R3AM1
qRFC
Parent Objectsmissing?
LoadProblem?
Check, if object has parent objects: Parent objects are stored in table SMOFOBJPAR and can be viewed in the object management (r3ac1, r3ac3 or r3ac5).
Check, if parent objects have been loaded successfully.
Check, if number of running Initial loads, Requests and DIMa Instances is higher than SMOFPARSFA parameter MAX_PARALLEL_PROCESSES.
Check the download monitor (r3am1), the request monitor (r3ar3) and DIMa (sdima). The corresponding tables are SMOFDSTAT, SMOFRSTAT and SDIMASTAT. All entries in those tables with status running have to be added to give the total number of processes.
If there are not enough free processes, the order in which the loads are started is as follows:
- start Initial loads for objects which do not have any parent object at all.
- Start Initial Loads for objects that have parent objects that have green status.
- Start Requests.
- Start DIMa instances.
© SAP AG TCRM20 13-30
SAP AG 2008
Load Has Been Aborted
R/3
R/3 Tables
Specific Extractor
CRM
CRM Database
R3AS: Start Initial Loadfor BusinessAdapter Object
R/3 InboundAdapter
InboundMessageFlow
qRFC
Validation ServiceCRM-Application
OutboundMessageFlow
mBDoc
In Download Monitor R3AM1
qRFC
Load has been aborted manually. Restart the Initial Load. Load has been aborted automatically. The Load of data from CRM to R/3 has not been successful, check as for Upload.
Aborting an Initial load:
If you need to abort an Initial Load, aborting the load in the download monitor r3am1 will not be sufficient. Follow these steps:
Abort the Initial Load in r3am1.
Check for the correct process in R/3 or CRM transaction sm50 and cancel it. Make sure that you cancel the correct process to avoid data loss. The user of the process should be the user maintained in the RFC destination in sm59.
Delete the queue entries in smq1 or smq2. There can be queue entries in both queues.
It is dangerous to delete Initial loads and you should be certain of what you are doing!
© SAP AG TCRM20 13-31
SAP AG 2008
Load is running
R/3
R/3 Tables
Specific Extractor
CRM
CRM Database
R3AS: Start Initial Loadfor BusinessAdapter Object
R/3 InboundAdapter
InboundMessageFlow
qRFC
Validation ServiceCRM-Application
OutboundMessageFlow
In Download Monitor R3AM1
OutboundQueue (SMQ1)
OutboundQueue (SMQ1)
Inbound Queue (SMQ2)
qRFC
Short Dump (ST22)
Check in the download monitor r3am1 if the number of blocks that have been processed increases. If so, the load is still running and you have to wait. If the blocknumber does not increase or even is “0”, check the following:
Has the data request reached SAP R/3?
Check for queue entries in CRM Outbound queue (smq1).
If the blocknumber in the Download Monitor r3am1 shows 0 blocks:
Check the destinations for R/3 (in CRM) in sm59.
Has the data been extracted in R/3?
Check for short dumps in st22 in R/3.
Has the data been sent to CRM?
Check for queue entries in qRFC Outbound queue (smq1)
If the blocknumber in the Download Monitor r3am1 shows 0 blocks:
Check the destinations for CRM (in R/3) in sm59
Check which consumer is used for the object in the object management
Check table CRMCONSUM in R/3 if the consumer is active
Check for the given consumer in table CRMRFCPAR in R/3 if an entry exists for the object
Has the data reached CRM?
© SAP AG TCRM20 13-32
Check for queue entries in CRM Inbound queue (smq2) Check in the flow trace smw01 if there are Bdocs in error state
Check for short dumps in st22 in CRM
Table CRMRFCPAR:
Table CRMRFCPAR is valuated in the way that an entry for a specific object will always be taken if it exists. If no specific entry exists, an entry with objectname “*” will be taken. The same goes for the load type. If no entry exists, the Initial load will roll back to smq1 in CRM with a SYSFAIL, saying that no CRM is connected.
If the flag DISCARDDAT (dicard data, ignore data) is set to “X”, no data is sent.
Status of queue entries:
Queuenames for an Initial load start with R3AI.
If Queue entries exist in status READY, check smqs (for smq1) or smqr (for smq2) . If Queue entries exist in status SYSFAIL, analyse the error, correct it and restart the queue. SYSFAILS often are the cause of dumps. If you get a SYSFAIL in the outbound queue in CRM, check the R/3 system for dumps and vise versa.
If Queue entries exist in status RUNNING, wait for the Load to finish.
NEVER DELETE A QUEUE ENTRY MANUALLY
RFC Destination:
Check, if the RFC destination points to the correct system. If an Initial load is started in system A and selects data in system B and the RFC destination is called SYSTEMA but points to system C instead, the data will be send to system c where they are not processed. System A will never get an answer and the Load will remain in status running with 0 blocks loaded.
© SAP AG TCRM20 13-33
SAP AG 2008
BDoc Error
R/3
R/3 Tables
Specific Extractor
CRM
CRM Database
R3AS: Start Initial Load
R/3 InboundAdapter
InboundMessageFlow
qRFC
Validation ServiceCRM-Application
OutboundMessageFlow
mBDoc
In BDoc Monitor SMW01
qRFC
Validation Error?
TechnicalError?
Check in the BDoc Monitor smw01 if it is a technical error or a validation error. For technical errors, check if there are corresponding short dumps in st22.
For validation errors, check the error messages and correct the problem.
Note: Restarting an erroneous BDoc may cause data inconsistency if changes to the Business object have been done afterwards. If you are not sure if the Business object was changed in the meantime, compare the two objects and check which one is correct. Then define a Request for the Business object and start it. You can then set the erroneous Bdoc manually to completed. If you are sure that no changes have been made, you can restart the erroneous Bdoc.
© SAP AG TCRM20 13-34
SAP AG 2008
Data Is Not Complete
R/3
R/3 Tables
Specific Extractor
CRM
CRM Database
R3AS: Start Initial Load
R/3 InboundAdapter
InboundMessageFlow
qRFC
CRM-Application
OutboundMessageFlow
mBDoc
In Download Monitor R3AM1
qRFC
Test with CRM Application or SE16
In BDocMonitor SMW01Validation
Service
Check Business Adapter Object (transaction R3AC1): Check the filter criteria: Is a filter condition reason for missing data? Check Tab ‘Tables / Structures in Object’ : is the flag ‘inactive’ marked for a needed table?
Check Middleware Trace (smwt) for messages
How do combined filters work?
If more than one filter condition is maintained, filters are combined so that filter conditions on the same field of the same table are combined using the logical OR while filters on different tables or fields are combined using the logical AND.
Example: Tablename Fieldname Operator Value KNA1 KUNNR EQ 0000012345 KNA1 KUNNR GE 0000020000 KNA1 BRSCH EQ ABC KNVV VKORG EQ 1000 This will result in all Business Partners of branch ABC and sales organization 1000 which have the customer numbers 0000012345 OR a number greater or equal to 0000020000.
Note: You cannot create filter conditions like ( Field A equal 1 and field B equal X ) OR ( Field A equal 3 and field B equal Y ).
© SAP AG TCRM20 13-35
SAP AG 2008
Troubleshooting Delta Load from SAP R/3 to SAP CRM
CRM Operations
Initial Load from R/3 to CRM
Delta Load from R/3 to CRM
Load from CRM to R/3
Trouble Shooting
Data Integrity Manager & Requests
Error Handling
Monitoring
© SAP AG TCRM20 13-36
SAP AG 2008
Delta Download: Check Customizing
R/3
R/3 Tables
Business TransactionEvent
CRM
CRM Database
R/3 InboundAdapter
InboundMessageFlow
qRFC
Validation ServiceCRM-Application
mBDoc
Change BusinessData
BTEs for BC-MID active
(FIBF) ?
Delta Load per Object/Consum
er active in CRMFRCPAR
(SM30)?
Delta Loadactive (R3AC4)
CRM Consumeractive in
CRMCONSUM (SM30)?
Is the Delta Load active? Check, if the applications BC-MID and NDI are active in table TBE11 in R/3
Check, if the Events are active
- In CRM go to transaction r3ac4 and check for the events
- In R/3 check, if those events can be found in table TBE31
Event handling
In transaction r3ac4 all events are listed that are needed for the different objects. These events are automatically activated if an Initial load is started. You can use r3ac4 to manually activate or deactivate events. Events are client independent, therefor it is not possible, to deactivate the event if it shall be deactivated for one client in R/3. If you want to deactivate it completely, you have to do that manually. Deactivating an Event in r3ac4 leads to an entry in CRMRFCPAR that has the flag “Discard data” set to “X” and thus prevents the data from being sent to CRM.
Table CRMRFCPAR:
Table CRMRFCPAR is valuated in the way that an entry for a specific object will always be taken if it exists. If no specific entry exists, an entry with objectname “*” will be taken. The same goes for the load type. If no entry exists, no answer will be send.
© SAP AG TCRM20 13-37
SAP AG 2008
Delta Download: Error Within SAP R/3
R/3
R/3 Tables
Business TransactionEvent
CRM
CRM Database
R/3 InboundAdapter
InboundMessageFlow
qRFC
Validation ServiceCRM-Application
mBDoc
Change BusinessData
Entries in OutboundQueue (SMQ1)?
Initial Load still running?(R3AM1)
RFC Destination working?
OutboundQueue
registered? (SMQS)
Has the data been send to CRM? Check for queue entries in R/3 Outbound queue (smq1)
Check the destinations for CRM (in R/3) in sm59
Check table CRMCONSUM in R/3 for all active consumers
Check for all active consumers in table CRMRFCPAR in R/3 if an entry exists for the object
If the queue is stopped, check if an Initial Load or Request is running
Check the filter definitions
Status of queue entries:
If there is a STOP entry for a queue beginning with R3AD and a “*” at the end, this usually is set due to a running Initial Load or Request. These have to be finished before any Delta Load is allowed to be processed.
For more details about the structure of queue entries, refer top previous slide on load is running.
Where to check the filter definition:
You can check the filter definition in CRM in the object management (r3ac1, r3ac3 or r3ac5). Check, for which consumer the filter has been set. Check, if the consumer used in R/3 table CRMRFCPAR matches the consumer of the filter criteria.
© SAP AG TCRM20 13-38
SAP AG 2008
Delta Download: Error in CRM (1)
R/3
R/3 Tables
Business TransactionEvent
CRM
CRM Database
R/3 InboundAdapter
InboundMessageFlow
qRFC
Validation ServiceCRM-Application
mBDoc
Change BusinessData
Entries in Inbound Queue
(SMQ2)?
Initial Load still running?(R3AM1)
Inbound Queue registered?
(SMQR)
no entry in BDoc Monitor
(SMW01)?
Has the CRM received the data? Check for queue entries in CRM Inbound queue (smq2)
Check in the flow trace smw01 if there are error messages for the BDoc
Check for short dumps in st22 in CRM
If too much data gets to CRM
Check note 788822.
Implement all the notes referred to in that note
check all customizing settings described in that note.
Status of queue entries:
For more details about the structure of queue entries, refer top previous slide on load is running.
© SAP AG TCRM20 13-39
SAP AG 2008
Delta Download: Error in CRM (2)
R/3
R/3 Tables
Business TransactionEvent
CRM
CRM Database
R/3 InboundAdapter
InboundMessageFlow
qRFC
Validation ServiceCRM-Application
OutboundMessageFlow
mBDoc
Change BusinessData
NotificationService
in BDocMonitor
(SMW01)?
Validation Error?
TechnicalError?
© SAP AG TCRM20 13-40
SAP AG 2008
Troubleshooting Load from CRM to R/3
CRM Operations
Initial Load from R/3 to CRM
Delta Load from R/3 to CRM
Load from CRM to R/3
Troubleshooting
Data Integrity Manager & Requests
Error Handling
Monitoring
© SAP AG TCRM20 13-41
SAP AG 2008
No Data Replication to R/3 Site
CRM
OutboundMessage Flow
FlowContextMO1 + MOA
Call Outbound Adapter 0002
Simple Replication Service 0001
No Receivers in BDoc Monitor (SMW01)
InboundMessageFlow
Validation Service
R/3 Site deactive?
(AdminConsole)
Subscriptionmissing? (Admin
Console)
Is the R/3 site receiver of the data?
Does an R/3 site exist with the correct RFC Destination (check in smoeac)
Check, if there is a corresponding subscription for the object and the R/3 Site (smoeac)
© SAP AG TCRM20 13-42
SAP AG 2008
No Data Replication to R/3 Site: Delta Load
CRM
CRM Database
CRM-Application
OutboundMessage Flow
FlowContextMO1 + MOA
CRMAdapter
qRFC
Inb QueueCSA*
Call Outbound Adapter 0002
Simple Replication Service 0001
mBDoc
in InboundQueue (SMQ2)?
Inbound Queue registered?
(SMQR)
The CRM Application creates data on database and creates an BDoc within one LUW. The BDoc is passed to the Outbound Flow via qRFC. The name convention for the Queue is CSA*.
For single data the Flow Context is MO1 and MOA. For multiple data MO2 and MOB.
Within these Flow Contexts the Replication Service is called to find out the subscribed receivers. For each Receiver the Outbound Adapter is called.
In our case the data is to be transferred to the R/3 System.
© SAP AG TCRM20 13-43
SAP AG 2008
CRM
OutboundMessage Flow
FlowContextMO*
Call Outbound Adapter 0002
Simple Replication Service 0001
No Data Transfer
R/3
R/3 TablesR/3 OutboundAdapter
mBDoc
CRM_UPLOAD_TRIGGER
qRFC
mBDoc
Outb. QueueR3AU*
RFC Destination correct in R/3 Site? (Admin
Console)
RFC Destination correct (SM59)
RFC User locked or missing authorizations? (SU01)
in Outbound Queue(SMQS)?
Object SpecificFunction Module
In our case the data is to be transferred to the R/3 System. The R/3 Outbound Adapter is called to convert the BDoc into a BAPIMTCS datacontainer.
The BAPIMTCS datacontainer is transferred to the receiver via qRFC. The name convention for the Queue is R3AU*
Has the data been sent to R/3?
Check for queue entries in CRM Outbound queue
Check the destinations for R/3 (in CRM) in sm59
© SAP AG TCRM20 13-44
SAP AG 2008
No Answer from R/3
R/3
R/3 Tables
Business TransactionEvent
CRM
CRM Database
R/3 InboundAdapter
InboundMessageFlow
qRFC
Validation ServiceCRM-Application
OutboundMessageFlow
mBDoc
Change BusinessData
NotificationService
in BDocMonitor
(SMW01)?
The BDoc monitor will shows if the R/3 has not sent an answer yet; the status will be “Send to receiver, not all have responded”. Check the receivers for errors.
Has the CRM received an answer?
Does the Delta load work – check as for Delta Loads
Check for queue entries in R/3 Outbound queue (smq1)
Check the destinations for CRM (in R/3) in sm59
Check table CRMCONSUM in R/3 for all active consumers
Check for all active consumers in table CRMRFCPAR in R/3 if an entry exists for the object
Check for queue entries in CRM Inbound queue (smq2)
Check in the flow trace smw01 if there are error messages for the BDoc
Check for short dumps in st22 in CRM
© SAP AG TCRM20 13-45
SAP AG 2008
You are now able to:
CRM Middleware Operations: Unit Summary
Utilize Monitoring Tools
Set up Error handling Features
Understand the tools available to compare and sync objects across systems.
Troubleshoot errors.
© SAP AG TCRM20 13-46
© SAP AG TCRM20 13-47
Exercises
Unit: Middleware Operations
Topic: Monitoring of Data Loads
At the conclusion of this exercise, you will be able to:
• Track the progress of a data load.
• Understand the effect of the registration and deregistration of the RFC queues.
As an administrator you need to track the progress of data loads. You need to be able to know when and when not to reprocess filed BDOC messages, and be able to review queued records.
Preparation notes: Your Instructor has deregistered the inbound queue of the CRM server. The instructor used transaction SMQR and deregistered Queues R3AD* which will kill all R/3 to CRM delta. In addition, he/she has ensured the locking mechanism SE38 >> ZSENQON is on! In addition to this, there is some customizing in the CRM system that is not in ERP which will cause you more problems.
1-1 In the ERP system, change the P.O. Box number in the address data of your business partner with the name and search term GROUP##A to 23435 from 23434 in the SAP ERP system. Then save your entry and verify if the CRM system has received the change. Use Change mode in CRM, for exercise purposes only.
1-2 Because the inbound processing has not yet taken place, you may view the relevant inbound queue (open a new session). Try and find the data contained in a logical unit of work (LUW).
1-3 Activate the queue for your business partner manually. Did this cuase th eupdate to succeed?
1-4 Display the reason your update failed.
© SAP AG TCRM20 13-48
1-5 Perform the action suggested by the error message and get out of the locking situation.
1-6 Try and reprocess your BDoc. Enter the copied BDoc ID number in the selection screen. Refresh the screen. What happens?
*************** STOP ****************** Let all students catch up to this point!
At this point remind the instructor that you are complete and that he/she should reregister R3AD* queues, using SMQR on CRM.
1-7 Change the business partner (Group##A)again , this time add the region ZZZ. Make this change from the CRM “BP” transaction in change mode. To make sure we do not have a locking issue back out of the transaction in VD02 in ERP.
1-8 Check whether the business partner now has a new region (ZZZ) in the ERP system. If it is not there, perform an extensive error tracking.
1-8-1 Check, if the business partner is updated with region ZZZ in the ERP system.
1-8-2 Check the inbound queue of the ERP system.
1-8-3 Check the outbound queue of the CRM system.
1-8-4 Check the BDoc message.
1-9 (OPTIONAL STEP) Now repeat the step above this time for the partner 4003## you created in the initial exercise, remember it did not make it to CRM. Why did it fail? ___________________________________________________
Middleware Operations
© SAP AG TCRM20 13-49
Solutions
Unit: Middleware Operations
Topic: DIMA
Before this exercise starts, remind your instructor to load region ZZZ as a valid region for Country FR in the ERP system using the path SPRO>>> SAP Netweaver >> general settings >> Set countries >> insert regions.
2-1 Create a DIMA instance limited to the BP you created in step 1-7 in the prior exercise. Do a header then a detailed compare and then create a request to fix any discrepancy between the details of the BP in CRM vs. the Customer in the ERP system.
2-1-1 Create a DIMA instance filtering on your specific customer. Check, if the business partner is created in the ERP system. Use the information in the table below.
Field Name or Data Type Values
Dima Instance Group##
Dima Object Customer
Filter Mode C Dima Filter Only
Start Compare on Wizard Completion
“Check this box”
Filter Settings After adding a filter row:
Table KNA1
Field Name KUNNR
Option EQ
Low* 10 digit customer number from R/3 add leading zeros as needed. Use the number from your “Group## A” business partner.
0000__ __ ___ ___ ___ ___
2-1-2 Refresh the result to see the execution of your DIMA instance. And evaluate the status lights. You just performed a header compare.
2-1-3 Start a detailed compare.
© SAP AG TCRM20 13-50
2-2 Create a Request designed to fix the ERP customer master (adding the ZZZ region). Execute the request to accomplish the fix. Note: You might need to ask the instructor to run job ZSENQOFF to allow group n access, to configuration tables.
2-2-1 Create the request using the information below:
Request Header Information:
Request name: CR500GR## Adapter Object: BUPA_MAIN Object Class: BUPA
Request Detail Table Name: BUT000 Field Name: PARTNER INCL/EXCL : I ( inclusive defined set / array) OPTION: EQ (equality) LOW: “YOUR BP NUMBER” (0000__ __ __ __ __ __)
2-2-2 Now start your request. Use the following.
Request Name: CR500GR## Source System: CRM (In caps) Target System: R/3 ( In caps)
2-2-3 Verify the ERP customer is updated with region “ZZZ”.
© SAP AG TCRM20 13-51
Middleware Operations Solutions
Unit: Middleware Operations
Topic: Troubleshooting
Before this exercise starts, your instructor will “break the system”. It is your job to figure out why your newly created customer from the ERP system is not loading to CRM.
Note: You are not to fix the problem as it will be unfair to the other
students. In addition, please do not tell the other students what you find, just tell the instructor and they will congratulate you! You should also not change any configuration that will break anything else, again to be fair to
all.
© SAP AG TCRM20 13-52
3-1 Create a customer in ERP. This time use account group 001 (sold to party) Create the customer with the external number 999## in Paris, FR. Use the search term and name “Group##C” in ERP as a copy of 301145 using the following data: This time you will assign the customer an external number, and you will use the account group 0001. You must also add tax classifications of “0” for DE and the US.
Field Name or Data Type Values
Account Group 0001 (sold to party)
Customer 999##
Sales Organization 3020
Distribution Channel 30
Division 00
***** REFERENCE ****
Customer 300045
Sales Organization 3020
Distribution Channel 30
Reference Division 00
******New information ****
City Paris
Country FR
Tax Classification DE 0
Tax Classification US 0
3-2 Verify that the customer 999## was created in CRM.
Did it make it to CRM? ___________
© SAP AG TCRM20 13-53
3-3 Troubleshoot the problem. Below are some things to check. They are not necessarily in the correct order, but a great suggestion! We also suggest you access many of them by branching off the CRM Middleware monitoring cockpit.
.
3-3-1 Access the middleware monitoring cockpit, this will be your starting point for evaluation. Although the status lights might not be updated due to the fact that the jobs that update the status on the cockpit have different scheduled frequency, it is still a good place to start, as it will have links to many things you should check.
From SMWP, verify that the SAP_MW_COCKPIT_COLLECTOR_710 job is actually running every hr. Also check to see if your CRM system is linked to the ERP system. Verify the logical and RFC destination system is, in fact, the correct one.
3-3-2 Check the Queues in R/3 and CRM to see if they have not been processed.. Is your BP involved in a blocked queue?
3-3-3 Check for BDOC errors. Is your customer 999## involved in any BDOC message errors?
3-3-4 Investigate the filters assigned to the adapter object for materials from R/3. Make sure your implementation was not filtering out some objects so they are not transferred to CRM on purpose.. In order to do this you must first find out which adapter object is involved with the KNA1 table, this is the table that stores the customer data in R/3.
Note: At the end of the exercise (after all students have completed it) please remind the instructor to remove the filter they added to “break the system” or just set the inactive flag!
© SAP AG TCRM20 13-54
© SAP AG TCRM20 13-55
Solutions
Unit: Middleware Operations
Topic: Monitoring of Data Loads
Preparation notes: Your Instructor has deregistered the inbound queue of the CRM server. The instructor used transaction SMQR and deregistered Queues R3AD* which will kill all R/3 to CRM delta. In addition, he/she has ensured the locking mechanism SE38 >> ZSENQON is on! In addition to this, there is some customizing in the CRM system that is not in ERP which will cause you more problems.
1-1 In the ERP system, change the P.O. Box number in the address data of your business partner with the name and search term GROUP##A to 23435 from 23434 in the SAP ERP system. Then save your entry and verify if the CRM system has received the change.
Use transaction VD02 or this path in the ERP system:
Logistics → Sales and Distribution → Master Data → Business Partners → Customers → Change → Sales and Distribution
In CRM use transaction BP ( no path as this is the older CRM 5.0 GUI based transaction in CHANGE mode) :
Select the icon and then access change mode with the icon.
Even though you are just looking access change mode!
The change is not displayed because the inbound processing has been interrupted. The instructor has deactivated the standard RFC scheduler via
Architecture and Technology→ Middleware → Administration → Register/Deregister Queues
Do not register the inbound queue!
© SAP AG TCRM20 13-56
1-2 Because the inbound processing has not yet taken place, you may view the relevant inbound queue (open a new session). Try and find the data contained in a logical unit of work (LUW).
Middleware → Monitoring → Queues → Display Inbound RFC Queues (transaction SMQ2)
The queue name is R3AD_CUSTOME0000xxxxxx (xxxxxx stands for your customer number). Queue names are controlled by the CRM Server Applications. Because the CRM Middleware has not processed the data yet, the conversion from the BAPI structures into a BDoc has not taken place.
To view the data, choose:
Middleware → Monitoring → Queues → Display Inbound RFC Queues (transaction SMQ2)
Select the queue line, choose Display selection, select the line and click Choose, choose Display LUW. The logical unit of work (LUW) contains the data in a BAPI structure. You’ll find your P.O. Box number by using the Find button. Enter your P.O. Box number with 3 blanks between the digits.
1-3 Activate the queue for your business partner manually.
Choose:
Middleware → Monitoring → Queues → Display Inbound RFC Queues (transaction SMQ2)
Select your queue R3AD_CUSTOME0000xxxxxx (xxxxxx stands for your customer number). Choose Display Selection. On the following screen press the Active queue button or press F6.
Check, if your entries have been processed by pressing the Refresh button. Check if your change can be displayed in the CRM system:
Master data → Business Partner → Maintain Business Partners (BP)
The data has not changed.
© SAP AG TCRM20 13-57
1-4 Display the reason your update failed.
Middleware → Monitoring → Message Flow → Display BDoc Messages (SMW01)
Use your user id at the top of the screen and use the radio button( last hour for example) toreduce the list.
Identify the BDoc with the data of your business partner ( look at the queue name) ADS .In the Display BDoc Messages screen, select your BDoc and choose the icon.
Go back and check the BDoc for any error information. Copy the BDoc ID number for later use.
In the Display BDoc Messages screen, select your BDoc and choose Error (or Display Error Segments). Among some warnings you find the following error message: “Business Partner <customer number> is currently being processed by <your user name>.”
1-5 Perform the action suggested by the error message and get out of the locking situation.
In CRM transaction BP use the icon to leave the transaction. You do not need to save.
© SAP AG TCRM20 13-58
1-6 Try and reprocess your BDoc. Enter the copied BDoc ID number in the selection screen. Refresh the screen. What happens?
Middleware → Monitoring → Message Flow → Display BDoc Messages (SMW01)
Select your BDoc in error status, go to BDoc message → Process → Reprocess to process or use the appropriate button Reprocess to process Message. Your BDoc, which had been in error status, now has a Confirmed status. The BDoc flow Validate caused the writing of the data to the CRM database. This change to the CRM database triggered a new BDoc flow (Notification), which in turn created a new messaging BDoc, which this time is destined for any receivers identified by the Replication Service (for example, a back-end system or the synchronization in case the mobile bridge for the BDoc type has been activated).
Check if the change is now displayed for your business partner. The change should be displayed now.
*************** STOP ****************** Let all students catch up to this point!
At this point remind the instructor that you are complete and that he/she should reregister R3AD* queues, using SMQR on CRM.
1-7 Change the business partner (Group##A)again , this time add the region ZZZ. Make this change from the CRM “BP” transaction in change mode. To make sure we do not have a locking issue back out of the transaction in VD02 in ERP.
© SAP AG TCRM20 13-59
1-8 Check whether the business partner now has a new region (ZZZ) in the ERP system. If it is not there, perform an extensive error tracking.
1-8-1 Check, if the business partner is updated with region ZZZ in the ERP system.
To view the data, choose:
Logistics → Sales and Distribution → Master Data → Business Partners → Customers → Display → Sales and Distribution (transaction VD03)
The business partner has not been updated in the ERP System.
1-8-2 Check the inbound queue of the ERP system.
To view the data execute in the ERP system transaction SMQ2.
The inbound queue of the ERP system is empty.
1-8-3 Check the outbound queue of the CRM system.
To view the data, choose:
Middleware → Monitoring → Queues → Display Outbound RFC Queues (transaction SMQ1)
The outbound queue is empty.
© SAP AG TCRM20 13-60
1-8-4 Check the BDoc message.
To view the data, choose:
Middleware → Monitoring → Message Flow → Display BDoc Messages (SMW01)
Identify the BDoc with the data of your business partner.
Select the BDocs of type BUPA_MAIN,. Both the Overview and Detail View show the BP number as part of the queue name.
Go back and check the BDoc for any error information.
In the Display BDoc Messages screen, select your BDoc and choose the
icon and then the icon in the errors.
The BDoc State is not processed. The error segment displays (select the icon in the Errors Column: The region ZZZ is not defined for country FR.
Note the other sites are for the Groupware adapter which in our system has not been 100% installed, so no response is generated, which normally ends in a “yellow” status.
1-9 (OPTIONAL STEP) Now repeat the step above this time for the partner 4003## you created in the initial exercise, remember it did not make it to CRM. Why did it fail? ___________________________________________________ It failed because the BP is already in CRM. It can not create two different Business Partners using the same number. This is a critical problem! Bad configuration of the number ranges in CRM Vs the ERP system can not be allowed. These number range mappings are set up via ERP transaction PIDE. We are not going to fix this problem in this class as it is a business issue that should not arise with proper configuration.
Middleware Operations
© SAP AG TCRM20 13-61
Solutions
Unit: Middleware Operations
Topic: DIMA
Before this exercise starts, remind your instructor to load region ZZZ as a valid region for Country FR in the ERP system using the path SPRO>>> SAP Netweaver >> general settings >> Set countries >> insert regions.
2-1 Create a DIMA instance limited to the BP you created in step 1-7 in the prior exercise. Do a header then a detailed compare and then create a request to fix any discrepancy between the details of the BP in CRM vs. the Customer in the ERP system.
© SAP AG TCRM20 13-62
2-1-1 Create a DIMA instance filtering on your specific customer. Check, if the business partner is created in the ERP system. Use the information in the table below.
Follow the CRM path: Architecture and Technology → Middleware → Data Exchange → Synchronization → Data Integrity Manager ( transaction SIMA)
Select the “New DIMa Instance” button:
Using the “continue” button on the bottom of the wizard, enter the information in the table below: When you get to the filter settings step you will need to select the + (insert row ) icon to add a filter.
When you are finished using the wizard, the last step of pressing “complete” will execute the DIMa.
Field Name or Data Type Values
Dima Instance Group##
Dima Object Customer
Filter Mode C Dima Filter Only
Start Compare on Wizard Completion
“Check this box”
Filter Settings After adding a filter row:
Table KNA1
Field Name KUNNR
Option EQ
Low* 10 digit customer number from R/3 add leading zeros as needed. Use the number from your “Group## A” business partner.
0000__ __ ___ ___ ___ ___
© SAP AG TCRM20 13-63
2-1-2 Refresh the result to see the execution of your DIMA instance. And evaluate the status lights. You just performed a header compare.
After a minute or 2 click the Refresh Icon, and double click on the folder “one object exists in both systems”. Review the results in the right side of the screen that show the BP exists in BOTH CRM and ERP.
2-1-3 Start a detailed compare.
Select the row on the results table, and then follow the path DIMA >>> Start Detailed compare (or use the drop down box next to the compare icon). After a minute or two, click the refresh icon and then select the red status light.
Now scroll to the right on the revised results row and click on the check box for the messages. It should SAY ZZZ does not exist in R/3.
© SAP AG TCRM20 13-64
2-2 Create a Request designed to fix the ERP customer master (adding the ZZZ region). Execute the request to accomplish the fix. Note: You might need to ask the instructor to run job ZSENQOFF to allow group n access, to configuration tables.
2-2-1 Create the request using the information below:
Request Header Information:
Request name: CR500GR## Adapter Object: BUPA_MAIN Object Class: BUPA
Request Detail Table Name: BUT000 Field Name: PARTNER INCL/EXCL : I ( inclusive defined set / array) OPTION: EQ (equality) LOW: “YOUR BP NUMBER” (0000__ __ __ __ __ __)
Follow path: Architecture and Technology→Middleware→Data Exchange `→Synchronization→Define Requests.
First select new entries and create the Header, then select the header and branch to the details. Save your request.
2-2-2 Now start your request. Use the following.
Request Name: CR500GR## Source System: CRM (In caps) Target System: R/3 ( In caps)
Follow path: Architecture and Technology→Middleware→Data Exchange →Synchronization→Start Requests.
2-2-3 Verify the ERP customer is updated with region “ZZZ”.
Either wait a minute or two and check your customer via ERP transaction VD03, or first use the path:Architecture and Technology→Middleware→Data Exchange `→Synchronization→Monitor Requests to see if it finished ok..
© SAP AG TCRM20 13-65
Middleware Operations Solutions
Unit: Middleware Operations
Topic: Troubleshooting
Before this exercise starts, your instructor will “break the system”. It is your job to figure out why your newly created customer from the ERP system is not loading to CRM.
Note: You are not to fix the problem as it will be unfair to the other
students. In addition, please do not tell the other students what you find, just tell the instructor and they will congratulate you! You should also not change any configuration that will break anything else, again to be fair to
all.
© SAP AG TCRM20 13-66
3-1 Create a customer in ERP. This time use account group 001 (sold to party) Create the customer with the external number 999## in Paris, FR. Use the search term and name “Group##C” in ERP as a copy of 301145 using the following data: This time you will assign the customer an external number, and you will use the account group 0001. You must also add tax classifications of “0” for DE and the US.
Field Name or Data Type Values
Account Group 0001 (sold to party)
Customer 999##
Sales Organization 3020
Distribution Channel 30
Division 00
***** REFERENCE ****
Customer 300045
Sales Organization 3020
Distribution Channel 30
Reference Division 00
******New information ****
City Paris
Country FR
Tax Classification DE 0
Tax Classification US 0
Transportation Zone F000010000 (Northern France)
Access transaction code VD01.
Enter the Data in the above table and choose , press again to respond to the warning about the fact that the Reference Account Group is not the same as the one you are now using.
Enter “Group##C” in both the Name and Search Term fields and the city of Paris and country of FR. Also add the transportation zone F000010000.
Save.
You may need to enter the tax staus of “1” for each country in the following screen.
Save.
© SAP AG TCRM20 13-67
3-2 Verify that the customer 999## was created in CRM.
Did it make it to CRM? ___________
Access the older CRM5.0 transaction “BP” : Select the open icon and enter the customer # 999##.
The answer should be no, the 999## had a problem getting to the CRM system. It has been stuck somewhere. You need to figure out why in the remainder of this exercise.
© SAP AG TCRM20 13-68
3-3 Troubleshoot the problem. Below are some things to check. They are not necessarily in the correct order, but a great suggestion! We also suggest you access many of them by branching off the CRM Middleware monitoring cockpit.
.
3-3-1 Access the middleware monitoring cockpit, this will be your starting point for evaluation. Although the status lights might not be updated due to the fact that the jobs that update the status on the cockpit have different scheduled frequency, it is still a good place to start, as it will have links to many things you should check.
From SMWP, verify that the SAP_MW_COCKPIT_COLLECTOR_710 job is actually running every hr. Also check to see if your CRM system is linked to the ERP system. Verify the logical and RFC destination system is, in fact, the correct one.
From the cockpit using the path: Architecture and Technology → Middleware → Monitoring→ Central Monitoring→Monitoring Cockpit (SMWP)
Verify that the initial view is SAP_ALL, if not change it to this view by using the drop down box at the top left of the screen. Note: By changing the view, you can focus in on one specific branch of full “SAP_ALL” monitoring tree. Save this view as your favorite view, so that it will be sure to come in the next time by selecting the “Set as Start View button”
Select the legend icon and review the meaning of the symbols on the monitoring cockpit. Verify that the job to update the status lights is running every hour: Open the branch called “Background Jobs” and double click the job “Collector for the monitoring Cockpit.” Now double click any run of the job executions in the overview screen. Now select the “start condition button” an the then the period values button. ??? Is the Frequency hourly? Yes!
Now find
Runtime Information→Adapter status information → Parameters In R/3 backends > R/3 →Parameters for Object load management
Now double click “Entries with RFC-Destination for the local CRM system” Note the table name of CRMRFCPAR and click “Display”. In this R/3 CRMRFCPAR table look for entry CRM to verify which CRM system is the user for this R/3 system (you might not notice you are no now in your ERP system!).
© SAP AG TCRM20 13-69
3-3-2 Check the Queues in R/3 and CRM to see if they have not been processed. Is your BP involved in a blocked queue?
IN SMWP (the monitoring cockpit ), access Runtime Information →Data Exchange Using QRFC Queues → QRFC Queues in R/3 Backends →R/3 → Loads for CRM Server → now Double Blocked Queues (SMQ1 on the ERP system)
QRFC Queues in CRM server →Data Exchange with R/3 backend →Loads from R/3 back end → Blocked Queues (SMQ2 on CRM)
3-3-3 Check for BDOC errors. Is your customer 999## involved in any BDOC message errors?
Although the monitoring cockpit has direct links to the BDOC errors, using the path: Run Time Information → CRM Middleware BDOC message in the flow→ Status of Bdoc Messages( this accesses SMW02- BDOC Message Summary), it might be better to: Use SMW01, to access the details. Answer: NO
3-3-4 Investigate the filters assigned to the adapter object for materials from R/3. Make sure your implementation was not filtering out some objects so they are not transferred to CRM on purpose.. In order to do this you must first find out which adapter object is involved with the KNA1 table, this is the table that stores the customer data in R/3.
Check business adapter object. To find it use the Table SMOFTABLES and enter the R/3 customer master table KNA1 in the R3TABNAME field.
The adapter Object is CUSTOMER_MAIN.
Find this adapter object “CUSTOMER_MAIN” in Object Management via path Architecture and Technology→ Middleware → Data Exchange→ Object Management →Business Objects (transaction R3AC1). Review it settings. Is it active? Does it have any filters coming from the R/3 source. YES it does! “Your company= your crazy instructor” decided not to transfer Business Partners (TABLE KNA1 , field KUNNR) with the numbers between 0000099900 and 0000099950
Note: At the end of the exercise (after all students have completed it) please remind the instructor to remove the filter they added to “break the system” or just set the inactive flag!
© SAP AG TCRM20 13-70
© SAP AG TCRM20 14-1
SAP AG 2008
The Groupware Adapter Overview)
Groupware AdapterOverview of the Groupware Adapter
Moving contacts and Appointments between groupware an CRM is the purpose of the groupware adapter.
© SAP AG TCRM20 14-2
SAP AG 2008
The Groupware Adapter: Unit Objectives
At the conclusion of this unit, you will be able to:
Understand the purpose and basic technology of the Groupware Adapter.
Note: This unit should just be treated as an exposure/ overview, the appendix contains more detailed information to be used when thisfunctionality is being implemented. It will not be included as part of the certification test.
© SAP AG TCRM20 14-3
SAP AG 2008
Landscape for Groupware Adapter
CRM Server
GroupwareServer
XMLBD ocMessage
CRM Middleware
SAP NetWeaver Application Server
MessageConversion
SAP MapBox
SAPGroupwareConnector/
SAPGroupwareConnectorProxy XML
Vcard/iCalendar
Groupware Adapter
BusinessPartners
BDocMessage
Activities
Data such as business partners and activities can be exchanged between SAP CRM and the Groupware solution in both directions. The business partners and activities are provided to Groupware users as contacts and tasks or appointments and vice versa.
The following diagram illustrates the data flow in Groupware integration: -
• The data Exchange between CRM and Groupware is performed via a Groupware Adapter and Groupware Connector. The Groupware adapter is called as part of messaging flow of CRM Middleware. On subsequent slides each component will be discussed in a little more detail.
© SAP AG TCRM20 14-4
Various notes that are related to the Groupware adapter:
General Groupware integration
Note Number Short Description
1071992ABAP MapBox Fixes for CRM 5.0 SP09
1096187Fixes for CatsList.xml - ABAP MapBox
1096928ABAP MapBox Fixes for CRM 5.0
1097065CRM ABAP MapBox changes to 5.2
SAP Groupware connector notes
843407Installation Guide
957409Groupware Exchange Connector Troubleshooting Guide
959294Groupware Adapter Customizing and User Guide. This SAP Note describes the Customizing settings for the Java-based MapBox. You can also use it for settings in the ABAP-based MapBox, because the only difference is the way in which the data is saved.
© SAP AG TCRM20 14-5
SAP AG 2008
Integration Architecture: Groupware Adapter.
Groupware Integration Architecture
SAPMapBox
CRM Applications
GroupwareAdapter
CRM Middleware
CRM Server
DCOM/RMI
Ms Exchange Server
orLotus Domino
Server
SAPGroupwareConnector
SAP NetWeaverApplication Server
GroupwareServer (s)
GroupwareServer (s)
ConnectorProxy
SOAPVia
HTTP
GroupwareNative API
ConnectorProxy
Groupware Adapter: The Groupware Adapter on the CRM server supports the conversion of messages. It is based on the SyncPoint technology. BDoc messages are converted to standard Groupware formats (iCalendar and vCard). A mapping framework is used here, the MapBox and the payload interface (SOAP-based messaging interface for the exchange of data between the CRM server and the Groupware Connector). iCalendar and vCard are the Internet standards for the display of Groupware calendar objects and contacts. Predefined mappings are delivered for Groupware integration.
The V Card or I calendar XML data is sent from the mapbox via the internet standard HTTP protocol, as a SOAP message. The Groupware connector provides a response that the item was or was not processed.
It is the job of the Exchange server (Lotus Domino or MS Exchange) to communicate the new contacts or activities to the employee the next time they log in. The process also works in reverse.
© SAP AG TCRM20 14-6
SAP AG 2008
Integration Architecture: MapBox and SAP Groupware Connector.
SAP Groupware Connector:
Executes message synchronization between the CRM server and the Groupware server.
Syncs calendar and contact information bylinking to the specific Groupware server(Lotus or MS Exchange) using the communication technology and API provided by each vendor. Downloaded from Service marketplace.
MapBox:
Converts the XML BDOC format to the more standard ICalendar and VCard XML formats.
Now delivered as an ABAP Based program. As part of the Netweaver Application Server.
SAPMapBox
CRM Applications
GroupwareAdapter
CRM Middleware
CRM Server
DCOM/RMI
Ms Exchange Server
orLotus Domino
Server
SAPGroupwareConnector
SAP NetWeaverApplication Server
GroupwareServer (s)
GroupwareServer (s)
ConnectorProxy
SOAPVia
HTTP
GroupwareNative API
ConnectorProxy
For CRM 5.0 after Patch 09 you must make a setting to use the ABAP version of the Mapbox VS the Java Version:
The below steps may already be done in a later patch levels of CRM6.0, but check to make sure.
Step 1.) Go to Transaction SM30.
Step 2.) Enter the View name as ISPCFG as below:
Step 3.) Click on New Entries.
Enter the value “CRM_MAPBOX” in Parameter name and
“X” in Parameter Value. *Note: Do NOT delete the other entry in the ISPCFG Table
In addition if you want to log the MapBox functions in the Application Log (trans SLG1) , you need add an “X” to the “parameter value” 2 field. To review the logs entries generated by the mapbox, access SLG1 and enter CMW_MBX in the Object field, then execute.
© SAP AG TCRM20 14-7
SAP AG 2008
Groupware Adapter Set up I: Sites in Admin Console
1) Groupware Adapter 01 (mBDoc)
This site enables exchange of Activities and Tasks between CRM Activity Management / Workforce Management and groupware.In addition, it enables bidirectional exchange of business partner master data with the public contact folder of Groupware.
2) Groupware Adapter 02 (sBDoc)
This site enables the transfer of business partner data into the private folder of each Groupware user
Note: These sites are maintained in the CRM training server.
You must create sites for the groupware adapter using site types below:
Procedure:
1. Log on to the CRM server and choose Architecture and Technology → Middleware → Administration → Administration Console (Transaction SMOEAC).
The Administration Console: Object Navigator screen appears.
2. Select Site from the Object Type drop-down list.
3. Choose Object → Create from the application menu or the corresponding symbol from the application toolbar.
The Administration Console: Add Site screen appears.
4. Under Object Information: Site, enter the following details:
- Field name Description Req./Opt./Dep. User action and values
- Name Indicates the name of the site Req. Enter a name for the site.
- Description Specifies the description of the site Opt. Enter a description for the site.
- Type Indicates the site type Req. Select the Groupware Adapter 01 (mBDoc) site type from the drop-down list.
5. Save the site.
6. To create the site based on Groupware Adapter 02 (sBDoc) site type, repeat steps 3 to 5. However, in step 4, select the Groupware Adapter 02 (sBDoc) site type.
© SAP AG TCRM20 14-8
SAP AG 2008
Groupware Adapter Set up II: Req. Subscriptions
Subscription Publication Groupware Adapter Customizing (MESG) Groupware Adapter Customizing (MESG) Groupware Adapter Messages (by object = GWA_APPLN_MSG) (MESG) Segment Name = GWA_MSG_CLASSIC Segment Field Name = ARBGB Operator = EQ Criteria Type = D Criteria Value Low = GWA_APPLN_MSG
Groupware Adapter - Generic Messages (by object) (MESG)
Groupware Adapter Metadata for all BDoc Types (MESG)
Groupware Adapter Metadata for all BDoc Types (MESG)
Groupware Object Master Category List (MESG)
Groupware Object Master Category List (MESG)
Groupware Object Selection Filter Fields and Values (MESG)
Groupware Object Selection Filter Fields and Values (MESG)
All Business Partners (MESG) All Business Partners (MESG) All Business Transactions (MESG) All Business Transactions (MESG) Create the following subscriptions only if the workforce management application is used in Groupware integration: WFM Groupware Integration Customizing (MESG)
WFM Groupware Integration Customizing (MESG)
WFM Groupware Integration (MESG) WFM Groupware Integration (MESG)
The publications listed above are displayed in the training server for the CR500 class.
© SAP AG TCRM20 14-9
SAP AG 2008
Groupware Adapter Set up III: Initial Processing
1. Preparing for Customizing Download
2. Customizing Data download to the MapBox Repository.
3. Loading Business Partners to the MapBox Repository.
4. Public Folder Contact Synchronization
5. Private Contact Folder Synchronization
6. Activity Synchronization from CRM to Groupware
NOTE:
The steps identified above are beyond scope and the time period allowed for this class. A step- by step guide is attached in the appendix of CR500. The detail in this appendix is not part of the certification test.
To implement groupware successfully many steps are needed:
The mapbox must take the key of information in the BDOC (example country 01) and pass the text for this to the VCARD XML output. This requires a lot of information about the customizing and metadata of activities and customers.
Another major prereq is E-mail address maintenance. All the Business partners in CRM that take part in Groupware Integration and will be part of the business activity must have a valid SMTP e-mail address maintained in the “Address Dependent Communication Section” of the CRM Business Partner Online Application (Master Data).
Business partners are synchronized as contacts to the Public contact folder or Private mailbox contact folder irrespective of whether an e-mail address is maintained in the Business Partner Master Data or not.
But for integration with Activity Management to work, the partners who wish to have their Business Activities in CRM synchronized to Groupware as an appointment or task must have a valid e-mail address maintained in the Business Partner Master Data
Make sure no two Business Partners have the same e-mail address in the “Address Dependent Communication Section” of the BP.
“e-mail address” must be maintained in the Relationship screen of the contact person, and also in the Master Data, that is, in the section “Address Dependent Communication” under “General or Private Data” of the BP.
© SAP AG TCRM20 14-10
SAP AG 2008
Groupware Adapter: Unit Summary
You should now be able to:
Understand the purpose and basic architecture of the Groupware Adapter.