Sap crm ui  cookbook
Upcoming SlideShare
Loading in...5
×
 

Sap crm ui cookbook

on

  • 22,008 views

 

Statistics

Views

Total Views
22,008
Views on SlideShare
22,008
Embed Views
0

Actions

Likes
3
Downloads
1,241
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Sap crm ui  cookbook Sap crm ui cookbook Document Transcript

  • Version 3 Consultant’s Cookbook CRM WebClient UI Valid for SAP CRM 2006s SP05 and higher June 2007Please provide feedback:crm.feedback@sap.com
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 2Change HistoryVersion Status/Changes Date1 Version for CRM2006s SP03, CRMUIF SP4 February 20072 Version for CRM2006s SP05, CRMUIF SP7 June 20073 Version for CRM2007 December 2007Icons Icon Meaning Caution Example Note Recommendation Syntax
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 3Contents0 Introduction...................................................................................................................................................41 CRM WebClient UI Architecture..................................................................................................................51.1 Introduction .................................................................................................................................................5 1.1.1 CRM WebClient UI Architecture Overview ..............................................................................................51.2 CRM WebClient UI Architecture: Software Architecture Layers...........................................................71.3 The Business Layer ....................................................................................................................................71.4 The Presentation Layer ..............................................................................................................................9 1.4.1 Model View Controller Design Pattern Overview.....................................................................................9 1.4.2 CRM WebClient UI Components ...........................................................................................................18 1.4.3 View Set Composition and Navigation...................................................................................................202 CRM WebClient UI Enhancements ...........................................................................................................232.1 Tool Overview ...........................................................................................................................................23 2.1.1 BSP Component Workbench .................................................................................................................23 2.1.2 UI Configuration .....................................................................................................................................24 2.1.3 Web Service Tool...................................................................................................................................262.2 Tutorial: Example for IC WebClient UI Structure and UI Configuration ..............................................283 Linked Documents .....................................................................................................................................353.1 SAP CRM Web UI Philosophy..................................................................................................................353.2 UI Configuration........................................................................................................................................353.3 General Framework Concepts.................................................................................................................353.4 BI Integration.............................................................................................................................................363.5 Enhancements ..........................................................................................................................................363.6 Web Service Tool ......................................................................................................................................37
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 40 IntroductionThis cookbook is aimed at members of CRM WebClient UI implementation teams, for example,consultants or project leads. It supplements the SAP CRM 2006s standard documentation and has thefollowing structure: Unit 1 Explains the technical concepts and architecture used by the CRM WebClient UI, such as Business Server Pages (BSPs) and the underlying Business Object Layer (BOL) Unit 2 Contains tutorials on how to apply changes to the CRM WebClient UI. It also gives an overview of the available tools that enable you to apply changes to the CRM WebClient UI. Unit 3 Contains reference documents for further information on CRM WebClient UI. As of SAP CRM Release 2006s, the IC WebClient shares the UI Framework and is a part of the generic CRM WebClient UI. Therefore, you may also consult the SAP CRM documentation for your IC WebClient projects.We also recommend the following documentation: TICM Guides and Configuration Guides: SAP Service Marketplace (service.sap.com/crm-inst) -> SAP CRM 2006s: o Master Guide o Upgrade Guide o Installation Guides o Security Guide o Solution Management Guide o Configuration Guides for all released scenarios Consultant Documentation: http://help.sap.com -> mySAP Business Suite -> SAP Customer Relationship Management System Documentation: IMG documentation and related field help, message long texts Release Notes: SAP Service Marketplace (service.sap.com/releasenotes)We would very much appreciate your feedback about this document. Please send your comments to:crm.feedback@sap.com.
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 51 CRM WebClient UI Architecture1.1 IntroductionIn this unit, you will learn the following about the overall architecture of the CRM WebClient UI: Section 1.1 explains that the CRM WebClient UI is based on the SAP Web Application Server (SAP Web AS) technology Section 1.2 gives an overview of the layers of the CRM WebClient UI software architecture Section 1.3 focuses on the business layer of the CRM WebClient UI Section 1.4 introduces the BSP technology-based presentation layer of the CRM WebClient UIThe graphics of this chapter visualize the concepts of the software architecture in two different ways: Abstract graphics explain how the technical elements of the CRM WebClient UI work together in the architecture concept Screenshots from the Component Workbench (transaction BSP_WD_CMPWB) show how to access these elements in the system and how they are linked togetherThis way you can compare the concepts to what you see in the system in parallel.1.1.1 CRM WebClient UI Architecture OverviewThe CRM WebClient UI is built to run within a Web browser. Therefore, on the client side it is onlynecessary to install a Web browser. A SAP Graphical User Interface (SAP GUI) is not necessary.All data displayed in the Web browser is sent by HyperText Transfer Protocol (HTTP) from the SAP WebAS to the client (the Web browser).
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 6 CRM WebClient and SAP Web Application Server Web Browser CRM WebClient HTTP SAP WebApplication Server 70 SOAP/XML Internet Communication Manager RFC HTTP(S) ABAP J2EE Business Server Pages (ABAP + HTMLB) SMTP © SAP AG 2006; ASM CRMCRM WebClient UI and SAP Web Application ServerSAP Web AS 70 contains two runtime environments: ABAP J2EE (Java 2 Enterprise Edition)The CRM WebClient UI is fully based on the ABAP stack. The user interface (UI) is based on BusinessServer Page (BSP) technology. BSPs are a blend of ABAP code and BSP extensions. BSP extensionsprovide HyperText Markup Language Business (HTMLB) tags for a consistent look and feel throughout allapplications. HTMLB tags have complex and extensible capabilities that are much more powerful thanstandard HTML tags.For more information about how HTML tags are used for the CRM WebClient UI, see section 1.4.1.1:Views.The HTTP services of the Internet Communication Manager (ICM) communicate between the Webbrowser and the BSP runtime. The ICM handles the inbound and outbound connections of the SAP WebAS. It is responsible for caching and works with a great variety of protocols, such as Simple Object AccessProtocol (SOAP), HTTPs, and Simple Mail Transfer Protocol (SMTP).The ICM is an integral part of the SAP Web AS. In addition, an Enterprise Portal can be used but is notnecessary to run the CRM WebClient UI.
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 71.2 CRM WebClient UI Architecture: Software Architecture LayersThe CRM WebClient UI is based on a multi-layer architecture on the server side: CRM application & database Business layer Data of business objects of a CRM WebClient UI session, such as business partners, products, and transactions, are handled by the business layer. For more information, see section 1.2: The Business Layer. Presentation layer The Business Server Pages (BSPs) are the presentation layer of the CRM WebClient UI. They are the basis for the HTML page running in the Web browser. For more information, see section 1.3: The Presentation Layer.The layers are strictly separated. Layers of the CRM WebClient Application CRM WebClient Presentation Business Server Pages CRM WebClient Layer (BSPs) specific Layers Business Business Object Layer Layer (BOL) Generic Interaction Layer (GenIL) Appl. Progr. Interfaces Layers of Business (APIs) underlying Engine Business (e.g. mySAP CRM) Tables Application © SAP AG 2006; ASM CRMCRM WebClient UI Architecture LayersThis separation allows the connection of any business application, via GenIL and BOL, to the CRMWebClient UI presentation layer. The CRM WebClient UI handles not only CRM business objects andprocesses, but also ERP system application objects, such as employees from mySAP HCM (HumanCapital Management) and ERP sales orders from mySAP SCM (Supply Chain Management).1.3 The Business LayerThe business layer consists of the following:
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 8 Business Object Layer (BOL) The BOL stores data of business objects, such as business partners and sales orders, at the runtime of a CRM WebClient UI session. It was implemented to guarantee the separation of the CRM WebClient user interface and the underlying business logic. Generic Interaction Layer (GenIL) The GenIL handles the data transfer from the BOL to the Application Programming Interfaces (APIs) of the underlying (CRM) business engine (application logic and database tables). In other words, the GenIL connects the BOL to the underlying business logic and database, for example SAP CRM, through the Application Programming Interfaces (APIs) of the underlying application, in most cases APIs of SAP CRM. Business Layer: Overview Presentation Layer (BSP) Request user Controller input Model data output Response View Business BOL: Business Object Layer Layer data structures of the BOL holding business objects for the CRM WebClient session GenIL: Generic Interaction Layer GenIL Model and Implementation Classes connecting BOL to CRM APIs Business API API API Engine (e.g. my SAP CRM) © SAP AG 2006; ASM CRMBusiness Layer OverviewIn the BOL, there are mainly three different types of objects: Root objects (also called entities) Root objects store business object data during the runtime of a CRM WebClient UI session. Search objects (also called query services) Dependant Objects A dependent object is a special type of business object whose attributes cannot be determined solely from the ID of this business object, but instead, only or together with the ID of the superior access object. Example: ONEORDER (BOL component set) -> BTOrder (Root Object) -> BTAdminH (Access Object) -> BTCustomerH (Dependent Object)Root objects, such as business partners and CRM business transactions, are implemented as hierarchiesof data dictionary structures. Each BOL object appears in a tree structure with exactly one root node. The
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 9composition of BOL objects is generic, as the BOL data structures are usually including the structures ofthe underlying data model of the application.You can use the component workbench (transaction code BSP_WD_CMPWB, button “BOL Model”) tosee how business objects are implemented in the BOL.The figure below shows the BOL root object BTOrder (CRM business transactions). Component Workbench: Accessing the BOL Model BOL Object: CRM Business Transaction Data Dictionary Structure (double click) New Transaction: BSP_WD_CMPWD Fields of the structure © SAP AG 2006; ASM CRMAccessing the BOL in the Component WorkbenchFor more information on GenIL and BOL customizing: see Customizing for Customer Relationship Management, by choosing CRM Cross Application Components Generic Interaction Layer/Object Layer Basic Settings. see links in unit 2.1.4 The Presentation Layer1.4.1 Model View Controller Design Pattern OverviewBusiness Server Pages (BSPs) can be created using different programming paradigms and designpatterns. The CRM WebClient UI BSP is based on the Model View Controller (MVC) paradigm. MVC is awidely accepted design pattern for developing object oriented user interfaces (UI). It provides an effectiveway of relating UI layouts to an underlying data model. A MVC application consists of a: Model
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 10 The model of the CRM WebClient UI BSPs consists of contexts and context nodes that link the fields of a view to the underlying business layer (the BOL). This linking is referred to as binding. Each data field on a view visualizes an attribute of a context node. For more information on context and context nodes, see section 1.4.1.3: Model: Contexts and Context Nodes. View The view handles the visual output. It is responsible for rendering the output and relevant UI controls, such as data fields and push buttons. All output is received from the controller for rendering. All user input is passed from the view back to the controller for processing. For more information, see section 1.4.1.1: Views. Controller The controller handles the interaction logic and provides the connection between a view and a model of a MVC application. A controller receives all keyboard and mouse input from the view. Based on these events, the controller can decide how to react, for example, by accessing data from the model or triggering the navigation to a different view. For more information on view controllers, see section 1.4.1.2: Controllers. IC WebClient 5.0 2006s Delta Knowledge: As of release 2006s, the IC WebClient views are stored in components. The Interfaces of a component – the windows – allow the reuse of the views of a component by other components. This is an improvement compared to the situation in 4.0 and 5.0 where views could not be reused directly . A component is technically a BSP application. (Learn more about components in the IC WebClient Components section of this unit and in unit 2.)The figure below shows how the view, controller, and model make up the Presentation layer of the CRMWebClient UI.
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 11 Model View Controller Concept Presentation Layer (BSP) user Request Controller input set Model CRM WebClient data output Response View get Business Layer (BOL & GenIL) Business (APIs) Data flow Control flow Engine Tables © SAP AG 2006; ASM CRMModel View Controller ConceptThe views and their corresponding controllers and contexts of CRM WebClient UI components can beaccessed in the component workbench (Transaction BSP_WD_CMPWB: click on Views in the BowserComponent Structure).
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 12 Component Workbench: View, Controller and Model Controller: Class Model: Context & Context Nodes Controller: Event Handling & Navigation Transaction Code View: Layout BSP_WD_CMPWB © SAP AG 2006; ASM CRMComponent Workbench OverviewNOTE: In CRM WebClient UI components, each view has its own view controller, for example, view, BTSHeader.htm, and corresponding controller, BTSHeader.do. The CRM WebClient UI includes special types of views called view sets. A view set contains placeholders - the view areas – that can be filled with other views. This way, a number of views can be combined on a screen in a particular layout. See figure View Set, View Area, and View.The different elements of the CRM WebClient UI BSPs are explained in more detail in the followingsection.1.4.1.1 ViewsThe layout of CRM WebClient UI views can be implemented in two different ways, both of which rely onHTMLB tags. Both ways are used by the CRM WebClient UI standard delivery layout.Option 1) The layout definition, including the selection, sequence and positioning of fields and labels, is configured and stored outside of the view by the UI configuration tool. The view contains one special HTMLB tag that is able to read the layout definition that was saved by the configuration tool. To access the tool, select a view in the component workbench and click on tab page Configuration.Option 2) The layout details are represented by HTMLB tags directly in the view layout coding. HTMLB tags are used to structure the view layout and to describe all of its UI elements. The view layout definition structures the available space as a grid of columns and rows. Cells of this
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 13 grid are filled by HTMLB tags for the various UI elements like fields, navigation links, and buttons. To access the view layout code, double-click on the view on the Structure tab page in the component workbench.HTMLB is a SAP extension of HTML. HTMLB tags have complex and extensible capabilities that aremuch more powerful than normal HTML tags. HTMLB tags ensure a consistent look and feel throughoutall applications. In addition to standard HTMLB tags, the CRM Web client UI framework makes use ofTHTMLB and CHTMLB tags. THTMLB are the basic tags (T stands for thin). These tags could also beused directly (Input tag, Table tag...).CHTMLB are the configurable tags (C stands for configurable). These tags are used on the view in casethe view can be changed in configuration. The CHTMLB Tags are based on the basic tags but are morecomplex.For more information about HTMLB tags, see the Tag Browser in transaction SE80.Option 1 is used mainly for the layout of form views (fields and labels and the grid of table views).Option 2 is used for areas of views that contain buttons and navigation links. IC WebClient 5.0 2006s Delta Knowledge: The new UI configuration tool was introduced with 2006s. It allows changes to major parts of the IC WebClient layout. Many of the layout changes that required changes to the view layout coding (HTMLB tags) in SAP CRM release 4.0 and 5.0 can now be done by the graphical UI configuration tool. Learn more about the UI configuration tool in unit 2. UI Configuration Tool Transaction Code BSP_WD_CMPWB Field Set with available fields View Layout © SAP AG 2006; ASM CRMUI Configuration Tool
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 141.4.1.2 ControllersView controllers consist of: • Controller definitions • Assigned controller classesTo access the view controller class of a view, see figure Component Workbench Overview. (Thecontroller class can be selected on view structure tab page).The controller class provides important methods that control the behavior of the corresponding view: Navigation Inbound/outbound plugs are methods that control what happens when navigating to or away from views. For more information on navigation in the CRM WebClient UI, see the Navigation section of this unit and links in unit 2. Events Event handler methods control the reaction to events, mainly user input. For example, when a user presses a button on a view, the processing of this event takes place in the method, DO_HANDLE_EVENT, of the view controller class. NOTE: Do not confuse these BSP events, described above, with CRM WebClient UI application events. The CRM WebClient UI application events can be triggered and handled by CRM WebClient UI alerts and are described in the online help documentation and IMG documentation. Context and Data Binding Various methods of the view controller class control the initialization of the context and thus the data binding. For more information on contexts and context nodes, see the next section.In CRM WebClient UI BSP applications, each view has its own view controller. The naming convention is:View name MyView.htmController name MyView.doController class name CL_CRM_IC_MYVIEW_IMPL1.4.1.3 Model: Contexts and Context NodesThe model of CRM WebClient UI BSPs consists of contexts and context nodes that link the fields of aBSP view to the underlying BOL data structures. This linking is referred to as data binding. Each data fieldon a view visualizes an attribute of a context node. Each attribute of the context node is connected to afield in a BOL structure.
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 15 Data Binding Presentation Layer (BSP) Controller Model View Context with Context Nodes and Attributes Business BOL: Business Object Layer Layer data structures of the BOL holding business objects for the CRM WebClient session GenIL: Generic Interaction Layer GenIL Model and Implementation Classes connecting BOL to CRM APIs Business Engine CRM APIs (e.g. my SAP CRM) passing the data to CRM Database Tables © SAP AG 2006; ASM CRMBusiness Layer: Data BindingContext nodes and contexts are both implemented as ABAP classes.To find the context nodes, expand the view structure in transaction BSP_WD_CMPWB. For an example,see figure below.In the example, the context class (suffix _CTXT) is an attribute of the view controller class. The contextcontains several context nodes, such as with suffixes CN00, CN01, and CN02. Each context node classcontains one or more attributes. The attributes of context nodes are exchanged with the attributes ofcorresponding BOL structures.
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 16 Component Workbench: Context, Context Nodes, Attributes Context Context Nodes Attributes (Fields) © SAP AG 2006; ASM CRMComponent Workbench: Context, Context Nodes, Attributes IC WebClient 5.0 2006s Delta Knowledge: In the SAP CRM releases 4.0 and 5.0, each attribute of a context node was implemented by its own GET and SET methods that read and write this attribute from and to a corresponding field of the BOL structure. As of SAP CRM release 2006s, the attributes of context nodes are implemented in generic getter and setter methods. Therefore individual methods per field are no longer required. As the new getter and setter methods are generic, they also handle fields that have been added to the BOL structures so that these fields no longer have to be implemented separately in the context nodes.
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 17 Example for Generic STRUCT setters and gettersEach time a view controller and a view are called, the context manages the instantiation of the contextnodes. However, when the view is no longer visible, it is removed from memory. This also removes thecontext and context nodes and the data.However, sometimes it makes sense to keep the data in memory while a view is not displayed. Forexample, to pass data from one view to another or in case the user wants to navigate back to the view.Data can be shared between different view controllers so the retrieval of data from the BOL can bereduced. This can be realized by custom controllers that have an unrestricted lifespan.1.4.1.4 Custom ControllersBesides the view controllers, there is another type of controller, called custom controllers. As describedabove, the important difference between custom controllers and view controllers is their lifespan.A view and the corresponding controller and context have the same lifespan. When a user navigates awayfrom a view, the view, controller, context, and its data are deleted from the memory immediately. Topreserve the data, they can be passed to custom controllers that have an unrestricted lifespan. Datarequired by different view controllers, or one view controller at different times, can be handled and storedby one custom controller.For this purpose, the contexts can be linked to a custom controller. The contexts are assigned to anattribute, TYPED_CONTEXT, of the custom controller class.This concept makes custom controllers ideal to hold common application data, such as the confirmedbusiness partner or current transaction. IC WebClient 5.0 2006s Delta Knowledge: Global Data Context As in releases 4.0 and 5.0, custom controllers can be used to share data between the views of a component and to extend the lifespan of data so that they survive the lifespan of a single view. In 2006s, this concept is enhanced by the global data context. The global data context is used to transfer data between components and to extend the lifespan of the data so that they survive the lifespan of a single component. In the IC WebClient, global data contexts are used a lot, as some data needs to be available during the whole session (communication process). Technically, a global data context is a public custom controller of a component.
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 18 Custom Controller Presentation Layer (BSP) Lifespan Lifespan Custom Lifespan Controller Controller Model Controller Model Context Node Model Context Node Context Node View 1 View 2 Business Layer (BOL, GenIL) Database © SAP AG 2006; ASM CRM1.4.2 CRM WebClient UI ComponentsThe CRM WebClient UI consists of various Components. Components are technically BSP applications.The component workbench (transaction BSP_WD_CMPWB) is the tool used to develop, test and enhancecomponents. IC WebClient 5.0 2006s Delta Knowledge: The separation of the IC WebClient views into components began in SAP CRM Release 5.0. Here the IC WebClient views were separated into two BSPs: • The generic BSP IC_BASE that contains all the generic views, such as breadcrumbs, navigation bar, and other parts of the L-shape that are framing the work area. • The application-specific BSP CRM_IC, which stored the views and view sets that were used to fill the work area of the IC WebClient. This separation of views into components was continued in the new UI Framework of SAP CRM 2006s. • The generic Component CRM_UI_FRAME that contains the L-Shape views etc. It is used by all CRM WebClient UI applications, not only by the IC WebClient. • About thirty Interaction Center application-specific workarea components where the content of the release 5.0 BSP CRM_IC was re-implemented and split into separate components. For example, there is a separate component for the Account Identification, the Sales Order, the Service Order, Product Search, Agent Inbox etc.
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 19 • Reuse components that are shared between components. Reuse components allow us to share, for example, the text view or the partner view in the IC WebClient wherever needed in the IC WebClient, for example, on the header and item level of Sales Orders and Service Tickets and other transactions. A more detailed example for a workarea component (service ticket) and a reuse component (service header details) is given in unit 2. • The IC WebClient Runtime Framework (BSP CRM_IC_RT_REP) was also split up. Each component now contains its own Runtime Framework XML file.The decoupling into the generic CRM WebClient UI component CRM_UI_FRAME, application specificworkarea components and reuse components is visualized in the figure below.
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 201.4.3 View Set Composition and Navigation1.4.3.1 View Set, View Area, and ViewA view set can combine several view areas. A view area can be filled with a view or another view set.View Set, View Area, and ViewEach component contains an XML file called Repository.xml (also called Runtime Repository). Thisrepository describes the view set hierarchy, specifically how the views are filled into the view areas of theview set as well as the navigation between views of a component. You can find the Repository.xml of acomponent under Pages with Flow Logic in the component workbench.You can see and edit the assignment of views to view areas in the XML files. An easier way to configurethe view set composition is through the Runtime Repository Editor of the component workbench. Thefigure below shows the Main Window of the Account Identification Component CRMCMP_BPIDENT in theRuntime Repository Editor (part of transaction BSP_WD_CMPWB).
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 21View Set Composition: Runtime Repository (part of transaction BSP_WD_CMPWD)1.4.3.2 NavigationNavigation from view to view is controlled by several elements.First of all, there are outbound and inbound plugs. These plugs are methods of the view controllerclasses. The outbound plug is a method of the source view (where the navigation starts) and the inboundplug belongs to the target view where the navigation ends.In addition, it is necessary to map the outbound and inbound plugs and thus the source views and thetarget view of the navigation.This mapping can be done by navigational links. A navigational link consists of an identifier, source view,outbound plug, target view and inbound plug. Navigational links are stored in the runtime repository. Aseach component has its own runtime repository, navigational links are mainly used when navigatingbetween the views inside the same component or to views of reuse components.If the navigation target is an independent workarea component, the navigation is mediated by mappingtables that are part of the navigation bar customizing and the workarea component repository. It isimportant to understand that the navigation bar is not only controlling the navigation triggered by thebuttons in the navigation bar but also the navigation from one workarea component to another.To learn more about how the navigation in the CRM WebClient UI works, see unit 2.
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 22Navigational Links: Visualization Runtime Repository Editor (Part of BSP_WD_CMPWD) IC WebClient 5.0 2006s Delta Knowledge: The navigation through navigational links of the repository is still similar to Release 5.0. An important improvement is that the repository can now be edited by the Runtime Repository Editor instead of manually changing the XML code. Differences to the earlier releases are related to the components. When the navigation involves reused components, more than one repository is involved. Here parts of the navigation are delegated from one component to another. In the IC WebClient, reuse components play a major role. Therefore it is important to understand components and the way they expose their views through windows to other components. You can find more information about the component concept and navigation in unit 2. Totally new is the navigation between work area components that is delegated to the navigation bar. Advantages of this concept are that major parts of the IC WebClient navigation are now controlled by IMG customizing rather than by XML or method coding.
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 232 CRM WebClient UI EnhancementsThis unit contains tutorials on how to apply changes to the CRM WebClient user interface and itsunderlying layers.2.1 Tool OverviewThis section provides an overview of the tools available to help you change the CRM WebClient UI.2.1.1 BSP Component WorkbenchThe new workbench is the central modeling tool for the new CRM UI Framework. The workbench is theCentral Access point to: Components, Windows, Views Runtime repositories Component related BOL ModelThe transaction to start the workbench is BSP_WD_CMPWB. Unlike the old IC Workbench(BSP_WD_WORKBENCH, which should not be used any more), the new component workbench supportsthe following new features: New elements in object tree (related to componentization concept) o Component Controller o Application Controller (not needed for us) o Window Controller New Wizards o “Create Window” o “Create Inbound Plug” o “Create Outbound Plug” o “Create Event Handler” New features o Support of components o Support of dynamic context node attributes Context node attributes no longer need to be generated out (as long as no special string conversion is needed (currency fields etc.)) All attributes of model entities are implicitly available on the view layout via structure access Also supported in the configuration tools Other features “Delete View” “Delete Custom Controller“The following tools are new with CRM 5.1: Create Component on initial screen View layout configuration Tool The appropriate configuration tool appears as a separate tab in the work area for views that contain a configuration tag Grid configuration tool Table and Tree configuration tool Overview, Home and Work Center Page configuration tool Advanced Search configuration tool Create Overview, Home and Work Center Page
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 24 Runtime repository editor Component Runtime repository is stored as single BSP page (“Repository.xml”) but editing it is easier using the new tool available in the tree area (replaces the “Runtime Repository Browser” tool) Can’t be used to edit old-style, fragmented runtime repositories Forward navigation support Component Test You can easily test the default window of a component by pressing F8You can create a component directly from the entry screen of the workbench 1. Enter name of the component. 2. Click on Create.The system generates: BSP application with the name of the component Component controller (BSP controller & corresponding component controller class) Default window named “MainWindow” (BSP controller, corresponding controller class & BSP view) Runtime repository XML file (BSP page "REPOSITORY.xml”) in the component’s BSP applicationFor further details please check note 1122248.2.1.2 UI ConfigurationA variety of tools are available to adapt the UI: UI Configuration tool Design Layer Customizing Easy Enhancement Workbench Navigation Bar Customizing Business Role Customizing Changing Skins
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 25UI Configuration Tools: OverviewUI Configuration ToolThe UI Configuration tool is an easy-to-use tool for adjusting the CRM standard views to your needs.Project team members and consultants use the tool as follows: Configure pages o Work center pages o Overview pages o Edit pages o Advanced search pages Configure blocks o Forms o Tables o Trees Configure fieldsDesign Layer CustomizingThe design layer links UI-related settings to a new, generic design object, which spans several viewsimplementing the same business content.The UI-related settings are simple field settings that are likely to be changed by project team membersand consultants. Field visibility: Set a field to ‘Hidden’ / ‘Field excluded from field set’: Field isn‘t available in the UI ConfigTool. (In CoD there is a difference between these two fields – if ‘Hidden’ is chosen, it is still available in the field customizing.) Rename field labels. Value Help from Dictionary: Generic V- and P-Getter methods, which define the value help (from DDIC: search help / value table / domain values) and field type (input field, checkbox, DDLB), have been implemented. The new generic V- and P-Getter logic is used only if the indicator is set.Role and Navigation Bar Customizing
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 26The role and navigation bar customizing controls are based on business roles and determine how thenavigation bar is structured and which links appear on the work center/home/report pages and in thedirect link group.The main elements are:Business role The business role is the central object for controlling the navigation bar and the logical links.User assignment The business role is assigned to an organizational unit in the organizational model. The user is assigned to an organizational unit as well.Authorizations The business role is assigned to an authorization profile via a “PFCG” role.Navigation bar profile The navigation bar profile contains direct link groups and work centers. Logical links are assigned to the direct link groups. Work center link groups structure the logical links for work centers. These work center link groups arent visible in the application.Customer EnhancementsCustomer enhancements can be done using the UI Configuration Tool and/or the componentenhancement concept.View layout configuration: Can be done using only the UI Configuration tool Does not require leveraging the component enhancement concept Used for customer specific layout and label changes (including adding new fields via EEW) Customer and SAP configurations are stored separatelyComponent Enhancements: Enhance the functionality of components, views and controllers provided by SAP Modification free via inheritance and using references Uses replacement concept for components at runtimeYou can also create completely new components.In chapter 3, you can find links to documents with more detailed information regarding the different UIconfiguration tools.2.1.3 Web Service ToolKey ConceptWeb services are open interfaces that allow you to link loosely coupled systems with a technology thatdoes not bind them to any particular programming language or platform. Web services represent anindustry-wide standard and are defined by the Web Service Definition Language (WSDL) file.Web services offer you the flexibility to extend an application’s capabilities to support specific businessprocesses without the need for extensive coding or complex integration. For instance, you can use Webservices to allow your customers to access your product and price information from their procurementsystems and create sales orders in SAP CRM by linking the procurement software to your ordermanagement application.Web services can also help you to work offline by uploading data from SAP CRM to an Adobe form thatyou can modify offline and synchronize later. This way you can pass leads, such as from SAP CRM toyour channel partners, via email or send service tickets to service technicians out in the field. They thenreceive all the information they need and can respond and add new data simply by filling out the form.Web Service Tool in SAP CRM 2006sSAP CRM 2006s provides a new Web service tool that allows you to model your individual Web serviceinterfaces without spending days on ABAP or Java coding. With the Web service tool, you first model yourservice design object by choosing the needed attributes. Then the tool transforms those service design
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 27objects into Web service interfaces by plugging into the standard SAP NetWeaver Web service applicationprogramming interface (API).Uses for Web Service ToolPrior to SAP CRM 2006s, you had to create Web services manually by first creating the needed functionmodules, and then using the SAP NetWeaver Web service creation wizard to create the respective webservice interface. This process could take days or even weeks, depending on the interfaces available tobuild on. The Web service tool can shorten this time to a couple of hours.Web Service Tool FeaturesFeatures within the Web service tool that allow you to maintain and manage your Web services include: • Default values • Ability to change attribute names • Copy functionality
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 282.2 Tutorial: Example for IC WebClient UI Structure and UI ConfigurationThis tutorial explains how to find out about the components that make up the CRM WebClient UI, and howcomponents are reused and configured.An example is the employee request, which is part of the business role IC_SSC_AGENT (IC SharedService Center Agent).The employee request is part of the Employee Interaction Center. It looks very similar to the IC serviceticket. We therefore assume that the employee request is the same component as the service ticket.There are just some minor differences in the layout, for example, the view in the upper left corner, whichdisplays fewer fields in the employee request than in the service ticket.Our goal is to find out which component the employee request is generally based on.In particular, we want to find out more about the view in the upper left corner and how the layout of thisview is distinguished from the standard layout in the service ticket.Follow the next figures for a detailed guided tour through customizing and component configuration. IC WebClient Example: Employee Request © SAP AG 2005, Title of Presentation, Speaker Name 5
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 29 A Shortcut to find out the component and view name is: 1. Place cursor in the view. 2. Press F2.This popup gives you the name of the view and the component of the view. With this information, we cango directly to the component workbench to access the UI configuration of the view.However, it can be interesting to get more information, such as the embedding workarea component, theUI Object type, etc. For this reason, we will go through the related customizing step by step to retrieve allthe detailed information.First, we have to find out which component is displayed when we click on Employee Request in theNavigation Bar.
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 30 Business Role and Navigation Bar Customizing IMG CRM Business Roles Define Business Role (or IMG CRM IC WebClient Define Business Role) IMG CRM UI Framework Technical Role Definition Define Navigation Bar Profile (or IMG CRM IC WebClient Basic Functions Define Navigation Bar Profile) © SAP AG 2005, Title of Presentation, Speaker Name 8The figure above shows that our business role IC_SSC_AGENT has the navigation bar profile IC-EICassigned.In the navigation bar profile IC-EIC, the work center for the employee request is IC_BT_ER. (The workcenter is the button that we see in the navigation bar.)The next figure explains how to find the name of the logical link and the component.As a result, we find out that the employee request is technically a service ticket: componentICCMP_BT_SVT (IC WebClient Service Ticket).
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 31 from Workcenter via Logical Link to Component In the definition of workcenter IC_BT_ER we can see that the logical link IC_BT_SVER is assigned. The logical link IC_BT_SVER is assigned to target ID IC_BT_SVER. A Target ID is the connection between a Logical Link and an Inbound Plug of a component. To find the name of the component you can use use the F4 help of the field target ID. The component is ICCMP_BT_SVT which stands for IC WebClient - Service Ticket. All screens: IMG CRM UI Framework Technical Role Definition Define Navigation Bar Profile (or IMG CRM IC WebClient Basic Functions Define Navigation Bar Profile) © SAP AG 2005, Title of Presentation, Speaker Name 9The inbound plug definitions of component ICCMP_BT_SVT are stored in the work area componentrepository.IMG CRM UI Framework Technical Role Definition Define Work Area Component RepositoryThe component ICCMP_BT_SVT is the service ticket component. Depending on target ID and inboundplug, a different UI Object type is assigned.The UI Object Type is used as a key for the layout configuration of the service ticket:Object Type BT116_SRVER stands for the employee request layout configuration while BT116_SRVTKstands for the service ticket layout.
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 32 The Object Action is not relevant here.The next figure shows the layout of the main viewset of component ICCMP_BT_SVT in the componentworkbench: Component Workbench: Service Ticket Component IMG CRM UI Framework Technical Role Definition Define Work Area Component Repository In the Component Workbench (Transaction BSP_WD_CMPWB) the views and view sets of component ICCMP_BT_SVT can be configured. On the right hand side the layout of the main view set: TicketViewSet can be configured. The view area in the upper left corner is called HeaderDetails. On the left hand side under Component Usage you can see that the component ICCMP_BT_SVT is reusing other components. For example to display header details the component ICCMP_BTSHEAD is reused. © SAP AG 2005, Title of Presentation, Speaker Name 12In the next step we will open component ICCMP_BTSHEAD.You can do this by clicking on the component name under component usages in the embeddingcomponent. The workbench supports the forward navigation.
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 33 Component Workbench: Service Header “Reuse”- Component Employee Request Specific View Layout Compare to the view layout below © SAP AG 2005, Title of Presentation, Speaker Name 14In the figure above, the view BTSHeader of the reuse component ICCMP_BTSHEAD is configured in thecomponent workbench.Note that the UI Object type BT116_SRVER is part of the configuration key. (This configuration is thusonly valid for the employee request and not for the service order/ticket). Only four fields are displayed.Compare this to the layout of the service ticket in the next figure.
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 34 Component Workbench: Service Header “Reuse”- Component Default View Layout © SAP AG 2005, Title of Presentation, Speaker Name 16The above figure displays the service ticket specific layout of the view BTSHeader of the reusecomponent ICCMP_BTSHEAD. This layout displays more fields than the layout of the employee request.The last figure in this section gives you an overview of all steps and how the different objects are assignedto each other. IC WebClient Component Configuration: Overview Example: Employee Request Business Role and NavBar Customzing: Business Role: IC_SSC_AGENT Navigation Bar: Profile IC-EIC Workcenter: IC_BT_ER Logical Link: IC_BT_SVER Target ID: IC_BT_SVER Workarea Component Definition: Comp: ICCMP_BT_SVT, Object Type BT116_SRVER View Config. Key: Component Configuration: Object Type BT116_SRVER HeaderDetails Comp.: ICCMP_BT_SVT Main ViewSet: TicketViewSet Component Usage: HeaderDetails Component Configuration: Comp.: ICCMP_BTSHEAD Used Component: ICCMP_BTSHEAD View BTSHeader © SAP AG 2005, Title of Presentation, Speaker Name 3
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 353 Linked DocumentsThis unit describes which additional documents are available in the SAP CRM Web UI learning map onthe SAP Service Market Place. You can access the documents by clicking on the hyperlinks in the Step 2:Prepare for your Project area of the learning map.3.1 SAP CRM Web UI PhilosophyCRM Web UI PhilosophyThis document will help you understand the new CRM WebClient UI.3.2 UI ConfigurationUI Configuration ToolsThis document will help you: Get an overview of the functions of the UI ConfigTool, Design Layer Customizing, and Business Role Customizing Learn how to use the UI ConfigTool and Design Layer Customizing in implementation projects to adjust the CRM WebClient UI Learn how to add customer specific fields to the CRM WebClient UINavigation Bar and Business Role CustomizingThis document will help you to: Get an overview of the functions of Navigation Bar Customizing, Business Role Customizing, and the Transaction Launcher Learn how to use Navigation Bar Customizing, Business Role Customizing ,and the Transaction Launcher in implementation projects to adjust the CRM WebClient UIHow-to Guide Copy and adjust SkinsThis document will help you copy a SAP Skin and adjust this new Skin to your needs.How-to Guide Configure Fact SheetsThis document will help you to: Understand the concept of fact sheets Learn how to configure fact sheets3.3 General Framework ConceptsConcepts of Navigation
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 36This document will help you understand the concepts of navigation.How-to Guide UI Object TypesThis document will help you to: Understand the concept of UI object types Change SAP UI object types Create your own UI object typesHow-to Guide UI Configuration DeterminationThis document will help you understand: How configuration is determined How labels are determinedHow-to Guide Access Objects from outsideThis document will help you to understand how to access a specific component from outside CRM whenconsidering the launch of the full L-Shape, in order to enable cross-component navigation for the addresspage.3.4 BI IntegrationHow-to use the BI Report ComponentThis document will help you understand: How to use the BI component How to integrate BI reports into the CRM WebClient UI3.5 EnhancementsHow-to Guide Framework EnhancementsThis document will help you to: Understand the Framework Enhancement Concept Create Enhancement Sets Know which Business Add-ins (BadIs) are provided with the Enhancement ConceptFramework Enhancements: ExampleThis document explains in detail the different enhancement steps.How-to Guide: Compare Runtime Repositories of Enhanced Components with StandardComponentsThis document describes how to use the tool for runtime comparison, in order to identify differencesbetween the runtime repository of an enhanced component and a standard component.This is especially interesting after an upgrade of the CRM system to a higher support package or evenhigher release.How-to Guide: Drop down list boxesThis document will help you to create drop-down list boxes in your component.
  • CRM WebClient Consultant’s Cookbook for CRM 2006s SP03 Page 37How-to Guide: Value HelpsThis document will help you to create value helps (F4 helps) in your component.Integrating views into the upper right area of the Account Identification screen of the InteractionCenterThis document explains how to integrate your own object components, for example, industry-specificviews or Customer views, into the Account Identification page of the CRM WebClient.Business Object Layer (BOL): Application Programming GuideThis document describes the runtime programming interface of the Business Object Layer.3.6 Web Service ToolCreate Web Services Quickly with a Web Service ToolThis document explains: How to use Web Services How to create a Web Service with the Web Service ToolWeb Service Tool UIU Contribution Interfaces and Web Service Tool Contribution Interfaces FAQThese documents will help you to enable BOL objects for Web Services