Thursday, February 7, 2013

How to Customize Component...

SAP has provided standard component related to CRM modules under sales,service and marketing with IC also.

We customize standard component based on our requirements.Now,I will describe the steps to customize standard component i.e. enhancement of standard component.

We need one enhancement set under which standard components are enhanced. 


Tuesday, February 5, 2013

Component Architecture(Technical)

We enhance standard components based on our custom requirement. But, I want to give architectural view of component before proceeding component enhancement.

Component follows MVC architecture i.e. model view controller architecture.

a)Model:- It defines application data and is connected to business functionality or underlying layers.
b)View:- It visualizes application data.
c)Controller:- It handles events,defines control flow and updates model data/attributes.

End User sends requests to controller and then controller flows control to view as well as model. Data flows from controller to model ( if user enters data then data is set in model) as well as from model to view(data is fetched from application layer and displays on view).

Once we will get inside components, we will find views,controller,run time repository.Now, i am going to technical details regarding all these elements.

a)Views contains respective classes for data control. Views have view controllers, which contains  implementation class,context class and context node class.

Implementation Class:- It controls request processing methods,all toolbar button related methods,all event handlers,plugs etc.Starts with C but after enhancement it is renamed to starting with Z and ends with _IMPL.

Context Class:- It controls data context i.e. binding etc.It ends with _CTXT.

Context Node Class:-It controls context node related methods.It ends with CN00,CN01..etc.All Context Node attribute have their methods to change properties of field ( i.e. display only or editable,Drop Down,Check Box etc and set/get field values).

b)Controller has major role in Web UI to control data flow from presentation layer to API and vice versa.  
There are 5 controllers.
1)View Controller
2)Component Controller
3)Window Controller
4)Custom Controller
5)Interface Controller

View Controller:- It reacts to events that occur in the corresponding view or view set. It also manages view inbound and outbound plugs,which are point of entry into and exit from the view for handling navigational events.

Component Controller:-It controls all instances of the controller-View,application and custom-present in its component.

Window Controller:- Each view is contained in a window. The window provides view with space for displaying its content. Like view controller,the window manages inbound and outbound plugs.Unlike the view controller,the window controller manages inter-component navigation instead cross-navigation between views inside the same window.

Custom Controller:- It acts as central place for sharing data between views.The custom controller makes it convenient for one view to access other view's data without either of the view having to directly expose its internal model to the outside world.

Interface Controller:-It controls the navigation across components. Here,we are specifying the interface view( we have to create interface of the window to make it available for outside world i.e. public). We are including context node also which is used for data flow across components. During navigation,context node of interface controller should be same as of context node of component controller.

c) Run-Time Repository:- Run-Time Repository is important part of component. We are doing assignment of views to the view set or windows in run-time repository only.Model Node layout with respective component set is also placed in run-time repository.Interface Controller,Component Usage are part of run-time repository.Whenever we are making changes in run-time repository.All details are already created in repository.xml. We can get all information related to component in repository.xml.

It was basic architecture view of component. Now, We will see customization of component based on requirement.

ONE STEP TOWARDS SAP CRM WEB UI

Now we will go ahead one by one on the stairs of SAP CRM Web UI.

Component Workbench is starting point of SAP CRM Web UI. It is accessible via BSP_WD_CMPWB. This tool facilitates the development of the Web Client UI Components. A UI component is the uppermost building block in the Web Client UI.Within a component,you can develop controllers and views, and define navigation links and many other elements.We cannot explain the features of this tool without first explaining the framework elements and APIs.For this reason,we will leave the detailed explanation for later and share this knowledge as we develop our sample applications.

The entry point of SAP CRM is also a component. We can start SAP CRM application directly from the Component Workbench.To do so,enter the name of the frame component,CRM_UI_FRAME, and click the TEST button. The SAP CRM Web UI will open in a new browser window.

Thursday, January 3, 2013

SAP CRM WEB UI Generations

As of SAP CRM 2006s,SAP consolidated the user interface(UI) technologies available in SAP CRM. SAP chose one Web-based UI technology for all end user scenarios,namely the Web Client UI. People Centric UI would not be supported anymore, and SAP GUI would be used only for customizing and development.

The new UI concept was based on the proven Interaction Center Web Client.It incorporated many best practices pertinent to standard Web applications.To end users,it provided a look and feel and navigation that matched their experience with the Web.As a result,the learning curve was reduced and rate of adoption was increased.

I am not going depth in functional aspects of SAP CRM WEB UI but will describe technical views.