Sunday, February 28, 2021

BOL Vs GENIL..(SAP CRM)

 BOL:

The BOL layer provides a consistent interface to access the business objects APIs or the underlying data fetching APIs using the GENIL framework. The BOL object uses the object oriented approach to access the model. So whether you are accessing a standard object or an enhanced object, you don’t have to worry. All you need to know is the name of the Context, Context Node and then you are good to go. Tomorrow even if there is an implementation change you are not affected as the interface over which you have written your data fetch logic remains the same. This is very good advantage over the conventional programming where the business logic is present in the UI itself.
The BOL also acts as the buffer for the UI.
 BOL layer is thus specifically built by SAP specifically for SAP CRM Web UI and is available only at the runtim
e.


GENIL:

GENIL is the generic interaction layer which provides you access to the business logic which is present in the Business object. As compared to BOL, GENIL can also be used for scenarios other than the Web UI.
Consider the case where a user wants to execute a web service to fetch some data in a non Web UI scenario. In this case there is no need for BOL layer at all. You can directly connect to the GENIL Layers and fetch the needed data. In case of Web UI scenarios, we would need to use both GENIL & BOL Layers.
The GENIL represents the model of the component that you are planning to use. During the design time, you prepare a model for the GENIL. The objects involved in GENIL are specified in the Object Tables and the model tables. GENIL would be represented by an ABAP class and the object table and model table are specified in the programming so as to realize the actual model. This model can be depicted in design time using the GENIL_MODEL_BROWSER
 
GENIL at run time is needed to fetch the data from the Business objects or the underlying APIs. If you want to test the GENIL runtime behavior, use GENIL_BOL_BROWSER. As the name suggests, this involves both the GENIL & BOL layers because this is a developer tool provided by SAP to test the backend functionality in case of Web UI scenarios.


a) SET_PROPERTY -> This method on the entity is used to make changes in the BOL Buffer level.

b) MODIFY-> This method on BOL CORE is used to flush the changes from BOL BUFFERS to GENIL BUFFERS.

c) COMMIT -> This method on Transaction Context is used to persist the changes from the BOL Buffer to the BO tables. The GENIL Buffers would be cleared after this.

d) ROLLBACK -> This method on Transaction Context is used to reject the changes on the GENIL Buffers. This would also clear GENIL buffers.


Tuesday, December 29, 2020

Learn about SAP CRM..!

 

CRM: Customer Relationship Management.

Definition: Set of principles or guidelines which have to be implemented in ERP to serve the customer better.

-          Business strategy that aims to optimize customer interaction in order to maximize the success of business.

-          Composite package where it offers functionalities like;

1.       Marketing.

2.       Sales.

3.       Service.

4.       Together with Analytics(BI).


Difference between SAP ECC and SAP CRM:

SAP:

-          ECC is more towards the internal process management .

-          Generating automated reports based on field sets.

CRM:

-          CRM more towards the external interface or client management.

-           CRM is more into enabling concerned company to better manage client relations, track growth.

-          CRM has meaningful naming convention for all objects.

-          Single transaction code concept.

-          Example : CRMD_ORDERADM_H

 CRM :system

  D: Transactional data  (C: Customization M: Master data)

  ADM: Administration

  H: Header

  Example:

  E-Commerce sites like Flipkart, Amazon,Myntra etc.

 When we are ordering some items from these e-commerce site then we are accessing their   system/database but with the limited access.

 Full system means ECC and with the limited access system means CRM.

 

Channer for accessing CRM:

-          Interaction center( Call center)

-          Web Channel ( E-Commerce)

-          Field application ( Mobile sales = Salesman at the door)

-          Partner Channel Management.   


SAP CRM Web UI Evaluation:

1.       SAP GUI

2.       (4.0) attempted to go online People centric user interface (PCUI) developed in BSP

Drawback : not using MVC arch.

3.       (5.0) IC Web client framework for call center which follows MVC

Very stable

4.       (6.) CRM web client continue.

All these are developed using BSP.

  

One Order Model:

-          Foundation for CRM system.

-          CRM is used to handle interaction between customer and company.

-          These interaction means Transaction.

-          Transaction can be done by any mode like email, phone call etc.

-          All business transactions are done by One Order Model.

-          One Order model is a Framework developed  inside CRM

-          Its Core of CRM system.

-          Capable to handing all the transactions.

-          One Order framework/model- foundation of CRM technical programming = CRM ABAP.

-          OOPs concept was initially used in CRM.

-          Unified structure : In ECC all the activities have different Tcode and screen, but in CRM single       screen manage all the activities.

 Data is segregated into different datasets(tabs) and these datasets are assigned to single transaction.

-          Multifunctional bus transaction: one instance approach

 Single number can be assigned to different transactions.

-          Easy transaction between different transaction object type:

 Partner data can find any instance like lead, opportunity etc.

-          All business transactions are maintained through the ONE Order framework.


Advantages of One Order Model:

-          Split fields into  small logical business group (datasets )

 Reusable object (Partner data can find any instance like lead, opportunity etc._

-          Avoid big programs/and module pools.

-          Simple and easy flow logic.

-          Handling error messages(You can save document with the errors)

-          Parallel programming possible 



Learn about OData

 

OData: Open Data Protocol

Is an open standard that is both data format and protocol for consuming a manipulating data in uniform way.

-          Combination of two parts:

1.       Format : How data is described and serialized

2.       Protocol : How that data manipulated.

Origin of OData:

  • It follows same structure of RSS:
  • Rich Site Structure:
  • RSS has Feed  which contains metadata like id, logo and Entry.
  • Single Feed can have multiple Entries.
  • RSS is also known as “RDF Site Summary” or “Really Simple Syndication”.

Basics of OData:

  •  Is an ISO/IEC  approved
  •  OASIS standards that defines a set of best practice for building and consuming RESTful          APIs.
  • OData is a data access protocol built on core protocol like HTTP and commonly accepted     methodologies like RESTful APIs for the web.
  • There are various kind of libraries and tool available to consume OData.
  • Libraries: https://www.odata.org/libraries/
  • Tools: https://www.odata.org/ecosystem/
  • To write down own libraries, the pure HTTP request and responses are also very important.
  • OData has :
  • 1. Service document describing the data available in given OData service.
  • 2. Concept of entity sets and  entities which are direct parallels of feed and entries of RSS and  Atom.
  • 3. A basic set of operation Create, Read,  Update, Delete and Query (CRUD +Q)
  • Publicly set of OData service available which is known as Northwind services because they        offer a data set based on business scenario that resolves around company called Northwind Traders.
  • This data set contains entities like Customer, Product and Suppliers.

Structure :

<Service>

<Workspace>

<Collection>

</Collection>

</Workspace>

</Service>

Example:

<service xmlns="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/Atom" xml:base="https://services.odata.org/V3/Northwind/Northwind.svc/">

<workspace>

<atom:title>Default</atom:title>

<collection href="Categories">

<atom:title>Categories</atom:title>

</collection>

</workspace>

</service>



BOL Vs GENIL..(SAP CRM)

 BOL: The BOL layer provides a consistent interface to access the business objects APIs or the underlying data fetching APIs using the GENIL...