You are on page 1of 15

Demystyfying SAP CRM Technical

Page 1 of 15
Document History
Version Date Author Reason Reviewers Date

Page 2 of 15
Table of Contents

1.0 Executive Summary.............................................. .................................4


1.1 Document Purpose...........................................................................................4
1.2 Document scope...............................................................................................4
2.0 Tables.................................................................................... ................5
2.1 Master Data Tables...........................................................................................5
2.2 Transaction Data Tables...................................................................................6
2.3 Table Enhancements .......................................................................................6
3.0 Table Links for Data Retrieval......................................... .......................7
4.0 Data Retrieval ....................................................................... ................8
5.0 Function Modules..................................................................... ..............9
5.1 Data Creation.................................................................................................10
5.2 Data Retrieval................................................................................................10
5.3 Data Maintenance...........................................................................................12
5.4 Generic ..........................................................................................................13
5.5 Other..............................................................................................................13
6.0 Additional Details.............................................................................. ...13
6.1 Commonly Used Transactions.........................................................................13

Page 3 of 15
1.0 Executive Summary
1.1 Document Purpose

• Provide functional consultants with the basic technical information enabling them to
write better Functional Specification, reducing the timeframe in development of an
object.
• Reduce the learning curve for Technical Consultants new to SAP CRM.

1.2 Document scope

The document comprises of

• Details about most commonly used master/transaction/enhanced tables


• Details about most commonly used function modules for data
creation/retrieval/maintenance
• Most common data retrievals linking various master/transaction tables.

The information presented in this document has been gathered and analysed after discussions
held with various personnel involved in SAP CRM developments.

Page 4 of 15
2.0 Tables
2.1 Master Data Tables

Table Name Description


Business Partner
BUT000 BP: General data
Contains Business Partner Number, Partner
Category, Partner Type, First Name, Last Name etc.
BUT020 BP: Addresses
BUT050 BP relationships/role definitions: General data
Contains Relationship, Partner Number
(PARTNER1), Relationship Category
BUT051 BP Relationship: Contact Person Relationship
Similar to BUT050 , additionally contains Contact
Person’s Address data
BUT0BK Business Partner: Bank Data & Details
BP Number, Bank Key, Bank Country Key, Bank
Account Number
BNKA Bank Master Data
BUT100 BP: Roles
ADR2 Telephone Numbers (Business Address Services)
ADR6 SMTP Numbers (Business Address Services)
Contains Email – Id of the BP.
ADRC Addresses (Business Address Services)
BP’s Complete Address Details- City, Country, Post
Code, District, Street, Title No Etc
TSAD3T Table containing the Title text against a Title No.
Note:
Pass the langu key with the
language in which you want the
text.
COMM_PRODUCT Master Table for Product
CRMM_BUAG Master table for Business Agreement
CRMM_BUAG_H Header Data for Business Agreement such as Tax
Category, Tax Characteristic, Form key, Business
Agreement Class. Data in this table correspond to
ISU Contract account table FKKVKP.
CRMM_BABR_H Rule data for business agreements – data in this
table correspond to ISU Contract account table
FKKVK
Business Transaction(Service Contracts in Particular)
CNCCRMPRCUSZZBUR Condition Records for Service Contracts. We get
Basic Unit Rate, Standing Charge Rate etc.
(This is a Z table used in a leading ISU SAP-CRM
implementation. You can give the table SAP0090 –
this is a standard table. – in general all condition
tables have the naming convention CNCC*)
CRMD_ORDERADM_H Contains the Header Information for a Business
Transaction.
Note:
1. It doesn’t store the Business Partner
responsible for the transaction. To
get the Partner No, link it with
CRM_ORDER_INDEX.
2. This table can be used for search
based on the Object Id(Business
Transaction No).
CRMD_CUSTOMER_H Additional Site Details at the Header Level of a
Business Transaction
CRMC_PROC_TYPE Master table Business Transaction Type

Page 5 of 15
CRMC_PARTNER_FCT Definition of Partner Functions
SCPRIOT Priorities for Activities with priority text.
Note:
Pass the langu key with the
language in which you want the
text.
CRMC_PROC_TYPE_T Text for a transaction type
CRMC_ACT_OBJ_T Objective Number and Text for Activities
TJ30T All the status code and text
CRMC_PR_ASSIGN Transaction Type and its Transaction Type Object.
IBIB Installed Base/Ibase
IBIN Installed Base Components

2.2 Transaction Data Tables

Table Name Description


CRMD_LINK Transaction GUID set for all the Business
Transactions
CRMD_ORDER_INDEX Contains Header as well as Item details for a
Business Transaction.
Note:
1. It doesn’t store the Business
Transaction No (Object ID).
To get the Business Transaction No
link the table with
CRMD_ORDERADM_H
2. This table can be used for search
based on the Partner No
CRMD_ORDERADM_I Stores the Item information for a Business
Transaction. The scenarios where we have a
Contract Header and within contract we have Line
Items for the contract, this table can be useful.
E.g. Service Contracts
CRMD_CUSTOMER_I Additional Site Details at the Item Level of a
Service Contract
SCAPPTSEG Table for individual Appointment Types for a
transaction.
CRM_JEST Individual Object Status for any business
transaction.
CRM_JCDS Current Status for a business transaction along
with set date, set time and status code.

2.3 Table Enhancements

Following tables were enhanced as per the project requirement in a leading ISU-SAP CRM
implementation. Easy Enhancement workbench can be used for enhancing most of the
transactions in CRM.

Table Name Description


BUT000 Fields such as Registration No, SIC Code, Cost to
Serve etc. that appear in the additional details tab
in BP transaction
CRMM_BUAG_H Fields such as Acc in Legacy, Invoice Output,
Clearing Category, Bill Form, Lock Process Type
etc. that appear in the Business Agreement tab in
BP transaction
CRMD_CUSTOMER_H This table is used as an extension of the service
contract header i.e. if there is a requirement to

Page 6 of 15
add new fields to CRMD_ORDERADM_H then; this
table has to be used to add the fields.
CRMD_CUSTOMER_I This table is used as an extension of the service
contract header i.e. if there is a requirement to
add new fields to CRMD_ORDERADM_I then; this
table has to be used to add the fields. For e.g.
fields required for additional site details tab at item
level of Service Contract are added to this table.

3.0 Table Links for Data Retrieval

Page 7 of 15
Business Partner

BUT0 BUT05 BUT05

BUT10 BUT00 BUT02

BNKA ADRC TSAD3

ADR2 ADR6

Contract

CRMD_ORDER_INDEX

CRMD_LINK CRMD_ORDERADM_

CRMD_CUSTOMER_

CRMC_PROC_TYP CRMD_ORDERADM_I

CRMC_PROC_ASSIG CRMD_CUSTOMER_I
N

4.0 Data Retrieval

Page 8 of 15
Linking Business Partner Tables logically

• BUT000 - contains the key as Business Partner Number – thus other details of business
partner such as Category, Type, Name, Language, Country, Contact Person etc can be
obtained from it by using the corresponding BP Number.
• BUT0BK- Using the BP Number and Bank Detail ID, details such as Bank Account
Number, Account Holder’s Name, and Name of Bank Account etc can be obtained.
• BUT020 – ADRC – ADR2 – ADR6 is the link of tables used to get the Address Details of
the BP corresponding to Business Partner Number (obtained from BUT000) and the
address number from BUT020 table.
• Roles of Business Partner can be obtained from the table BUT100.
• Contact Person and related details for a BP number (BUT000) can be obtained using
the table BUT051.
• Business Partner’s Roles and Relationship Details for BP number (BUT000) can be
obtained from BUT050.

Linking Service Contract Tables Logically

• CRMD_ORDER_INDEX: Contains GUID’s of all the transactions in CRM. Also provides a


link to connect Business Partner with the CRM Transaction.
• CRMD_CUSTOMER_H: Contains Additional Contract Details (enhanced fields), linked to
Header GUID.
• CRMD_CUSTOMER_I: Contains Additional Site Details (enhanced fields), links Header
and Item GUID’s for all the transactions.
• CRMD_ORDERADM_H: Contains Header Details. GUID field can be used to link with
CRMD_ORDER_INDEX.
• CRMD_ORDERADM_I: Contains Item Details. HEADER field can be used to link with
CRMD_ORDERADM_H (header guid).

Categorization of CRM Business Transaction based on Subobject Category

We have used Subobjects to categorize the Business Transactions in CRM for a leading
ISU-SAP CRM implementation.

Business Transaction Name SUBOBJECT CATEGORY


Activity BUS2000126
Service Contract BUS2000112
Lead BUS2000108
Opportunity BUS2000111
Task BUS2000125
Utility contract item BUS2000147

Note:

1. For Example if you want to retrieve all the activities in CRM, pass the OBJECT_TYPE
as ‘BUS2000126‘ in CRMD_ORDER_INDEX table.
2. The Subobject Category can be customized for a business transaction from the
transaction SPRO.

5.0 Function Modules

Page 9 of 15
Function Group BUBA_3 – Contains function modules to read and change business partner addresses,
central data, bank details, payment cards, roles. Function modules for contact person and employee
specific information retrieval / change are also included.

For most of the function modules that retrieve data, business partner number is passed as import
parameter. Data is retrieved in the table specified in the interface. Return table returns status
messages.

For most of the function modules that add business partner related details, business partner
number and a table containing the details to be added are passed via the interface. Return table
returns status messages.

5.1 Data Creation

Name Description
GUID_CREATE Create GUID for a Business Transaction
BAPI_BUSPROCESSND_CREATEMULTI Bapi to create Service Contracts programmatically.
Pass the inputfields to be created in the contract.
Note: BAPI_BUSPROCESSND_SAVE must be called
after this function call to save the Service Contract.
BAPI_BUSPROCESSND_SAVE Bapi to save the Service Contracts.
BAPI_ECRMISUTO_INIT Initialize the creation of Ibase in CRM
BAPI_ECRMISUTO_CREATEMULTIPLE Create the Installed Base and its components.
Note:
Always call the function module
‘BAPI_TRANSACTION_COMMIT’
after call to any Bapi
CRM_IBASE_INITIALIZE Initialize the changes to be done in Ibase in CRM
CRM_IBASE_SAVE Call this FM to save the changes in the Ibase
BAPI_BUPA_FRG0130_CREATE Bapi to create Business Agreement for a customer
BAPI_BUPA_ADDRESS_ADD Add invoice address for business partner. Pass the
address type as 'rechnung' to add invoice address
BAPI_BUPA_BANKDETAIL_ADD Add bank details for the business partner
BAPI_BUPA_CREATE_FROM_DATA BAPI for business partner creation as Organization,
Person or Group in general role. Same BAPI can be
used to create Contact Person for the Business
Partner
BAPI_BUPR_RELATIONSHIP_CREATE Function module to establish the Business Partner
and Contact Person
Relationship. Pass the Relationship Category as
‘BUR001’
BAPI_BUPA_ROLE_ADD Add Role to Business Partner for e.g. Sold to Party
‘CRM001’, Contact Person ‘BUP001’
BAPI_BUPA_TAX_ADD BAPI Add Tax Number for the existing Business
Partner
BAPI_BUPA_FRG0040_CREATE Create Classification Data for a Business Partner
BAPI_BUPA_FRG0130_CREATE Create Business Agreement
BAPI_BUSPROCESSND_CREATEMULTI BAPI to create Contract. Populate the Header and
Line Item Details before calling the BAPI

5.2 Data Retrieval

Name Description

Page 10 of 15
BAPI_BUPA_ADDRESSES_GET Determine All Addresses
BAPI_BUPA_ADDRESS_GETDETAIL Read Address
BAPI_BUPA_ADDRESS_GET_NUMBERS Read Address Numbers
BAPI_BUPA_BANKDETAILS_GET Determine All Bank Details
BAPI_BUPA_BANKDETAIL_GETDETAIL Read Bank Details
BAPI_BUPA_BANKDETAIL_NUMBERS Read Bank Details Numbers
BAPI_BUPA_CENTRAL_GETDETAIL Read Central Data
BAPI_BUPA_EXISTENCE_CHECK Check Existence of Business Partner
BAPI_BUPA_GET_NUMBERS Read Business Partner Numbers
BAPI_BUPA_RELATIONSHIPS_GET Determine All BP Relationships
BAPI_BUPA_ROLES_GET Determine All Roles
BAPI_BUPA_ROLE_EXISTENCE_CHECK Check Existence of Role
BAPI_BUPA_SEARCH Search Business Partner for Telephone, E-Mail,
Address
BAPI_BUPA_STATUS_GETDETAIL Business Partner: Read Status
BAPI_BUPR_ACTIVITYP_EXISTCHECK Check Existence of Contact Partner Relationship
BAPI_BUPR_CONTP_ADDRESSES_GET Read Contact Person Relationship Addresses
BAPI_BUPR_CONTP_ADDR_GETDETAIL Read Contact Person Relationship Addresses
BAPI_BUPR_CONTP_GETDETAIL Read Contact Person Relationship
BAPI_BUPR_EMPLO_ADDRESSES_GET Read Contact Person Relationship Addresses
BAPI_BUPR_EMPLO_ADDR_GETDETAIL Read Employee Relationship Address
BAPI_BUPR_EMPLO_GETDETAIL Read Employee Relationship
BAPI_BUPR_RELATIONSHIP_GET Read General Relationship
BAPI_BUPR_RELSHIP_CHECKEXIST Check Existence of General Relationship
BAPI_BUPR_RELSHIP_GET_DETAIL Read General Relationship
BAPI_BUPR_RESP_EMPLO_CHEKEXIST Read Relationship of Employee Responsible
BUPA_PARTNER_CONTACT_SEARCH Searches business partners for telephone, E-Mail,
address
ECRM_ISU_COMP_BY_ADDRESS Check for Existence of Ibase
CRM_ORDER_GET_HEADER_GUID Get Header GUID for Item GUID pass ref_kind as b
CRM_ORDERADM_H_READ_OW Read the Header Details for a Business
Transaction. Pass the Header guid.
CRM_ORDERADM_I_READ_OW Read the Line Item Details for a line item. Pass the
line item guid.
CRM_ORDER_READ Get all the Service Contract details.
Note: Pass the requested objects to fetch only the
required details.
This can also be used to get the details of
activities/leads/opportunities etc.
CRM_ORDER_GETSTATUS Get status of the Service Contract

Note: CRM_ORDER_READ Function Module

1. CRM_ORDER_READ is a function module which can be used to get the details of any business
transaction based on the Header GUID, Item GUID or both.
2. Always pass the IT_REQUESTED_OBJECTS structure to this function module to fetch the
required details only.
3. This function module can not be executed directly instead SAP has provided a report
CRM_ORDER_READ for the same for testing purpose. We can pass Business Transaction
Number (Object ID), Header GUID or Item GUID to this report to get the required details.

Some Exporting Parameters in CRM_ORDER_READ Function Module

Return Structure Name Details Fetched


ET_ORDERADM_H Header Details of a Business Transaction such as
OBJECT_ID, PROCESS_TYPE etc.

Page 11 of 15
ET_ORDERADM_I Item Details of a Business Transaction such as
PRODUCT, PRODUCT_KIND, HEADER etc.
ET_ACTIVITY_H Header Details of an activity such as PRIORITY,
OBJECTIVE, Address Details etc.
ET_ACTIVITY_I Item Details of an activity.
ET_CUSTOMER_H Additional details at Header level
ET_CUSTOMER_I Additional details at Item level
ET_APPOINTMENT All the dates at Header and Item level
ET_PARTNER Partner Details at Header and Item level
ET_STATUS Status of Business Transaction at Header and Item
level
ET_BILLING Billing related details for a Business Transaction
both at Header and Item (This structure was
enhanced in a leading ISU SAP-CRM
implementation to include BUAG_ID(Business
Agreement) field in a Service Contract
ET_ORDPRP_OBJL_I_D Object List details such as PRODUCT
ET_DOC_FLOW Ref. Details of the previous Business Transaction

5.3 Data Maintenance

Name Description
BAPI_BUSPROCESSND_CHANGEMULTI Bapi to change Service Contracts
programmatically. Pass the inputfields to be
modified.
Note: CRM_ORDER_SAVE function module must be
called to save the changed contract explicitly after
call to this function module.
CRM_ORDER_SAVE Save the changes made to the Service Contract.
Just pass the Header_GUID of the service contract.
CRM_APPT_MAINTAIN_SINGLE_OW Maintain the Dates for a Service Contract (Start
Date, End date, Date of Sale, Planned Contract
Start Date etc). Don’t forget to pass the
input_fields to be maintained.
Note: CRM_ORDER_SAVE function module must be
called to save the changed contract explicitly after
call to this function module.
CRM_STATUS_MAINTAIN_OW Maintain the user status of Service Contracts.
Don’t forget to pass the input_fields to be
maintained.
Note: CRM_ORDER_SAVE function module must be
called to save the changed contract explicitly after
call to this function module.
CRM_IBASE_COMP_CHANGE Change the Installed Base components
Note:
Always call the FM
‘CRM_IBASE_SAVE’ to save the
changes done to Ibase
BAPI_BUPA_BANKDETAIL_CHANGE Change Bank Details
BAPI_BUPA_BANKDETAIL_REMOVE Delete Bank Details
BAPI_BUPA_CENTRAL_CHANGE Change Central Data
BAPI_BUPA_ADDRESS_CHANGE Change Address
BAPI_BUPA_ADDRESS_REMOVE Delete Address
BAPI_BUPA_BANKDETAIL_CHANGE Change Bank Details
BAPI_BUPA_BANKDETAIL_REMOVE Delete Bank Details
BAPI_BUPA_CENTRAL_CHANGE Change Central Data
BAPI_BUPA_CENTRAL_SAVEREPLICA ALE Replicating Central Data
BAPI_BUPA_STATUS_REMOVE Business Partner: Delete Status
BAPI_BUPR_ACTIVITYP_CHANGE Change Contact Partner Relationship
BAPI_BUPR_ACTIVITYP_DELETE Delete Contact Partner Relationship

Page 12 of 15
BAPI_BUPR_CONTP_ADDR_CHANGE Change Contact Person Relationship Address
BAPI_BUPR_CONTP_ADDR_REMOVE Delete Contact Person Relationship Address
BAPI_BUPR_CONTP_CHANGE Change Contact Person Relationship Address
BAPI_BUPR_CONTP_DELETE Delete Contact Person Relationship
BAPI_BUPR_EMPLO_ADDR_CHANGE Change Employee Relationship Address
BAPI_BUPR_EMPLO_ADDR_REMOVE Delete Employee Relationship Address
BAPI_BUPR_EMPLO_DELETE Delete Employee Relationship
BAPI_BUPR_RELATIONSHIP_CHANGE Change General Relationship
BAPI_BUPR_RELATIONSHIP_DELETE Delete Relationships
BAPI_BUPR_RELATIONSHIP_REMOVE Delete General Relationship
BAPI_BUPR_RESP_EMPLO_DELETE Delete Relationship of Employee Responsible

5.4 Generic

Name Description
BAPI_CURRENCY_CONV_TO_INTERNAL Function Module to convert the Currency field to
internal format. Enter the currency and amount to
convert.
CCM_GO_BACK_MONTHS Go Back specified number of months from a given
date.

5.5 Other

Name Description
ECRM_ISU_ACTIVITY_DISPLAY Displays an activity by taking the Business
Transaction Number for the same.
CRM_CLM_CREATE_CALL_LIST Create call list for activities generated

6.0 Additional Details


6.1 Commonly Used Transactions

Page 13 of 15
Transaction Description

Page 14 of 15
BP Business Partner (Creation/View/Modification)
CIC0 Customer Interaction Centre
CRMD_ORDER CRM Transaction (Create/View/Modify)
SPRO Configuration related settings
CRMD_CALL_LIST Create/ Maintain Call list
IB51 / IB52 / IB53 Ibase Creation / Change / View
COMMPR01 Maintain Products
PPOSA_CRM Display Organizational Model
SBDM Bdoc maintenance
SMOEAC Administration console – CRM Middleware
SMQ1,SMQ2 Queue monitoring transactions for inbound
and outbound queues.
SMW01 Transaction for monitoring bdocs.

Page 15 of 15

You might also like