Скачать презентацию SAP — CRM CRM One Order Скачать презентацию SAP — CRM CRM One Order

18859e46b02279fbbeaf69c51161cbbf.ppt

  • Количество слайдов: 45

 SAP - CRM SAP - CRM

CRM One Order Model CRM One Order Model

 • CRM One Order concept. • layers of one order framework • Function • CRM One Order concept. • layers of one order framework • Function modules in the one order framework • Table Relationship • CRMV_EVENTS

CRM One Order concept Examples of one order document in SAP CRM: ü Activities CRM One Order concept Examples of one order document in SAP CRM: ü Activities ü Task ü Sales Order ü Service Request ü Contracts ü Lead ü Opportunity…

CRM One Order concept • This means same BDoc (BUS_TRANS_MSG) , FM and Module CRM One Order concept • This means same BDoc (BUS_TRANS_MSG) , FM and Module pool programming would be used for all the transaction data. • They would be handled as if they are same transaction. • Hence the name One Order which is basically framework to handle these related transaction data.

CRM One Order concept CRM One Order concept

Business Transaction • All the Business transactions (Tcode : CRMD_ORDER) can have a number Business Transaction • All the Business transactions (Tcode : CRMD_ORDER) can have a number of objects as shown in the previous slide. • The different object like Texts, Status, Actions, Shipping, Billing are a few generic objects, they can be assigned to the Business Transactions as and when needed. • The Objects are assigned to business transactions as and when required.

Advantage s of One Order Model • Reusable objects • Simple and consistent flow Advantage s of One Order Model • Reusable objects • Simple and consistent flow logic for all objects and all levels • Avoid big program and module pools • Handling of error message

Data Model in CRM System Data Model in CRM System

One Order Layer Model READ SAVE A four layer model is used as basic One Order Layer Model READ SAVE A four layer model is used as basic for programming in the CRM system. This model takes a strict differentiation between the user interface, interaction, and application logic and database access. Every layer is separate and contains data in a local memory. Access to the individual layer is carried out via the interfaces, but can only occur between the next direct layers or in the same layer.

One Order Layer Model User Interface: User Interface is responsible for the displaying of One Order Layer Model User Interface: User Interface is responsible for the displaying of the fields on the GUI. Interaction Layer: The interaction layer controls the business transaction process. It uses the user entries ( field changes, function keys. . . ), the methods called up from the object (FCODE control), the object which should be displayed and processes, or the elements in the relevant user interface are activated (screen or fields controls). Object Layer: The object layer contains the complete application logic for editing an object for Ex. Changing order header Adding items Determining price Reading customizing data Determining default values Ect. Database Layer: The database layer is the interface to the database. All database operations for one object are carried out at this level (read, delete and change). The last original copy of the document before the changes were saved is kept in the local memory of the database layer.

Data Posting Data Posting

Data Posting Data Posting

Function Modules • Function modules and reports are named as <Component>_<Object>_<Method>_<Layer> Example : CRM_ORDERADM_H_READ_OB Function Modules • Function modules and reports are named as ___ Example : CRM_ORDERADM_H_READ_OB For layers the abbreviations used are as below:

Function Modules • CRM_ORDER_READ • CRM_ORDER_MAINTAIN • CRM_ORDER_SAVE Function Modules • CRM_ORDER_READ • CRM_ORDER_MAINTAIN • CRM_ORDER_SAVE

CRM_ORDER_READ • CRM_ORDER_READ is a function module which can be used to get the CRM_ORDER_READ • 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. • Always pass the IT_REQUESTED_OBJECTS structure to this function module to fetch the required details only. • 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.

CRM_ORDER_READ Some Exporting parameters of the CRM_ORDER_READ Return Structure Name Details Fetched ET_ORDERADM_H Header CRM_ORDER_READ Some Exporting parameters of the CRM_ORDER_READ Return Structure Name Details Fetched ET_ORDERADM_H Header Details of a Business Transaction such as OBJECT_ID, PROCESS_TYPE etc. 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

Call Stack of CRM_ORDER_READ FM • The Function module CRM_ORDER_READ is called to retrieve Call Stack of CRM_ORDER_READ FM • The Function module CRM_ORDER_READ is called to retrieve all relevant data for the one order objects. • This FM Read in turn calls CRM_ORDER_READ_OW (for retrieving data from work area). If no data is available in the Work area then the this function module calls CRM_ORDERADM_H_READ_OB to fetch header data from the buffer. If no data is available in the buffer then this function module in turn calls CRM_ORDERADM_H_DB (to read the header data from the database). • In a similar manner the item data retrieval FM are called to fetch the item data.

Call Stack of CRM_ORDER_MAINTAIN FM Call Stack of CRM_ORDER_MAINTAIN FM

CRM_ORDER_MAINTAIN FM • The FM CRM_ORDER_MAINTAIN updates the one order documents after user interaction CRM_ORDER_MAINTAIN FM • The FM CRM_ORDER_MAINTAIN updates the one order documents after user interaction or for system defaulting. • For each of the objects like status, pricing, shipping this FM is called to maintain the data. • This Function module in turns calls : CRM_ORDER_MAINTAIN_MULTI_OW which is used to m 1 aintain the Object work area at a time for different One order documents. • This in turn calls CRM_ORDER_MAINTAIN_SINGLE_OW for each document. • The CRM_ORDER_MAINTAIN_SINGLE_OW calls the header and Item which contain maintain functions and for each object (status, pricing. . etc) as CRM__MAINTAIN_OW.

Call Stack of CRM_ORDER_SAVE FM • This function module Persists the document and changes Call Stack of CRM_ORDER_SAVE FM • This function module Persists the document and changes in the database. • The latest call in order to prepare the document data for saving (checks, manipulation) should be done in the Badi ORDER_SAVE using the *OB* function modules in order to modify specific segments.

Call Stack of CRm_Order_Save FM • They are finally called in Update mode to Call Stack of CRm_Order_Save FM • They are finally called in Update mode to actually commit the data to the database. CRM_ORDERADM_H_UPDATE_DU CRM_ORDERADM_I_UPDATE_DU

Function Module’s Data Creation Name Description GUID_CREATE Create GUID for a Business Transaction BAPI_BUSPROCESSND_CREATEMULTI Function Module’s 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_IBASE_SAVE Call this FM to save the changes in the Ibase BAPI_BUPA_FRG 0130_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 ‘BUR 001’ BAPI_BUPA_ROLE_ADD Add Role to Business Partner for e. g. Sold to Party ‘CRM 001’, Contact Person ‘BUP 001’ BAPI_BUPA_TAX_ADD BAPI Add Tax Number for the existing Business Partner BAPI_BUPA_FRG 0040_CREATE Create Classification Data for a Business Partner BAPI_BUPA_FRG 0130_CREATE Create Business Agreement BAPI_BUSPROCESSND_CREATEMULTI BAPI to create Contract. Populate the Header and Line Item Details before calling the BAPI

Function Module’s Data Retrieval Name Description BAPI_BUPA_ADDRESSES_GET Determine All Addresses BAPI_BUPA_ADDRESS_GETDETAIL Read Address BAPI_BUPA_ADDRESS_GET_NUMBERS Function Module’s Data Retrieval Name Description 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. Get status of the Service Contract CRM_ORDER_GETSTATUS

Function Module’s Data Maintenance Name Description BAPI_BUSPROCESSND_CHANGEMULTI Bapi to change Service Contracts programmatically. Pass Function Module’s 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 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

Business Transaction Category Categorization of CRM Business Transaction based on Subobject Category We have Business Transaction Category Categorization of CRM Business Transaction based on Subobject Category We have used Subobjects to categorize the Business Transactions in CRM for a leading ISUSAP CRM implementation. Business Transaction Name SUBOBJECT CATEGORY Activity BUS 2000126 Service Contract BUS 2000112 Lead BUS 2000108 BUS 2000111 Task BUS 2000125 Utility contract item BUS 2000147

Business Tranasaction Program Names Program Name CRM_ORDER_READ CRM_BUPA* CRM_ ACTIVITIES* CRM_ACTIVITY* CRM_ARC* CRM_BILLING* CRM_ORDER* Business Tranasaction Program Names Program Name CRM_ORDER_READ CRM_BUPA* CRM_ ACTIVITIES* CRM_ACTIVITY* CRM_ARC* CRM_BILLING* CRM_ORDER* CRM_LEASING* CRM*LEASING* Description Business partner related programs Activity related programs Archiving related programs Billing related programs CRM document related programs Leasing related programs Note: For Example if you want to retrieve all the activities in CRM, pass the OBJECT_TYPE as ‘BUS 2000126‘ in CRMD_ORDER_INDEX table. 2. The Subobject Category can be customized for a business transaction from the transaction SPRO.

CRM Table Relationship Business Partner BUT 0 B K BUT 100 BUT 051 BUT CRM Table Relationship Business Partner BUT 0 B K BUT 100 BUT 051 BUT 000 BUT 020 ADRCC BNKA ADR 2 TSAD 3 T ADR 6 Contract CRMD_ORDER_INDEX CRMD_LINK CRMD_ORDERADM_H CRMD_CUSTOMER_H CRMC_PROC_TYPE CRMC_PROC_ASSIGN CRMD_ORDERADM_I CRMD_CUSTOMER_I

CRM Table Relationship Linking Business Partner Tables logically ØBUT 000 - contains the key CRM Table Relationship Linking Business Partner Tables logically ØBUT 000 - 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. ØBUT 0 BK- 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. ØBUT 020 – ADRC – ADR 2 – ADR 6 is the link of tables used to get the Address Details of the BP corresponding to Business Partner Number (obtained from BUT 000) and the address number from BUT 020 table. ØRoles of Business Partner can be obtained from the table BUT 100. ØContact Person and related details for a BP number (BUT 000) can be obtained using the table BUT 051. ØBusiness Partner’s Roles and Relationship Details for BP number (BUT 000) can be obtained from BUT 050.

CRM Table Relationship Linking Service Contract Tables Logically ØCRMD_ORDER_INDEX: Contains GUID’s of all the CRM Table Relationship 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).

CRM Table Belonging to One Order Model Objects CRM Table Belonging to One Order Model Objects

CRM Table Belonging to One Order Model Objects CRM Table Belonging to One Order Model Objects

CRM Table Belonging to One Order Model Objects CRM Table Belonging to One Order Model Objects

CRM Table Belonging to One Order Model Objects CRM Table Belonging to One Order Model Objects

CRM Table Belonging to One Order Model Objects CRM Table Belonging to One Order Model Objects

CRM Table Belonging to One Order Model Objects CRM Table Belonging to One Order Model Objects

CRM Table Belonging to One Order Model Objects CRM Table Belonging to One Order Model Objects

CRM Table Belonging to One Order Model Objects CRM Table Belonging to One Order Model Objects

Master Data Table Name Description Business Partner BUT 000 BP: General data Contains Business Master Data Table Name Description Business Partner BUT 000 BP: General data Contains Business Partner Number, Partner Category, Partner Type, First Name, Last Name etc. BUT 020 BP: Addresses BUT 050 BP relationships/role definitions: General data Contains Relationship, Partner Number (PARTNER 1), Relationship Category BUT 051 BP Relationship: Contact Person Relationship Similar to BUT 050 , additionally contains Contact Person’s Address data BUT 0 BK Business Partner: Bank Data & Details BP Number, Bank Key, Bank Country Key, Bank Account Number BNKA Bank Master Data BUT 100 BP: Roles ADR 2 Telephone Numbers (Business Address Services) ADR 6 SMTP Numbers (Business Address Services) Contains Email – Id of the BP. ADRC Addresses (Business Address Services) BP’s , Country, Post Code, District, Street, Title No Etc TSAD 3 T Table containing the Title text against a Title No. Note: Pass the langu key with the language in which you want the text.

Master Data Table COMM_PRODUCT Master Table for Product CRMM_BUAG Master table for Business Agreement Master Data Table 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 SAP 0090 – 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. 1. 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 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 TJ 30 T All the status code and text CRMC_PR_ASSIGN Transaction Type and its Transaction Type Object. IBIB Installed Base/I base IBIN Installed Base Components

Transaction Data Table Name Description CRMD_LINK Transaction GUID set for all the Business Transactions Transaction Data 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.

Badi’s in SAP CRM One Order Model Badi's Name Description CRM_ORDER_FIELDCHECK Field check during Badi’s in SAP CRM One Order Model Badi's Name Description CRM_ORDER_FIELDCHECK Field check during transactional processing CRM_ORDERADM_H_BADI Update of the table CRM_ORDERADM_H CRM_ORDER_STATUS Manipulating the status of the transaction CRM_APPOINTMENT_BADI CRM_SERVICE_OS_BADI CRM_ORGMAN_BADI Manipulating the automatic organization determination CRM_PARTNER_BADI COM_PARTNER_DETERM Manipulating the automatic parterner determination CRM_ORDER CRM_CUSTOMER_H_BADI ORDER_SAVE Check and manipulate data before the doc is saved CRM_DATAEXCHG_BADI Controls the data while the data exchange with R/3 CRM_EEW_CUSTOMER_H Manipulating EEWB fields EXEC_METHODCALL_PPF Action Badi CRM_COPY_BADI Copy controls for one order documents CRM_ORDER_INDEX_BADI Update of the table CRM_ORDER_INDEX

THANK YOU 44 THANK YOU 44