SAP CRM 2006s
Introduction to Web Client UI Architecture The Fast Track to SAP Knowledge
Frederic Heinemann CRM Consulting EMEA Hub
AGENDA Layer Overview BOL/Genil UI Component Concept UI Component Elements UI Component Interface and Usage Cross Component Navigation Component Enhancement Concept Concepts Technical Basics
© SAP AG 2007,to SAP Skills 2007 Conference / F4 / 2 The Fast Track SAP Knowledge
AGENDA Layer Overview BOL/Genil UI Component Concept UI Component Elements UI Component Interface and Usage Cross Component Navigation Component Enhancement Concept Concepts Technical Basics
© SAP AG 2007,to SAP Skills 2007 Conference / F4 / 3 The Fast Track SAP Knowledge
Layers of SAP CRM 2006s/2 Applications Web Browser
CRM WebClient
Presentation Controller Layer
CRM WebClient specific Layers
Model
View
Business Layer
Business Server Pages (BSPs)
Business Object Layer (BOL) Generic Interaction Layer (GenIL)
Layers of underlying Business Application
Business Engine (e.g. mySAP CRM)
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 4
Appl. Progr. Interfaces (APIs) Tables
Layers of CRM 5.1 Applications Web Browser
CRM WebClient
Presentation Controller Layer
CRM WebClient specific Layers
Model
View
Business Layer
Business Server Pages (BSPs)
Business Object Layer (BOL) Generic Interaction Layer (GenIL)
Layers of underlying Business Application
Business Engine (e.g. mySAP CRM)
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 5
Appl. Progr. Interfaces (APIs) Tables
Component – General Parts NavBar (Profile)
Main Component M
Logical Link
Technical ID = (Target-ID) Display
Search
Sub component Header
IP Sub component Search
IP
IP
OP Window
ViewSet IP
Window
ViewSet View
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 6
OP
View
OP
OP
UI Component is the logical grouping for UI implementation is assigned to a package SAP Naming conventions – Oneorder - BT_ where is „S“, „H“, „I“ or „M“
– Other components ( e.g. Business Partner, Marketing) have own naming conventions – GS = General Services ( Reusable Components) – BT = reusable components for Transactions
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 7
Component Workbench: View, Controller and Model
Controller: Class
Model: Context & Context Nodes
Controller: Event Handling & Navigation
View: Layout
Transaction Code BSP_WD_CMPWB © SAP AG 2007, SAP Skills 2007 Conference / F4 / 8
Component Workbench: Context Nodes, Attributes
Context
Context Nodes
Attributes (Fields)
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 9
Component Workbench (I) Browser Application Structure Inventory of all items – Views – Component Controllers – Custom Controllers – Windows – Runtime Repository*
* Each UI Component has it’s own Runtime Repository. There is no longer one central repository.
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 10
Component Workbench (II) Runtime Repository Editor Inventory of all items – Windows – View sets – Navigational Links – Component Interface – Component Usage
The runtime repository editor is not only a visualization tool for the xml file, but offers a set of functionality as wizards to create e.g. navigational links.
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 11
Component Workbench (III) BOL Model Browser Access BOL Model from Component Workbench
Direct testing of component (or with alternative Test Application)
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 12
Layers of CRM 5.1 Applications Web Browser
CRM WebClient
Presentation Controller Layer
CRM WebClient specific Layers
Model
View
Business Layer
Business Server Pages (BSPs)
Business Object Layer (BOL) Generic Interaction Layer (GenIL)
Layers of underlying Business Application
Business Engine (e.g. mySAP CRM)
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 13
Appl. Progr. Interfaces (APIs) Tables
BOL and GenIL: Tools Presentation Controller Layer
BSP Model
View
BOL Display BOL Model Transaction: BSP_WD_CMPWB or GENIL_MODEL_BROWSER
Business Layer GenIL
GenIL IMG: Generic Interaction Layer/Object Layer Æ Basic Settings
test data retrieval from database to BOL through the GENIL Transaction: GENIL_BOL_BROWSER
Business Engine
API
API
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 14
API
BOL and GenIL: Tools
Presentation Layer (BSP)
Layers of new UI Framework
Model Browser: Visualizing BOL Model
Business Layer (BOL)
Interaction Layer (GenIL)
Layers of Business API underlying Engine Business (e.g. mySAP CRM) Application Tables © SAP AG 2007, SAP Skills 2007 Conference / F4 / 15
BOL Browser: Testing Data retrieval from DB to BOL
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 16
Definitions 1 Business Object (BO): Smallest unit of an object model with exclusively unstructured attributes. Each BO is assigned a unique name. A BO can be either an access object, a dependent object or a query object. BO instance: Instance of a BO that is uniquely identified by the name of the BO and an identifier (ID). Relation: A relationship between two BOs that is assigned a unique, crosscomponent name. The relation is assigned “a cardinality value” for each BO. The navigation direction is a characteristic of the relation. Object model: Number of BOs and their relations.
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 17
Definitions 2 Access Object:
An access object is a special type of BO, whose ID can be used to determine both the attributes of the access object itself and those of its dependent objects.
Dependent Object:
A dependent object is a special type of BO, whose attributes cannot be determined solely from the ID of this BO, but instead, only or together with the ID of the superior access object.
Root object:
A root object is a special element within a group of objects that are linked to one another in a hierarchy structure via aggregations. The root object is the only object within this structure that is assigned as a superior object to all other objects. Each root object is also an access object.
Search-Object:
A query object is a special type of BO whose attributes are the parameters of a search request.
Dynamic Search-Object:
A dynamic query object is a type of BO whose attributes are the parameters of a search request. It is possible to create select options for these parameters.
Search Result Object:
The result object of a search request is an associated access object at the uppermost level of the hierarchy. © SAP AG 2007, SAP Skills 2007 Conference / F4 / 18
Getting to know the GENIL... Access the GENIL Component Details Transaction: SPRO ->IMG -> Customer Relationship Management -> CRM Cross-Application Components -> Generic Interaction Layer/Object Layer -> Basic Settings
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 19
Definitions 3 Component: A component is an ABAP OO class which implements the component interface. It exposes a set of CRM business objects to the Generic IL, which form an aggregation hierarchy. Each component must have a unique root object. Component Set A component set is a collection of components that build a business context for a specific application that uses the business layer as its framework.
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 20
AGENDA Layer Overview BOL/Genil UI Component Concept UI Component Elements UI Component Interface and Usage Cross Component Navigation Component Enhancement Concept Concepts Technical Basics
© SAP AG 2007,to SAP Skills 2007 Conference / F4 / 21 The Fast Track SAP Knowledge
BOL Services Buffering service – any data is only read once until it is changed – all changes are buffered and will be send together – automatic buffer synchronization in almost all cases
Transaction service – objects may be saved individually or all together – all changed/created object will be saved or reverted
Query services – New Query service for dynamic searches with CRM 2006
Simple sorting and filtering on object lists (collections) Attribute properties – for each attribute of an entity a property is available – possible properties: read-only, hidden, mandatory ...
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 22
BOL Transaction Model The transactional behavior of BOL objects is modeled in the transaction context. A transaction context is created: – when an entity is locked, or – if it is requested, but not yet existing.
A transaction context can have several kinds of granularity – The smallest granularity of a transaction context is a root entity instance – The biggest granularity are all changed/created entity instances – The custom transaction context allows any granularity in between
Each transaction context has a defined life cycle. Once it was created it ends with either – Saving all covered entities, or – Reverting all covered entities
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 23
BOL Transaction Model 2 Data is always saved synchronously. Either within the dialog process (local update), or, if this is not possible, with COMMIT WORK and WAIT After saving the BOL buffer is invalidated and refreshed on the next access After reverting data the BOL buffer is actively refreshed
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 24
BOL Services – Message Service Message Service There is one message protocol/container per root object instance and the message container manager handles them all. Additionally one global message container exists were all non-business object (BO) instance-related messages should go to.
CL_CRM_BOL_CORE
1
1 CL_CRM_GENIL_MESS_CONT_MANAGER
1 * IF_GENIL_MESSAGE_CONTAINER
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 25
Architectural Overview Browser Client R
UI Controller / BSP page R
BOL
R
Cache
Data Contai ner
R
R
R
Application Model
R
R
Generic IL
R
R
GENIL Order Component
IBAse API
Other GENIL component R
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 26
R
R
Order API
GENIL IBase Component
Other API
Business Object Layer vs. Generic Interaction Layer Business Object Layer
Query Services
Entities
Core
Cache
R
Generic Interaction Layer
Application Interface Generic Interaction Layer
R
R
R
Component IF
Component IF
Component IF
Component IF
genIL Component 1
genIL Component 2
genIL Component ...
genIL Component n
R
R
API 1
API 2
R
API ...
Database(s)
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 27
R
R
API n
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 28
AGENDA Layer Overview BOL/Genil UI Component Concept UI Component Elements UI Component Interface and Usage Cross Component Navigation Component Enhancement Concept Concepts Technical Basics
© SAP AG 2007,to SAP Skills 2007 Conference / F4 / 29 The Fast Track SAP Knowledge
Views of the CRM Web Client
Navigation Bar (persistent)
Other persistent views
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 30
view
view
Work area view set
AGENDA Layer Overview BOL/Genil UI Component Concept UI Component Elements UI Component Interface and Usage Cross Component Navigation Component Enhancement Concept Concepts Technical Basics
© SAP AG 2007,to SAP Skills 2007 Conference / F4 / 31 The Fast Track SAP Knowledge
New Component Concept With the new CRM UI Framework a new concept is introduced valid for all Applications which are based on this Framework. A Component... …is a meaningful bundle of view sets, views and custom controllers …is a self-contained reusable unit – black box approach: - Own runtime repository - Exposes clear interface to the outside: - windows (as interface views) - public context nodes
… can have multiple instances at runtime … technically is mapped to a BSP application – thus it is the organizational unit in the development logistic that is assigned to a package
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 32
New Window Concept Each component must have one or more windows which are hosting the views A Window... … is part of a component and defines a root for a hierarchy of view sets and views in the runtime repository – A viewset or view can only be part of exactly one window (still no direct reuse of views) – Navigation between views is only possible within a single window
…. mediates between the embedding and the embedded component during runtime – has the character of a view to the inside (window aspect) – has the character of a simple view to the outside (interface view aspect)
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 33
UI-Elements: ViewSet, ViewArea and View
ViewSet View
ViewArea
ViewArea View
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 34
ViewSet
Runtime Repository Each component has its own runtime repository file It acts a a catalogue containing – views, viewsets and the composition of views within viewsets – Navigational links (with target and source view) – Inbound and outbound plugs definitions – etc. Technically stored as .xml file
Can be displayed and maintained in the Runtime repository editor of the Component workbench
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 35
Model View Controller in WebClient BSPs user input
Request
Controller Class
* .DO _IMPL
Methods: Before Output WD_CREATE_CONTEXT SET_MODELS
Model
After Input DO_HANDLE_DATA DO_HANDLE_EVENT
View data output
*. HTM
Context
*_ CTXT
Method CREATE_CONTEXT_NODES
Context Nodes
*_CN00 *_CN01
e.g. Bus. Partner e.g. Address
Layout: ABAP/HTMLB-code
Response
Method GET_S_STRUCT Address Field Structure
describing the view layout
BOL
DB Tables © SAP AG 2007, SAP Skills 2007 Conference / F4 / 36
CRM Web Client: View Details In contrast to former implementations the CRM Web Client views can be based on a minimal amount of coding Each configurable view is based on: A page type related configuration tag Structural setters/getters
Specific implementations possible via: Dedicated setter/getter implementation Additional usage of base tags
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 37
Component Workbench: Context Nodes, Attributes (II) Generic Setter Getter methods
Explicitly create setter and getter with additional methods:
Get_V_ (Value Help) Get_P_ (Properties)
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 38
Navigation Between Views (in Same Window) Source View
Navigation Flow
DetailsEF …. …. ….
Button back
…. …. ….
method DO_HANDLE_EVENT . […] WHEN 'new'. CALL METHOD eh_onNew.
Method: DO_HANDLE_EVENT
Method: EH_ONDONE
Outbound Plug Method: OP_DETAILSOV
method EH_ONDONE. * navigate op_detailsov( ). […] method OP_DETAILSOV view_manager->navigate( SOURCE_REP_VIEW = rep_view OUTBOUND_PLUG = ‘ToDetailsOV' ). […]
Target View DetailsOV …. …. …. …. © SAP AG 2007, SAP Skills 2007 Conference / F4 / 39
Inbound Plug Method: IP_FROMDETAILSEF
method FROMDETAILSEF
[…]
Custom Controller Presentation Layer (BSP) Lifespan Lifespan Controller
Custom Controller
Model Context Node
View 1
Business Layer (BOL, GenIL)
Database
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 40
Lifespan Controller
Context Node
Model Context Node
Model
View 2
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 41
AGENDA Layer Overview BOL/Genil UI Component Concept UI Component Elements UI Component Interface and Usage Cross Component Navigation Component Enhancement Concept Concepts Technical Basics
© SAP AG 2007,to SAP Skills 2007 Conference / F4 / 42 The Fast Track SAP Knowledge
New Component Concept: Inside and Outside View Each component could be looked at from the inside as well as from the outside, but what can be seen is different.
Inside perspective A component is represented by a component controller – has a context that is partially public to the outside
A component consists of custom controllers and one or more windows that host the views
Outside perspective A component can be (re-)used by one or more other components The embedding component defines a component usage in it’s runtime repository to formally declare the dependency Also at runtime the component has access to the component usage to get access to the Interface of the embedded component Each component usage gets it’s own component instance at runtime
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 43
Component Controller highest level of all controllers is loaded at initial load of component can serve as data container manages binding of usages manages data transfer between components Binding of Context Node from custom controller to component controller
Coding not done by wizard, has to be inserted manually
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 44
New Window Concept: Inside and Outside View Each Window can as well be seen from the inside as well as from the outside.
Inside: (window aspect) Technically a window is a special type of view – hosts (serves as root viewset ) views and viewsets of the component – has a context that contained views and viewsets can bind to – can trigger navigation inside the window
Outside: (Interface view aspect) has inbound and outbound plugs as entry and exit points from the view of the embedding component – inbound plugs are called when the embedding component navigates to the view – can fire an outbound plugs (e.g. if view request so) to request navigation on the level of the embedding component -> navigation destination is determined by embedding component (runtime repository)
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 45
Component Interface Needs to be defined if a component shall be reusable is defined in the runtime repository editor Context nodes of component controller are made visible to outside Window is made visible to outside
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 46
Component Usage(1) Components with a component interface can be included in other components (reuse) usages are defined in the runtime repository editor
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 47
Component Usage(2) Component controllers need to be bound against each other this is done in method WD_USAGE_INITIALIZE of the component controller class
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 48
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 49
AGENDA Layer Overview BOL/Genil UI Component Concept UI Component Elements UI Component Interface and Usage Cross Component Navigation Component Enhancement Concept Concepts Technical Basics
© SAP AG 2007,to SAP Skills 2007 Conference / F4 / 50 The Fast Track SAP Knowledge
Customizing of Navigation: Overview Overview
Navigation Bar
Work Area Component:
(as part of L-Shape)
e.g. Service Ticket
NavBar
Scenario I)
e.g. Service Ticket
Navigation from Navigation Bar Button to a Component (Button = Work Center)
Scenario II and III) Cross Workarea Component Navigation (always) through Navigation Bar
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 51
Component:
Component: e.g. Service Ticket Link/Button
Service ticket
NavBar
Component: e.g. Product Details
I) Navigation from the Navigation Bar to a Component
Component
NavBar (Profile) 0.
3.
WorkCenter
Logical Link 1.
Target ID 2.
Main Window IP1 IP2 Other Window IP3 IP4
CRMC_UI_NBLINKS Client dependant Define NavBar Profile: Profile:
DEFAULT_IC
Assign Work Centers: Work Center IC_BT_SVT
0.
CRMC_UI_WA_COMP_REP
CRMC_UI_NBLINKS
Cross client
Client dependant Define Logical Links LogLink ID: IC_BT_SVT Type: Work Center Target ID: IC_BT_SVT
Define Work Center Work Center: IC_BT_SVT LogicalLink ID: IC_BT_SVT Title: Service Ticket © SAP AG 2007, SAP Skills 2007 Conference / F4 / 52
2.
1.
Component Definition: Component Name ICCMP_BT_SVT Window Name Main 3. Inbound Plug Definition: Target ID: IC_BT_SVT IP: DEFAULT Object Type: IC_BT_SVT Object Action: Display
Main Component M-Component Wrapper for assigned components Manages subcomponents
Customizing stores M-Components only Definition of In- and outboundPlugs of component © SAP AG 2007, SAP Skills 2007 Conference / F4 / 53
II) Cross Component Navigation (Object Type Determined by Outbound (OP) Plug Definition) Component A
(Profile)
Main Window Displ. Product
1.
Component C
NavBar OP1 Object Type Object Action
OP2
Main Window
2.
Component B
4.
3.
Technical ID (= Target ID)
Other Window
Create Search Other Window Create
OP7
Search
OP8 2. 1. Hard coded
CRMC_UI_NBLINKS
CRMS_UI_TLINK
Cross client
Client dependent
Cross client
Component Definition: Component Name ICCMP_BT_SVT Window Name Main
Define NavBar Profile: Profile: DEFAULT_IC
Component Definition: Component Name ICCMP_PRODUCT Window Name Main
Outbound Plug Definition: Source ID: OP_SVT_PRO OP: PRODUCT Object Type: IC_PRODUCT 2. Object Action: Display
Define Generic OP Mapping: Object Type: IC_PRODUCT ObjAction: Display 3. Target ID: IP_PRODUCT
Inbound Plug Definition: Target ID: IP_PRODUCT IP: DEFAULT Object Type: IC_PRODUCT Object Action: Display
CRMS_UI_TLINK
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 54
4.
III) Cross Component Navigation (Object Type Determined by Descriptor Object) Component A
(Profile)
Main Window Displ. Ticket Displ. Order
1.
OP_DEFAULT
Displ. EMail
Component C
NavBar 2.
3.
Object Type Object Action
4.
Technical ID (= Target ID)
Main Window Create Search
Displ. Prod.
Target ID Target ID 1.
Descriptor Object: e.g. Hard coded CL_CRM_UI Obj.Action + a) ObjType or b) BOR Obj Type, Key, Log Sys or c) BOL Obj instance Add to collection hand over to OP
2.
In case of b) or c) hard coded* Determination of Object Type * with mapping class in case of b) or c): CRMC_UI_OBJ_MAP or CRMS_UI_OBJ_MAP
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 55
Target ID
CRMS_UI_TLINK
CRMC_UI_NBLINKS Cross client
Cross client
Define NavBar Profile:
Component Definition: Component Name ICCMP_PRODUCT Window Name Main
Profile:
DEFAULT_IC
Define Generic OP Mapping: Object Type: IC_PRODUCT ObjAction: Display Target ID: IP_PRODUCT
3.
Inbound Plug Definition: Target ID: IP_PRODUCT IP: DEFAULT Object Type: IC_PRODUCT Object Action: Display
4.
Navigation Between M-Components Navigation via Navigation Bar from M to M components
CL_CRM_UIU_BT_NAVIGATE=>prepare_col_for_navigate. © SAP AG 2007, SAP Skills 2007 Conference / F4 / 56
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 57
AGENDA Layer Overview BOL/Genil UI Component Concept UI Component Elements UI Component Interface and Usage Cross Component Navigation Component Enhancement Concept Concepts Technical Basics
© SAP AG 2007,to SAP Skills 2007 Conference / F4 / 58 The Fast Track SAP Knowledge
Component Enhancement Principle
da e i p Co
nd
ed i f i d mo
w Vie
ar d n Sta
iew V d
Views from an existing component can be copied into a customer component The copy can be modified (new context nodes, new buttons, navigation etc.) At runtime, the standard view will be replaced by the copied and modified view This process is supported by wizards © SAP AG 2007, SAP Skills 2007 Conference / F4 / 59
Component Enhancement Concept: 1
SAP Component Context
Comp. Controller
Window Main View 1
Configure Views
View 2 View 3
Runtime Repository Component Usages View Set Composition Navigation
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 60
Enhance Component (wizard supported)
Component Enhancement Concept: 2
SAP Component Context
Comp. Controller
Window Main
Customer Component Context
Window Main
View 1
View 1
View 2
View 2
View 3
View 3
Runtime Repository
Runtime Repository
Component Usages View Set Composition Navigation
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 61
Comp. Controller
Component Usages View Set Composition Navigation Element
Referenced
Element
Copied automatically
Component Enhancement Concept: 3 SAP Component Context
Comp. Controller
Window Main
Customer Component Context
Window Main
View 1
View 1
View 2
View 2
View 3
View 3
Runtime Repository
Runtime Repository
Component Usages View Set Composition Navigation
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 62
Comp. Controller
Component Usages View Set Composition Navigation Element
Referenced
Element
Copied automatically
Element
Inherited if required
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 63
AGENDA Layer Overview BOL/Genil UI Component Concept UI Component Elements UI Component Interface and Usage Cross Component Navigation Component Enhancement Concept Concepts Technical Basics
© SAP AG 2007,to SAP Skills 2007 Conference / F4 / 64 The Fast Track SAP Knowledge
View, Controller, Context and Context Node BT111H_OPPT/ CL_BT111H_O_ DETAILSEF
DetailsEF.do
Call
CL_BT111H_O_ Inherit DETAILSEF_IMPL
Call
BT111H_OPPT/ DetailsEF.htm
via page attribute and Getter/Setter
Create
and e t a Cre d to CL_BT111H_O_ bin L BO DETAILSEF_CN00
CL_BT111H_O_ DETAILSEF_CTXT C bin reat dt ea o B nd OL
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 65
BTAdminH OBJECT_ID DESCRIPTION
BTHeaderOpportunityExt
BTOpportH CL_BT111H_O_ DETAILSEF_CN01
BUDGET REVENUE
Enhancing Context and Context Nodes CL_BT111H_O_ DETAILSEF
BT111H_OPPT/ ZCUST/ DetailsEF.do DetailsEF.do
Call
ZCL_ CL_BT111H_O_ Call Inherit DETAILSEF_IMPL DETAILSEF_IMPL WD_CREATE_CONTEXT
Create
BT111H_OPPT/ ZCUST/DetailsEF.htm DetailsEF.htm //CustomerH/attr
via page attribute and Getter/Setter
and e t a Cre d to CL_BT111H_O_ bin L BO DETAILSEF_CN00
CL_BT111H_O_ ZCL_DETAILSEF_CTXT DETAILSEF_CTXT CREATE_CONTEXT_NODES Cre bin ate a d to n BO d L
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 66
BTAdminH OBJECT_ID DESCRIPTION
BTHeaderOpportunityExt CL_BT111H_O_ DETAILSEF_CN01
ZCL_ DETAILSEF_CN00
BTOpportH BUDGET REVENUE BTHeaderCustExt
BTCustomerH attr
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 67
Copyright 2007 SAP AG. All Rights Reserved No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. Microsoft, Windows, Excel, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation. IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries, pSeries, xSeries, zSeries, System i, System i5, System p, System p5, System x, System z, System z9, z/OS, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, Informix, i5/OS, POWER, POWER5, POWER5+, OpenPower and PowerPC are trademarks or registered trademarks of IBM Corporation. Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of Adobe Systems Incorporated in the United States and/or other countries. Oracle is a registered trademark of Oracle Corporation. UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group. Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc. HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts Institute of Technology. Java is a registered trademark of Sun Microsystems, Inc. JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape. MaxDB is a trademark of MySQL AB, Sweden. SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, Duet, PartnerEdge, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary.
The information in this document is proprietary to SAP. No part of this document may be reproduced, copied, or transmitted in any form or for any purpose without the express prior written permission of SAP AG. This document is a preliminary version and not subject to your license agreement or any other agreement with SAP. This document contains only intended strategies, developments, and functionalities of the SAP® product and is not intended to be binding upon SAP to any particular course of business, product strategy, and/or development. Please note that this document is subject to change and may be changed by SAP at any time without notice. SAP assumes no responsibility for errors or omissions in this document. SAP does not warrant the accuracy or completeness of the information, text, graphics, links, or other items contained within this material. This document is provided without a warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. SAP shall have no liability for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials. This limitation shall not apply in cases of intent or gross negligence. The statutory liability for personal injury and defective products is not affected. SAP has no control over the information that you may access through the use of hot links contained in these materials and does not endorse your use of third-party Web pages nor provide any warranty whatsoever relating to third-party Web pages.
© SAP AG 2007, SAP Skills 2007 Conference / F4 / 68