Upload
rohit-khetarpal
View
1.348
Download
4
Embed Size (px)
Citation preview
Data Modeling in WebClient UI
CRM Business Object Concept( BOL)
GENIL Concept
BOL/GENIL Development
Q & A
Agenda
Data Modeling in WebClient UI
CRM Business Object Concept(BOL)
GENIL Concept
BOL/GENIL Development
Q & A
Agenda
CRM : Functional Point of View
SAP AG 2004
Customer Centric E-Business with mySAP CRM
The Solution is CompleteRich Functionality and Supporting Capabilities
CRM :Technical Point of View
CRM Business ObjectsBP
Lead
Campaign Sales
Order
Opportunity
Activity
Claims
Fund
Contract
Sales Marketing Service Interaction Center
Web Channel
Hitech Industry(Customizing Set3)
Pharmaceutical( Customizing Set2)
FMCG ( Customizing Set3 )
Business Role1 Business Role2 Business Role3
PCM
Where do they fit in the architecture ?
Controller Class
View
Model Class BOL Layer
BO2
BO8
BO4
BO3BO1
BO6
BO5
BO10BO7
BO9
GENIL
DBAPIS
Data Modeling in UI Framework
Controller ObjectCL_****_IMPL
Context ObjectCL_****_CTXT
Context Node Object
CL_******CN
BP1CL_CRM_BOL_ENTITY
CollectionCL_BSP_WD_COLLECTION_WRAPPER
BP2CL_CRM_BOL_ENTITY
BP3CL_CRM_BOL_ENTITY
BP4CL_CRM_BOL_ENTITY
View ( *****. htm )
Web Client UI Data Flow
UI Framework ( Basically THTMLB Tags )
WebClient UI
BOL Framework
API Layer
Table1 Table2 Table4Table3
dData Validation
Business Objects
Data Segregated for Each Table
Data Modeling in WebClient UI
CRM Business Object Concept(BOL)
GENIL Concept
BOL/GENIL Development
Q & A
Agenda
What's a Business Object ?Symbolic Representation of Data in grouped format which has a significance from Business point of View.
It makes Data display and Data manipulation Easier.
It must be identified by a unique key.
It will have other attributes describing its nature
Example of Business Object:
ID(key)Name
DescriptionDate
…………
Conceptualize Business Object in ABAP
Business Object Type ABAP Class
Business Object
ABAP Object
Sample Code: Data : lr_entity TYPE REF TO cl_business_object1. create object lr_entity . lr_entity->set_property1( ). lr_entity->set_ppropery2().
ISSUE : Too many classes if we have one class for every business object .
SOLUTION : Will use a single class which will use different structure for different business objects.
CL_CRM_BOL_ENTITY
Business Object1 ( Structure1 )
Business Object2 ( Structure2 )
Business Object5 ( Structure5 )
Business Object3 ( Structure3 )
Business Object4 ( Structure4 )
Business Object Relations
•Business Objects are linked using the concept called ‘RELATION’.
A
D
C
B
Relation 1 ( 1:1 )
Relation 2 ( 1 : n )
Relation 3 ( 1: {0…n})
CRM Terminology for Business Objects
Root Object: This is the top most object in any BOL hierarchy. There can be more than one root objects in a BOL component.
Dependent Object: It’s a kind of object which we want to give meaning only in the context of root object.Not independently.
Access Object: Through this object I can access the child object data without traversing from top i.e. root object.
Search Object: This object defines the format/parameters with which we want to perform the search.
Search Result Object: This object defines the format in which we want to fetch the objects.Advance Search Object: This object is very similar to search object, only difference is the search object is formed dynamically depending on the field selected by user on UI.
Relations and Cardinality
Relation Types:Association: Root objects can be linked with each other by association.
Aggregation: Parent child kind of relation where there is not strong bonding.
Composition: Parent child kind of relation where bonding is very strong.
Cardinality:•1:1•1:{1..n}•1:{0..n}
BOL & MODEL Browser
BOL BrowserTcode : genil_bol_browser
Model BrowserTcode: genil_model_browser
Data Modeling in WebClient UI
CRM Business Object Concept(BOL)
GENIL Concept
BOL/GENIL Development
Q & A
Agenda
GenIL : Generic Interaction Layer
• It’s a class which the facilitates the data transfer between BOL and Database tables by calling APIs.
• For a group of Business Objects ( BOL Component ) we define a GenIL class.
• It may call Framework methods ( CGPL , ONEORDER ) instead of calling the APIs.
• It gets the data out of Business entity and formats them in the required format for API or Next Layer of Framework.
DB APIs
Call IBOM Mapper
Classes( CGPL )
Call One Order
Function Modules
GenIL Class
Business Object( cl_crm_bol_entity)
Directly do the DB
coding in GenIL