Sap Crm Technical
Embed Size (px)
Transcript of Sap Crm Technical
1. Explain abt CRM architecture?
BLOCK DIAGRAM OF CRM ARCHITECTURE
The CRM architecture is divided into different layers are:
1.Presentation layer: Which provides the interaction area between the users and crm application.
It display the response to the users according to their(user) request.( like request -response model: it gives response back whatever user click on the screen and/or do giving any input ). Here everything we treated as pages( at browser window), and each page we call it as an UI Component. Here every UI Component follows MVC architecture.
2.BOL Layer : It is a BOL(Business Object Layer) layer connected between the Object Model and UI .It mapping the data from object model to user interface. The BOL having the set of Classes and Methods to perform the operations on the dada which is getting from the Model Node of GENIL of an Object-Model into Buffer. In BOL the buffering is used to stored the data, and perform the operations on the data according to the user request.
3.GENIL Layer: The GENIL(Generic Interaction layer) take care the data transfer from the BOL to API(application programming interface). Here the Object Model contains the Genil components that are organized in component sets. Actually the Genil contains the Genil Objects.
4.API's: The API(Application Programming Interface) is nothing but a software component, it lies between Genil and Database. API performs the actions(operations) at Database level by getting the reqest from the Genil. The operations are getting the data and/or modify the data at Database.
5.DATABASE TABLES: These are the physical tables which contains the actual data at database level.
2. what do you mean by MVC architecture?
a) Used to develop object-oriented User interfaces.
b) SAP CRM web client UI based on the MVC architecture.
c) Gives clear separation between layout, data maintenance and program control into different components of an application.
d) Model unit contains the Context and context nodes that link the data fields of the view to the BOL layer.
e) The view represents the presentation layer that requests the data from model via controller and is responsible for the output of this data in an HTTP response.
f) The controller handles the interaction logic between model and view and it receives all keyboard inputs and mouse clicks from the View.i.e.Http request from the view.
3. What is GENIL, types of genil entities, how many are there?
GenIL:It` provides interface between BOL layer and Database through APIs(Application Programming Interfaces).Types of GenIL EntitiesRoot Object:A Root Object can be addressed via its unique key and can be locked and edited independently. Each Root Object is also an access object but not vice versa.Access Object:An access object is a special kind of object. It is nota root object, but it can be accessed by its own ID. Therefore an access object can be used to retrieve its dependent children. One can conclude that a root object is also an access object.Search Object:A Search Object is a defined search and provides root objects or access object as the result set.One severe limitation of Search Objects is that a search parameter can take only a single value or pattern and use it to produce a matchDynamic Search Object:A search parameter in this case can also be associated with a logical operator, such as greater than, less than, or in between. As a result the match does not have to be a direct one.For example, ONEORDER(BOL Component Set) -> BTOrder(Root Object) -> BTAdminH(Access Object) -> BTCustomerH(Dependent Object)Search Result Object :The result object of a search request is an associated access object at the uppermost level of the hierarchy.View Object:One can also define View Object .These node types represent a named part of theobject model. They are read-only. When they are requested, a hard-coded set of objects will be returned.
Abstract Object: InCRM 7.0 EhP1 we have Abstract Object.
One can define Abstract Object.The idea is to promote reuseof the modeled data. An abstract object is defined in an object model just like any other node type. There needs to be at least one real access or dependent object inheriting from the abstract one. * Model node : A Model node refers to a Genil Object of an object model and represents a link between a screen element and object model.
- The name of an entity is maintained as an attribute 'BaseEntityName' of the view context node class.
* Value node : A Value node doesn't have any reference to an object model and can have any number of attributes with any data type.
4. Difference between Custom and component controller?a) The main difference between custom and component controller is the role which they play during data transfer.
b) Custom controller is used for data transfer across two views within a component. For that you need to bind view context nodes to custom controller through wizard.
- we get the instance by get_custom_controller method.c) Component controller is used for data transfer across two views in two different components. For this, we need to define the component usage first and then bind the context nodes in the method-WD_USAGE_INITIALIZE of the Component Controller impl class.- Component controller can act as custom controller aswell.
- There is an attribute called comp_controller, which is component
controller instance. 5. Diff b/w Component Usage and Interface Controller? a) Component Usage:It is used to access data from other UI component to current UI component .It is only possible if there is interface view in other UI component.b) Interface Controller: The view in a component can be accessed to other component through interface controller.c) In interface controller add the context nodes of the component controller to the Component user interface and then they are visible to the other UI components.6. Why we do navigation, outbound plug and inbound plug?Navigation Links:
a) This node is used to create the navigation from a source view to one or more target views.b) Outbound (Source) and Inbound (target) plugs are must to create navigation links. c) The name of the navigation link is required to execute a navigation.d) Navigation Request(hyper link)->Event handling of request->calling Outbound plug-> start navigation->processing inbound plug.Outbound and Inbound Plug:a) Outbound Plug: It is used to send the data from current component to the other component.b) Inbound Plug : It is used to receive the data from othercomponent to the current component.An Outbound Plug is linked with the Inbound plug in a navigational link.
a) The navigation link receives a unique name. Thus, a navigational link describes a navigation path from the start to the target and can be understood as a directed relationship.
7. Diff b/w Over view page and View set? a) With the view set you can compose different views to one screen.
b) With the overview page you can display different components as assigment blocks.
c) Configuration tab is there in Overview page but don't have View Layout. In View Set Configuration tab is not there, but it have View Layout.8. What is use of Runtime Repository Editor(RRE)? a. The runtime repository editor of the component workbench is the tool which displays and maintains the Runtime Repository for a Component.
b. Runtime repository is a tool for process and display the Repository.xml file.c. Each component has its own runtime repository file (means that any component can be executed separately)
9. Purpose of WD_USAGE_INITIALIZE? a) Component binding is done to ensure that One Component is available for use in another Component.
b) To achieve this the Component Controller method WD_USAGE_INITIALIZE must contain the binding between the context nodes of the used component and the current component's Component controller.
c) Once the Nodes are binded the data can made available in the used component from the current component.
10. Purpose GET_V_XYZ, GET_P_XYZ, GET_I_XYZ, and GET_A_XYZ methods? GET_V_XYZ - a) This defines the content of drop down values, F4 Help etc.
b) GET_P_XYZ - This defines the property of attribute whether it's drop down, text box, F4 help, check box etc.
c) GET_I_XYZ - This defines whether the attribute is editable or non editable.
d) GET_A_XYZ - This is used to hide or display the attribute based on the Switch ID.
11. How we can Implement SAP Notes?
a) SAP Notes give you instructions on how to remove known errors from SAP Systems. They include a description of the symptoms, the cause of the error, and the SAP Release and Support Package level in which the error occurs.
b) Depending on the type of error, an SAP Note may also include:
d) Descriptions of how to correct repository objects in the ABAP workbench, known ascorrection in structionse) Links to Support Packages that solve the problem.
f) You can access SAP Notes both from the SAP Service Marketplace and SAP Net - R/3 Frontend.
g) h) The Note Assistant can automatically implement only SAP Notes that have correction instructions.
i) Read the SAP Note carefully before you use the Note Assistant to implement it. The SAP Note can contain prerequisites, interactions, and references to postprocessing activities (making changes to a table, for example) that you must take into consideration when you implement it.
Steps to Install SAP Note
1. Go to transaction code SNOTE 2. Download SAP note
a. Click Goto Download SAP noteb. Enter note