Bol and Genil

Preview:

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

Recommended