Professional Documents
Culture Documents
Your Instructor
Venky Varadadesigan
Product Manager SAP NetWeaver US PM - SAP Labs Venkata.varadadesigan@sap.com
Learning Objectives
Motivation of Web Dynpro The Web Dynpro Programming Model Views and UI elements Controllers and Context Navigation and Plugs Advanced Topics Summary
Positioning: IT Practices and IT Scenarios IT practices slice SAP NetWeaver to directly address key issues ... and help enterprises find the right starting point
SAP NetWeaver
Multi channel access Composite Application Framework
PEOPLE INTEGRATION
Portal
Collaboration
INFORMATION INTEGRATION
Custom Development
Integration Broker
APPLICATION PLATFORM
J2EE
ABAP
DB and OS Abstraction
Data Unification
Consolidation
IT Scenarios
Enabling User Collboration Business Task Management Mobilizing Business Processes Enterprise Knowledge Management
Data Unification
Master-Data Harmonization
Master-Data Consolidation
Custom Development
Master-Data Consolidation
Web Dynpro ABAP Web Dynpro Java HTMLB for BSP JSP & HTMLB (tag library) Java Business Server Pages (BSP) ITS (IACs, Flow Logic) ITS Technology (SAP GUI for HTML) SAP GUI ... 4.6 6.10 6.20 ITS UIs (Web GUI, IACs) NW 2004 NW 2004s
Web Applications
Transactional Business Applications Interactive Applications Display Applications Portal Content Studio Content Admin
Business Expert
Achieve Independence
run on multiple platforms
http://..... HTML, JS
Rendering Engine
??? ???
Rendering Engine
Meta Data
<xml> <wd:xxx> </xml>
Web Dynpro
Motivation of Web Dynpro The Web Dynpro Programming Model Views and UI elements Controllers and Context Navigation and Plugs Advanced Topics Summary
ABAP Web Dynpro Web DynproApp Web Dynpro App Runtime ABAP Workbench
RFC, WS
J2EE Server
EJB (e.a.)
Business Data
ABAP Server
Demo
Binds the user and business interaction layers together. All intermediate processing is performed here.
Request Response
Controller
Visualizes the application data without caring how it was generated.
Binding Layer
View
Component Controller
Controllers
Context Data Eventing Methods Attributes View
View Controller
Component Interface
Interface Contr. Interface View
Label
Motivation of Web Dynpro The Web Dynpro Programming Model Views and UI elements Controllers and Context Navigation and Plugs Advanced Topics Summary
Window View
UI elements
Are the smallest UI building blocks (button, input field,) Available as provided UI element libraries Have properties which steer their behavior Can be nested with Container UI elements Are positioned in a hierarchical structure
SAP AG 2006, Venky Varadadesigan / Web Dynpro for ABAP / 18
UI Element Categories
Various categories of UI elements are supported
e.g. Button, InputField, Label Gantt, Network
OfficeControl
e.g. TransparentContainer, Tray MessageArea
Each UI element object is represented as an abstract class that is independent of any client presentation layer.
SAP AG 2006, Venky Varadadesigan / Web Dynpro for ABAP / 20
Demo
Motivation of Web Dynpro The Web Dynpro Programming Model Views and UI elements Controllers and Context Navigation and Plugs Advanced Topics Summary
Node N2
Context
Hierarchy of nodes and attributes Contains the data of the UI Nodes and attributes can be bound to UI elements Framework cares about updating the values
method WD_DO_INIT node = wd_context->get_child_node(N1). node->set_attribute( name = DEP_AIRP value = Paris). Method onAction_GOTO_NEXT node = wd_context->get_child_node(N1). node->get_attribute( name = CARR value = carrier ).
Node N2
method WD_DO_INIT node = wd_context->get_child_node(N1). node->set_attribute( name = DEP_AIRP value = Paris). Method onAction_GOTO_NEXT node = wd_context->get_child_node(N1). node->get_attribute( name = CARR value = carrier ).
Node 2 Node 3
Context Mapping
Nodes of Component Controller context can be mapped to nodes of other contexts Framework cares about data transport (references)
Method show_flights flights = BO->get node1 = wd_context-> node1->bind_elements( flights ).
Component Controller
Component Window View
View Controller Context
Root Node Node 1 Node 2 Node 3
Component Controller
Component Controller Context
Root Node Node 1
Model Class,
Method show_flights flights = BO->get node1 = wd_context-> node1->bind_elements( flights ).
Demo
Motivation of Web Dynpro The Web Dynpro Programming Model Views and UI elements Controllers and Context Navigation and Plugs Advanced Topics Summary
Window
Customer Search Customer List
Out
In
Inbound plug Outbound plug Navigation link To define the navigation between two views, you need to create exit and entry points for each view using outbound and inbound plugs. Only then you can specify the navigation flow using navigation links
View Controller
OUT
SEARCH_FLIGHTS
View
View Controller
IN
Demo
Motivation of Web Dynpro The Web Dynpro Programming Model Views and UI elements Controllers and Context Navigation and Plugs Advanced Topics Summary
Advanced Topics
Component Usage & ALV Dynamic Web Dynpro Programming Adobe Forms integration Portal Integration
Comp B
Method A Event E
Method B Event E
ALV Pattern Component Web Dynpro ALV Component Web Dynpro UI Controls
Layout Manipulation
Include/Delete UI elements Bind UI elements to context Create actions in WD_DO_MODIFY_VIEW
Context Manipulation
Create, fill, bind nodes Add attributes
Dynamic Navigation
Generic call of Outbound Plug Define navigation between plugs
Down- / Upload
Business Scenarios
Portal Integration
Easy integration via Web Dynpro iView Wizard Central User management Portal eventing support Object Based Navigation Unified branding by portal themes
Portal Integration
SAP Portal
SAP NW AS ABAP application system is declared in portal Server, port, User mapping Create iView for WD ABAP application iView points to logical backend server, name space and WD application iView is assigned to portal role
Portal iView
WD Application
WD Component Window
View
Portal Eventing
Flexible Interaction
Allows direct interaction between independent iViews Event consumer subscribes to event Event raiser fires event
Loose Coupling
EP Client Manager based Triggers (JavaScript Library) action in iViews can run on difsecond application ferent systems iViews can be implemented via different technologies (WD ABAP, WD Java, BSPs, Portal Components, JSPs, )
SAP AG 2006, Venky Varadadesigan / Web Dynpro for ABAP / 41
Motivation of Web Dynpro The Web Dynpro Programming Model Views and UI elements Controllers and Context Navigation and Plugs Advanced Topics Summary
Summary Web Dynpro is SAPs UI strategy Declarative, MVC based UI programming model UI definition independent of rendering technology Web Dynpro for ABAP available with SAP NetWeaver 2004s Programming model similar to Web Dynpro for Java Completely Integrated into the SAP NetWeaver Application Server ABAP
Further Information
Public Web:
www.sap.com Help Portal: www.help.sap.com -> Documentation -> SAP NetWeaver -> SAP NW04s NetWeaver Developers Guide: www.sdn.sap.com/sdn/developersguide.sdn
Questions?
Q&A
Next session