Flipkart.com

Tuesday, May 8, 2012

ABAPer's guide to SAP CRM

Let us explore SAP CRM from view point of a core ABAP developer

CRM Processes Supported
SAP's CRM software supports 4 broad processes
1. E-Marketing: Campaign, Customer Loyalty, Personalization, Store Locator
2. E-Commerce: B2B, B2C, Order-to-Cash
3. E-Service: Service order, Complaint, Status, Tracking, Payment, Feedback,
4. Web Channel Analytics

Technical Framework
BOL and GenIal are the two parts of CRM's technical framework. Genial (Generic Interaction Layer is a generic concept and BOL is a specific concept related to CRM)

BOL: Business Object Layer: This is where the data is modeled. It contains Structures, Associations, Compositions, Aggregations. I.e. BOL provides a consistent way of data modelling. At run time BOL layer holds data. There are seven different BOL object types.

GenIal: This is a Class which communicates between BOL and DB tables. Contains code which reads the business data and loads BOL objects. They are called as Genial classes.

CRM WebUI: CRM uses BSP technology for the UI. This component is called as CRM Web UI. Software component is BSP_WD_CMPWB.

SAP provides a sample package CRM_GENIL_SAMPLE which can be used for education purpose.

More on BOL:
BOL model can be viewed at Tcode: GENIL_MODEL_BROWSER
BOL Browser:  GENIL_BOL_BROWSER : Here you can test run various queries and operations provided by BOL

BOL can be any of 7 object type. Below is the list with an example each
A- Root Object                  : Order
B- Access Object               : Order Item
C- Dependent Object         : Shipment Data
D - Search Object              : Order Query, Order Item Query
E - Search Result Object    :
F - View Object
G - Dynamic Search Object

BOL layer is closely linked with the presentation layer. The BSP UI contexts are directly linked with the BOL objects.

More on GenIal:
The GenIal class specific to a business a scenario will inherit from root class CL_CRM_GENIL_ABSTR_COMPONENT. This class implements two interfaces, one for retrieving the model and other for getting the data.


Let us look at Sample Package to understand more



8 comments: