Sap Crm Technical

download Sap Crm Technical

of 14

description

Sap Crm Technical

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:

c) Workarounds

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 Numberc. Click Execute3. Implement SAP Note

a. Select note and click Implement SAP Note iconb. Request Click Create; Enter note Number and descriptionc. Take note of transport request no.4. Test transport before migration

a. Notify requestor to verify changes before migrating to the next environmentb. After thorough testing has been completed, release transportc. Migrate transport to the other environments.

12. Difference between EEWB and AET?(Anjali)

EEWBAET

1. Easy Enhancement Workbench used to enhance context menu of standard component with custom field in SAP GUI level.1. Application Enhancement Tool also used to enhance standard component with custom field in Web UI level, it is available from CRM version 7.0

2. Using EEWB little more complicated to add search helps, dropdown boxes, currency and quantity fields2. AET has made simpler to add search helps, dropdown boxes, currency and quantity fields.

3. EEWB is required under specific areas like time dependent customer tables for business partners.3. In AET, we can reuse custom fields in other objects which presents recreate the same custom field it required in any other objects

4.T code for creating EEWB4.T code for creating CRM_UI

13. Use of AET's and how can we add F4 help through AET.Used to enhance standart component with custom field , it reflect all the areas BOL entities,Genil components and DB level.

Steps to add F4 help for field through AET.

a) Create search help in SE11 screen.

b) Open T code CRM_UI select where we want add new field

i. ex: Sales cycle -- opportunity-- double click on any one of field --> here select in which view you want to add field

c) select configuration area(double click on view)

d) click on show enhancements(here will open possible enhancement objects,select it)

e) click on Enable expert mode and BACK

f) click on Create New Field( field details screen will open)

g) In field details screen provide below things

h) Field ID - ZZ

i) Field label - FN ( this name available in configuration level)

j) Data type - (select any one)

k) Data element - ( give which we created at se11 screen)

l) Check table - (optional)

m) Search help - provide search help name as which we created at SE11 screen level

n) BW Reporting - (optional)

o) R/3 adapter - (optional)

p) GO BACK and Save and Generate.

q) step-3 : These field will be available at all areas BOL entities, Genil Components and DB level.

r) Go BACK( full screen) again open will see field having F4 help.

14. How to create drop down?

To provide dropdown for Search Query Fields directly goto Implementation Class of the View n cal the method

a) Get_Dquery_Definitions and write the code in this method.

b) To provide dropdown for the flds other than Search Query Fldsin CRM Web UI level firstof al v shuld get the

c) attributename,contextnode,view n component name to get these details clk on any fld and press F2.

d) Notedown the Component name,Viewname,Context Node from F2 popup and gotoTCodebsp_wd_cmpwb.

e) Giv the Component Name n clkdisplay.select the view which v got from F2 popup n select the attribute.

f) To provide Dropdown for the Flds other than Search Query Flds generate V Getter n P Getter method.

g) In P Getter using picklist v can get the values from the DB table as dropdown n assign it to rv_value.

h) rv_value = cl_bsp_dlc_view_descriptor=>field_type_picklist.

i) Write the code in V Getter

j) rt_value is table type of bsp_wd_dropdown_table.

k) rt_value has 2 attributes key and value.

l) To access the method set_selection_table create an objgr_ddlb_item_cat_group for the class cl_crm_uiu_ddlb n assign

m) it to rv_valuehelp_descriptor.

n) gr_ddlb_item_cat_group->set_selection_table(it_selection_table = rt_value ).

o) rv_valuehelp_descriptor = gr_ddlb_item_cat_group.

15. How to create F4 help? a) Goto Component Workbench select the view & context node attribute for which u want to provide

b) F4 help.

c) RgtClk on the attribute & generate V Getter method.

d) Write the code in V Getter method Create an Object rv_valuehelp_descriptor for the class

e) cl_bsp_wd_valuehelp_f4descr to access the methods of Interface Class.

f) Populate the values to the parameters.

g) ls_map-context_attr = context node attribute name

h) ls_map-f4_attr = fld referring in Search Help.

i) iv_help_id = Search Help name (which v created in SE11)

16. if v want to provide F4 help for the custom fld which v added thru AET giv the Search Help name (which v created in SE11)

Directly in web UI Level.

17. How to create 'Button' and what method used?

a) Select which View add button, Double click on View and click on request processing drop down

b) Then right click on DO_PREPARE_OUTPUT METHOD

c) Select REDEFINE-->Code Paste

d) Double click on implementation Class--> Click Attribute tab

e) and give Internal table name(gt_button), Assiciative type(CRMT_THTMLB_BUTTON_T)

f) Double click on View html-->code paste

g) Right Click on 'Event Handler'--> create Event Handler name as 'Delete'-->code paste

h) Testi) we using this method--->DO_PREPARE_OUTPUT

18. What is BOL programming?

a) BOL Programming helps you to transfer the data to WEB UI from business object layer and vice versa.19. What are BOL entities.How we can access?

a) These BOL Entities are kind of class instances with underlying structures

b) (mapped to the database tables) . The data you enter on the Web UI gets saved in

c) the database tables via BOL Entities or Objects. These BOL entities are held by

d) Collection Wrappers. They are kind of containers or wrapper classes in the context nodes.

e) The BOL entities will be of type CL_CRM_BOL_ENTITY.

f) So when you want to access data from a view, you write this way...

g) If you are in a method of IMPL Class.... ( if you are at the context node methods

h) Context Node name -> Collection Wrapper ->get_current( ).

20. Explain root objects and dependent objects?

a) Root objects: Directly accessible via a distinct key (like Header GUID for

b) BTOrder) and can be independently locked and maintained.

c) Dependent object: Aggregated by a distinct root objects. Locked and maintained

d) only via its root object.

21. How we can create root and dependent objects?

a) Root object is created through Simple object from Genil layer in through SPRO

b) Dependent object Through GENIL_MODEL_EDITOR

22. Diff b/w Local and Global iterator?

a) Access BOL entities that are contained in a collection can access through iterators.

b) Global - Any global iteration moves the focus, which is published by the event FOCUS_CHANGED of the collection

c) Local - If you want to iterate on the collection without moving the focus (and without triggering timeconsuming follow-up processes) you can use local iteration. To do so, request an iterator object from the collection and use this to iterate.

23. Why we use iterator ? How can we move one entity to another entity?

a) Access BOL entities that are contained in a collection can access through iterators.

b) You can access through Get_First and iterate through Get_next methods.

24. What is use of Runtime Repository Editor(RRE)?

a) A tool that enables configurations and setting that need to made during construction of the UI Component. All entries are made by using the context menu (rtclk) in the edit mode and saved. Framework saves the entry in the form of xml code, that is used during loading of the component.

25. How we can bind data between views and components?

a) Bind the data between views using custom controllers.

b) Bind the data between components using component usage via method wd_usage_initialize

c) Prerequisites : Component which you want to bind should have the Interface view and context node in component interface.

26. Explain MVC in terms of Component Workbench?

a) Every view in component workbench have data , controller and layout together to enable some functionality. Works on the MVC Framework - Model, View, Controller, that enables disconnection between the data and the layout. The controller serves to put and retrieve data to/from the model and view layout by interacting with BSP tags. The Model refers to the CTXT, the Controller refers to the IMPL and the View or ViewLayout refers to the .HTM, which contains the BSP code. The .HTM may also contain any other code (javascript, activeX ) though not advisable unless absolutely required. BSP and ABAP are the code of choice.27. What is the use of related entities?

a) When generating BOL entities, we have to distinguish between root object and generation of dependent object. Root objects are creating through entity factory and dependent objects are created through create_related_entity method for their parent object.

b) Suppose if object is crated from parent object, then if you want to access the dependent object through get_related_entity method.

28. What is page attribute?

a) The page attributes tab gives a list of all data parameters used within the page and those that are transferred to the successive pages.

b) A page attribute marked as automatic is automatically supplied with a value from the calling URL or the navigation from another page. However there must exist a parameter of the same name with value in the URL or navigation interface.

c) Example of supplying a value using the navigation interface, when there is an automatic attribute with nameFLIGHT in the target page:

d) navigation->set_parameter( name = 'FLIGHT' value = "LH" ).29. what are events in CRM?

a) Check in tcodeTcode CRMV_EVENT

b) After_change

c) Before_change

d) Before_save

e) After_createetc

30. How do you see values in debugging?

a) Object Entity referring CL_CRM_BOL_ENTITY at runtime

b) Go to Container_Proxy attribute

c) And then go to Data_ref attribute

d) And then go to attribute_set

e) This displays the bol entity structure which is referring the object, then click the structure

f) You can see values.

31. What is role configuration key?

a) Whenever you do your UI Configuration steps, you can choose to save your changes

b) only for a specific role configuration key. Only users with a Business Role assigned,

c) which has entered this Role Configuration key will see your changes

32. How to enhance genil ?

a) EnahnceGenil, by inheriting the Genil class to custom class and can redefine the same how ever we want.

Capgemini interview questions:

1. Explain CRM Architecture and explain MVC architecture where it will come in crm architecture?

a. In CRM architecture we have 3 layers such as presentation layer, business layer and DB layer.

b. PL: it is nothing but User Interface, it depends on mvc architecture actual process takes place under

c. Presentation Layer.

d. Business Layer: it contain 2 layers BOL and GenIL.

e. BOL provide interface b/w DBL and PL, it is used to fetching data from DB with the help of GenIL and it will send to model.

f. GenIL provides interface b/w DBL and BOL, it contains actual data. it will fetch data from vg. DBL: Permanent data stores under DBL.

h. *MVC Architecture comes under Presentation Layer.

i. Model : model takes request from controller, actual process takes place in model.

j. it will get data from BOL and send it to view.

k. View: view is a place holder where we can display the output.

l. Controller: controller takes the request from the user and it will send to model.

2. Purpose of GenIL?

a. GenIL provides interface b/w DBL and BOL, it contains actual data. it will fetch data from DB with help of API's.

3. What is Filter BADI, Why we are using?

a. Filter BADI is used to provide default values. restrict implementation based on the filter values.

4. In Web UI Level we have 2 check boxes, if we select one check box another check box will get disable

5. how will do this scenario ?

6. We have 2 views A & B, A having field value 10, B having 2 fields. one of the field value 20, if u add both 2 fields these value 30 should come as B view another field. how we can do these scenario where we can write the code?

7. Do you aware of Action profile? What is Action profile? Why we are using, purpose?

a. Yes. Action profile used to create follow up document based on status of application.

b. It depends on post processing frame work. PPF provides sap application with uniform interface for condition dependent generation of action.

8. One Order table purpose, crmd_orderadm_h purpose?

a. It stores all the transactional data related to all application data such as sales, marketing and services.

b. crmd_orderadm_h is a main table. it stores all the application related data, it provides GUID for fetching Item data.

9. methods in view controller?

a. DO_CONFIG_DETERMINATION, b. SET_VIEW_GROUP_CONTEXT,c. DO_PREPARE_OUTPUT,d. DO_VALIDATE_INPUT,e. DO_FINISH_INPUT.

10. how we can read child object data?

a. get_related_entities method.

11. how we can add field to search view through AET? for that any code requried to dispaly field in web ui level?

a. No code is required directly we can add through drop down list options.

12. We have 2 fields drop down list if u select 1st field value from drop down list next field value should change how we can do this senario?

13. purpose of wd_usage_initialize/ how to bind two components?

a. Used to bind coco context nodes of two different components.

14. difference b/w cuco and coco?

a. cusomer controller (cuco) is used to share data b/w two different views.

b. component controller (coco)is used share data b/w two different components.

15. In search view which classes you used and what purpose, where you used?

a. we have to use two classes in search view those are

b. view implementation class - cl_crm_bp_advsearch_controller,

c. context node implementation class - cl_bsp_wd_context_node_asp .

16. how to bind context nodes within a component?

a. context menu of context node we have option create binding.

17. how we can raise error messages in aet level?

a. We have class cl_bsp_wd_message_service in this class one method call add_message for displaying error messages.

18. what is difference b/w window and view?

a. Window is container, it contains views.

b. View is place holder where we can display the data.

19. how we can create buttons in ovp?

a. through Do_PREPARE_OUTPUT.

20. Types of objects?

a. root object, access object, search object, search result object, dependent object, dynamic search object.

21. Difference b/w crm_order_maintain & order_save?

a. crm_order_maintain is used to create new transactions and change existing transactions.

b. order_save is BADI used to save changes which are done in Application.

Accenture interview Questions :-22. Purpose of DO_INIT and DO_INIT_CONTEXT?

we assign default values to the context nodes and often, initialize various attributes of the controller class.23. What is purpose of get_A method?

a. used to enable and disable fields based on switch id.

24. me->typed_context->CN->collection_wrapper, here purpose of me and CN?

a. me refer gobal class which refers controller.

b. CN contain data.

25. In F4 help and Dropdown, how do you inform to system, user which field select?

26. how can we raise error messages in GenIL level?

a. through class If_GenIL_Message_container.

27. In Quotation how search objects find?

28. how we can add custom component to Work center area?

a. through Navigation Bar Profile.

29. what is target id and logical link?

a. Target id refer the custom component, it will assign to logical link through this we can display custom component in web ui level.

30. what is mean by defer class?

a. Define definition of class later.

31. Is there any changes in html code for buttons?

a. Yes.

32. what is component and what is model?

a. whatever application developed which can be tied up with Component.

33. what is CRMV_EVENTS? have you worked on CRMV_EVENTS?

a. It is built in tool given by SAP for handlng the functionality based on event occur while processing the application out side of the component level.

34. purpose of Transaction Launcher and navigation bar profile?

a. TL is used to display the application(URL links) in web ui level which are not developed in web ui and component work bench level.

b. If we want to display custom component in work center area that we can get through navigation bar profile.

CTS interview Questions type 1:

35. If we have two entities Header entity and Item entity, how we can read both entities at a time?

a. we have one method call get_related_entities.

36. types of context nodes?

a. Model node and value node.

37. how we can read all entities at a time?

a. we can't read all entities at a time, possible to read one by one.

38. what is model where it is located?

a. model is located in RRE in work bench level, it is used load component set.

39. how we can get data in context node level?

40. purpose of component usage and component interface?

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.

Component Interface: The view in a component can be accessed to othr component through interface controller.41. Purpose of crmd_orderadm_h, how we can get bp related data through one order table?

CRMD_ORDERADM_H gives header details of a transaction number(like service contract number, sales order number etc, th42. without using function module how we can get the data through bol programing?

43. what is f4 help, how you can provide f4 help for particular field?

a. F4 help is used to provide possible values for particular field.

44. For which field we need to provide goto that specific view in that particular field, generate get_v method inside that write code we have class providing f4 help IF_BSP_WD_VALUEHELP_F4DESCR, Pass parameters context attribute name and f4 attribute name.

45. how you add new field through AET?

46. we have one of the field ZABC , how we can validate?

There is a DO_VALIDATE_INPUT method in View controller (IMPL) class. You could make use of this method for validation. Redefine this method in order to validate the data of the whole context before it is transfered to the APIs.

47. If u transfer data from search view to ovp, in ovpi have field country for that country field how we can provide default value?

Throughdo_int_context.

48. purpose of Inbound plug and outbound plug , how you can transfer data through outbound plug?

a. Inbound plug is used to receving data.

b. outbound plug is used to sending data through navigation link.

49. what is navigation bar profile, T code for that ?

Navigation bar profile contails the logical structure for calling internal and external applications from the CRM WEB CLIENT. It describes the navigation bar of the user interface, and its structure is specifically designed for individual business roles

50. purpose of window, view set and views. why we can't assign views to window directly?

a. window is container, where we can assign view set and ovp , window able to hold one at a time so we can't add multiple views one by one.

b. view set contain set of views to display in web ui level, vs able to hold multiple views.

51. difference b/w AET and EEWB?

a. AET(application enhancement tool) is a enhancement tool which is used to enhance standard component with custom field. which is available in crm 7.0 .

b. EEWB(Easy Enhancement Workbench) is used to enhance standard component which is available in before crm 7.0, here standard code required to provide search help and dropdown list box.

52. purpose of GenILbol browser and GenIL model browser?

a. Genibol browser is a tool for visualizing the structure of object models,which is used to display data using bol.

b. Genil model browser is used to display object models with their objects and named relationships.

CTS interview Questions type 2:

53. What is one order framework?The One Order Framework is defined as the Framwork to handle all the CRM One Order Documents. Basically CRM One Order Documents are Sales Orders, Service Orders, Activities, etc. They all have a common structure to handle the data.54. What is post processing framework?

Actions in SAP CRM use the Basis Post Processing Framework (PPF) component [The Post Processing Framework (PPF) is an SAP basic technology that is used in SAP CRM to schedule and process actions and outputs with an application document (such as a contract or an activity).] as the uniform interface for different processing methods.55. How you created popup window?

1. Select which view attribute going to provide popup.

2. Create Get-p method for attribute.

3. Inside get-p method provide rt_value,pick list as field type,eventlink and on click triggering events

4. Create attribute at view implementation class level such as if_bsp_wd_popup

5. Inside event, by using of class cl_thtmlb_util->get event info

6. Find the record whter user interacted collection wrapper by using find method and passing import parameter as iv_inded.

7. Checking case value where asiv_column

8. Trigger pop up by calling create_pop method

9. Create popup methoe is interface view as zorm_ovp/maincomponent usage = cu2

10. Set_on-close_event

11. Set_window_width method we can set width of popup window

12. Open method is to open pop up.,56. How you added custom component to the web ui?

1. Created target Id for my component

2. Created Logical link

3. Created logical link group and assigned the logical link created above

4. Assigned logical link group to work center(SRV-HOME).

5 . In business role I have checked the check boxes ( menu , visible ) corresponding to the work center link group.

57. Why we inherit the parent class properties to child class?

Inheritance is the process by which object of one class acquire the properties of another class.

Advantage of this property isreusability.

This means we can add additional features to an existing class with out modifying it.

58. What is CRM Events?

59. How do you enhance the standard component and how you add the field?

Step 1.

Open Transaction SM34 and enter View Cluster 'BSPWDVC_CMP_EXT' to create a new Enhancement Set.

Alternatively this can also be done via BSP_WD_CMPWB as shown below.

Step 2.

Add new Entries and enter the name and description.

Step 3.

Open Transaction sm30 and assign the just created Enhancement set for the Client in the view BSPWDV_EHSET_ASG.

Step 4.

Open the UI Component which needs to be enhanced, use BSP_WD_CMPWB to check whether the Enhancement Set which has been just created exists by clicking on the F4 help.

Step 5.

Open the Standard UI Component and click on the "Enhance Component" Tab and provide the Enhancement Set information.

Step6.

Provide the Application Name.Step7.

Provide the Repository Information.Step8.Click on Yes to create BSP application.

Step9.

Your Component is now Enhanced. To Enhance a View right click on the view.

Step10 .

As you can see the Z class which means that the View has been Enhanced.

ADDING FIELD :

60. How you provide dropdown through AET?

Prepare the Value Help DescriptorReturn the Value Help DescriptorTrigger a Server Roundtrip After a Value is SelectedProvide a Dropdown Box for an Advanced Search

Create P Getter for Business Object Attribute61. How do you configure the Action profiles?

1 Enter into any SAP-CRM Server and move to Transaction SPRO.

2 Press SAP Reference IMG -> Customer Relationship Management ->Basic Functions -> Actions -> Actions in Transactions.

3 To create an Action Profile - Click onCREATE ACTIONS WITH WIZARD. First read the documentation.

4 Now Press the Execute Buttonto start creating an Action Profile.

5 Click CONTINUE. Enter the Details to create Action Profile.

6 Click CONTINUE. Enter the Details to create Action.

7 Click CONTINUE. Enter the Details to set Action.

8 Click CONTINUE. Enter the Details to Set Up Partner Determination.9 Click CONTINUE and select the Processing. The processing that we select is the one on which we want the Action to work on.

10 Click CONTINUE and Enter the Workflow Number that you want to assign with this Action.

.11 Click CONTINUE and Enter Action Description.

12 Click CONTINUE and assign Schedule Condition.

Select anyone that suits your requirement and proceed further.

13 Click CONTINUE and assign Start Condition.

.14 Click CONTINUE and Action Configuration is complete.

15 To assign Start Condition -> Go-to step 2.1.2 -> Click on Change Actions and Conditions -> Define Conditions.62. Why you created custom generic component? Tell the procedure and requirement you got?

63. Why you created search result view?

64. What is order_savebadi? And what is the purpose of BADIs?

When the customer needs more functionality than the SAPstandard Program(Functionality)then we can add extrafunctionality to standard SAP functionality through Badi.,65. How do you assign business role for you?

Business Role: The business role is the central object for controlling the navigation bar, the logical link and the authorizations for users.

Steps to assign business role:

1. Go to IMG path: Customer Relationship Management->Business Roles->Define Business Roles ot to Transcation CRMC_UI_PROFILE.2. Pick a suitable role which you want to create a copy of and note the PFCG role id

3. Go to transaction PFCG and create a Z copy of the standard PFCG role

4. Once the PFCG role is created go to IMG path: Customer Relationship Management->Business roles->Define business roles and create a new business role with the above created PFCG role(it is cconvenient to copy the standard role to Z NAMe space and change the PFCG role id) save the changes

5. IMG PATH; Customer Relationshiip Management->Business Roles->Define Organizational Assignment or Transcation PPOMA_CRM

Users/Business Partners are assigned with in the organizational model to a position

User/business partners can be assigned to multiple positions

Each position can have exactly one business role

6. Double Click on the position, menu option Goto->detail Object->enchanced object description

7. Go to business role and click on create.

8. Maintain the business role

66. How do you enhance the search criteria?

67. What is purpose of do_prepare_output?

DO_PREPARE_OUTPUTmethod is triggered each time the view is prepared after each event.68. What is do_init_context?

It is used for add default values

69. What is do_config_determinition?

70. What is the purpose of custom controller and component controller?

Custom Controller: It is used for data transfer across two views within a component.

Component Controller: it is used for data transfer across two views in two different components

71. How you provide default values for a field?

By using method DO_INT_CONTEXT

72. What is the purpose of navigation link? Is it possible to navigate without inbound and outbound plugs?\ What is the purpose html code in a view?

Navigation Links:

e) This node is used to create the navigation from a source view to one or more target views.f) Outbound (Source) and Inbound (target) plugs are must to create navigation links. g) The name of the navigation link is required to execute a navigation.h) Navigation Request(hyper link)->Event handling of request->calling Outbound plug-> start navigation->processing inbound plug.Outbound and Inbound Plug:c) Outbound Plug:It is used to send the data from current component to the other component.d) InoundPlug : 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.

b) 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.

73. What is the purpose of PFCG tcode?

It is used to maintain the authorization profiles.Each authorization references an authorization object and defines one or more permissible values (e.g. Display, Change, and Create) for each authorization field contained in the authorization object.74. How you display the messages in web ui?

By using function module crm_message_collect

*SAP CRM Most useful BADIs (Updating)ORDER_SAVEBADI is used at the time of saving order.1st called CHECK_BEFORE_SAVE - Useful for check if the values are filled as expected, or if any obligatory field is unfilled. If you launch the exception, the document will be not saved giving an opportunity to the user to change the document again.2nd called PREPARE - The method that is used to manipulate document data before it gets saved. It's is good to fill some fields automatically, based on user's inputs.3rd called CHANGE_BEFORE_UPDATE - Here you cannot anymore manipulate the document. It's used to do some extra work while the document is being saved, such as for example, to launch an action byanalyzingsome complex validations or send notifications by email and so on...75. I want to add the SE38 report at web ui level? Tell the procedure?

76. How you navigate from search page to overview page? Tell the entire procedure?

Steps:

1. Go to search component provide hyperlink for result attribute.

Result View->ContextNode->attibutes->select attribute(which user clicks)->rightclick->generate Get_p Method and write code.

2. If click attribute which we provided hyperlink it needs to trigger for that create even hanler with name which we given in GET_P CODE RV_VALUE.

Create Event name single selectionand click continue->double click and write code.

3. Create outbound plug, Result View->Outbound plug->rightclich->crete->op_plug. Double click on Op_plug and write code.

4. Go to Ovp Component->RRE->component interface->add interface view

5. Add context node

6. Create inbound plug->main window->inboundplug->right click->create

7. Go to search component->RRe->Create Component usage

8. Crete navigation link, RRE->navigation link->rightclick->create9. Test Component go to Search Component->click on test

77. We have two business roles, for two business roles we assigned only one navigation bar profile. Now some of the first business role is hide to the second one. How you vil do?

78. Why you created search result view? How you fetch the code from search view to result? Tell the code?

79. What are the fields available in right hand side for each attribute at UI configuration level?

80. Is it possible to hide a label?

81. Why you created custom generic component? What is the requirement you got?

82. If you add two fields it will display like : firstname

i. lastnamein UI Configuration but I want it like firstname/lastname

83. I have an error in my document/application, you have to find out the where the error exactly .How?

84. How you created popup?

Select which view attribute going to provide popup.

Create Get-p method for attribute.

Inside get-p method provide rt_value,pick list as field type,eventlink and on click triggering events

Create attribute at view implementation class level such as if_bsp_wd_popup

Inside event, by using of class cl_thtmlb_util->get event info

Find the record whter user interacted collection wrapper by using find method and passing import parameter as iv_inded.

Checking case value where asiv_column

Trigger pop up by calling create_pop method

Create popup methoe is interface view as zorm_ovp/maincomponent usage = cu2

Set_on-close_event

Set_window_width method we can set width of popup window

Open method is to open pop up.,85. Tell Configuration of Action Profiles?

Go to que number 61.

86. How do you configure the business roles?

go to que number 65

87. How you display the messages in web ui?

Steps:1. Create the Z message class in se91 and add the message into the class with the corresponding message number.2. And go to

88. We added custom component(search result view) in web ui level? Now we have add some functionality to the the search event in search result view ? will u enhance it or any other procedure?

89. What is redefinition concept?

90. How to transfer the data between two context nodes in the same view?

data: lr_entity type ref to cl_crm_bol_entity.

lr_entity ?= me->typed_context->(context_node name)->collection_wrapper->get_currrent( ).

lv_field_value = lr_entity->get_property_as_String( **pass the field name here ).

91. i have toolbar button on assignment block, if i click on that I will navigate to other page? how?

92. If u transfer data from search view to ovp, in ovpi have field country for that country field how we can provide default value?

93. without using function module how we can get the data through bol programing?

94. Define SAP CRM ? Advantages of CRM?

95. What is genil?

It provides interface between BOL layer and database through API96. What areBolentities?how can we access bol entities.

Go to question number 1997. What is genil?types of classes in genil?types of genilentites?howmany r there?explain(like root dependent object)

Go to question number 398. How we can create root and dependent entities in bol and genil:

99. Difference between model and value node

100. How to enhance standard component?

Go to question number 59101. How we can add custom component to standard component

Go to question number56102. Difference between static and dynamic navigation

103. Have u worked on badi?howmanybadi u have worked?whyrequired?how u achieved that req?

104. What is model and value table?

105. What is mvc ?explain interms component workbench?

106. What is page attribute?

107. Why do we use navigational link?inbound and outbound plug?

108. How we Can bind the data between views and components?need of wd_usage_initialze?whywe bind?

109. Use of Get_p,get_v,get_i,get_a?

110. Diffrence between rfc and bapi?whatbapis u have used in real time?

BAPI stands for Business Application Programming Interface. It is a library of functions that are released to the public as an interface into an existing SAP system from an external system.

RFC is the protocol used to call functions in an R/3 system by a caller external to R/3 or to call programs external to R/3 from an R/3 system.

111. What table u used?explain briefly?

112. How we can display buttons? in how many ways we can achieve to create buttons? In which methods will write code?

Go to que number 17113. In which module (like sales,service,marketing) u worked?

114. Why use iterators ?how we can move from one entity to another entity?

go to questionnumber 23.115. How to add custom component to navigation bar profile?

go to question number 56.

116. How to add dropdown,f4help,tree?what are steps to follow?for which field u made ?

Go to question number 14117. Have you worked on middlware and bdocs?

118. Why we use get related entities?

If object is created from parent object, the if you want to access the dependent object we use get_related _entity method119. How do u see values in debugging?

Go to question number 30120. What is action profile?Have u worked on action profiles?what is requirment?

Go to question number 85IBM interview Questions type 1:

121. Tell me about ur client? What is their business? How you got the work and to whom you are going to submit?

a) Said about my client and their business then

b) I got the work from team lead in the form of functional spec, I have to analyze the functional spec if I have any doubts I vil communicate vth the functional consultant who sent the functional specification. Once I understand I develop the technical spec, once my object completed I vil do the unit test whether the application meeting the requirement or not. I vil submit my work to my lead, he will send to quality people if every thing is ok.

122. I want to add a field in IC Web client, how you do that tell the procedure?

a) By pressing f2 in IC webclient we get the technical details like component name, view name, context node name etc. note them. Create a data element in se11 according to the requirement. Now using the AET we are going to add the field to icwebclient. Once field successfully added through AET we have configure the field from avialblefileds to visible fiels, to do that enhance the component and move the field. Now field available in icweb client.

123. I have standard component with number of views, I want to enhance first and fourth view only and some fields for that,how you do that? Tell the tcode for that?

a) I told if the component is enhanced already with enhancement set, just go to that views which we want to enhance ,in context menu of that view have Enhance option select that ten view become customized and now by using AET add the fields.

124. What is said is right but she dont want that. She expectingtcode to enhance the component. .

125. What is the purpose of IMPL class?

a) IMPL class assingned controller in each view. By using methods and attributes of the impl class we control the user requests, navigations, event handlings of a view or a component.

126. We have inbound plug and outbound plug right, where we can see these things in IMPL class?

a) I told we see those two in bottom of the tree structure of a view. But she want in impl class.

127. We have IMPL, CTXT, CN00, inbound, outbound plugs and .htm right, in which tcode we see all these things?

a) I told BSP_WD_CMPWB used to see all these things but she asking for other tcode.

b) I said dont know.

128. Tell me the procedure how you added link through transaction launcher?

129. Tell me the procedure to create buttons on assignment blocks?

130. Once we add button on assignment block, I have to navigate to other when I click on it? How?

a) I said through navigation links is possible and I told the procedurefor me also dont know the exact procedure but I tried.

131. Have you worked on BI?

132. Have you worked ABAP HR?

133. Have you worked on ECC ?if yes on which modules you worked?

a) Yes I worked on ABAP, in that MM & SD modules.

134. Do you configured any business roles?

135. Are you worked on ACTION Profiles?

136. I said yes then she asked tell how you configured? For that I told I just involved in the BADI implantation part, configurations are take care by security people. She said k and skipped for other question.

137. Do you know how to create logical links, assigning logical links in navigation bar profile?

138. Do you know how to create f4 Help and drop down fields for a field right?

139. My end is over do you have any questions?

140. I asked I want know what is the tcode for seeing IMPL, CTXT, CN00, inbound, outbound plugs ,.htm,other than what I said.

She replied as a crm consultant u dont know even that?

Then topic is diverted and ended.

GSS Software Solutions interview questions:-141. What is the ABAP Enhancement?

142. What is the Badi,BAPI?

143. View Have 3 classes purpose of three classes?

144. Do u has work on Data migration & Data creation?

145. What is the Middleware setting? What about the Bdocs?

146. What is the Navigation bar profile? How wills configuration

147. what is the Transaction launcher? How will configure that?

148. What is the Action profile?

149. do u have faced the any issues in this project?

150. What is the window? How will check the views which are related same view?

ATOS interview Questions:-151. What is the class of the OCA? How will configure that?

152. OCA already delete button is there row level deleted every thing is fine? But client ask the delete in popup level how will do the requirement?

153. What is the collection wrapper?

154. If u transfer data from search view to ovp I have field country for that country for that country field how we can provide default values?

155. How will add the field in AET level?=====================================================================================

* Mahesh Class *

SAP CRM WEBUI ARCHITECTURE:Controller- is a class wchich ends with '_impl'.

this class is the decision maker whether to fetch d data from d underlying layers r to display d data directly on d view.

5 types

1.component controller

2. Custom controller

3.interface controller

4.window controller

5.view controllerModel : model contains context n context node classes. This context node is responsible for linking the web UI fields to the underlying BOL layer. this linking is known as binding.

View : view is nothing but a '.htm' page, which is responsible for displaying fields on the webUI

types of views

1. Empty view.

2. Form view.

3. Table view.

4. Advanced search page.

Table view - Each attribute can hold multiple records.

Emp id (Attribute 1)

" holding multiple records"Emp nameAddress

Bhanu

Mahesh

Sudhakar

Form view - Each attribute holds single record.

Emp name: BhanuNode:

model node- in context node class, base_entity(const)value should be there.So,it is called as model node or else it is called as value node.