Developing User Interfaces
Web Dynpro for Java
What's New
Getting Involved
Web Dynpro Architecture
Web Dynpro Component
View
Plugs and Navigation Links
Web Dynpro Window
Window Plugs
Controller
Context
Context Nodes: Properties
Data Binding and Mapping
Event
Action
Interfaces of Web Dynpro Components
Web Dynpro Application
Web Dynpro Model
Concepts of Web Dynpro for Java
The Model View Controller Paradigm
The Component Concept
The Web Dynpro Project in the NWDI
Development in a Team
Creating Web Dynpro DCs
Providing Functions for Other DCs
Creating a Public Part for a DC
Including Development Objects in a Public Part
Using Functions of Other DCs
Defining Usage Dependency for a DC
Example: Using a Foreign Web Dynpro Component
Developing Locally
Creating a WD Project
Migrating Web Dynpro Projects into the NWDI
Some Rules for Working with the DTR
Naming Conventions
Naming Convention for Abbreviations
Naming Conventions for Coding Entities
Making Initial Web Dynpro Perspective Settings
Go and Create
Creating the First Application Elements
Creating a Project
Creating Web Dynpro Development Component Projects
Creating Components
Copying Components
Embedding Components
Nesting Components
Specifying the Call Sequence of Components
Referencing a Component
Adding Windows
Defining Views
Copying Views
Creating Applications
Developing Your First Web Dynpro Application
Creating an Extended Web Dynpro Application
Quiz Application
Creating the First Parts of the Application
View Modeling and User Interface Layout
Determining the Content and Interaction of Views
Defining a View Composition
Implementing the View Composition
Designing a View Layout
Using the ActionButton Template
Creating Navigation Transitions
Controller Contexts and Data Binding
Defining Controller Contexts
Defining Data Binding
Context Programming
Adding QuizData Node Elements in Context Nodes
Initializing Top Level Value Attributes
Programming Context State Changes
Integrating WD Applications into NW Portal
Core Development Tasks
Model and Java Dictionary
Importing and Referencing a Model
Adaptive Web Service Model
Importing Adaptive Web Service Models
Making Configuration Settings for Web Service call
Migrating to the Adaptive Web Service Model Type
Web Dynpro as Provider for Role-Based Access Management
Maintaining Object and Interface References
Reusing BAPI Data from SAP Back-End Systems
Defining Adaptive RFC Models
Using Multiple SAP Back Ends for one Application
Mapping Logical Systems
Recommendations for the Security of Logical Systems
JavaBeans for Web Dynpro Applications
Importing JavaBean Models for DC Projects
Importing JavaBean Models for Local Projects
Retrieving Bean Classes from Source Directories
Retrieving Bean Classes from .jar Files
Conditions and Naming Conventions for Import Beans
Importing a UML Model
Prerequisites for a UML Model Import
Preparing a Model for Import in the External Modeling Tool
Editing Model Classes
Defining the Data Flow between Models and Controllers
Defining Dictionary Data Types and Structures
View Programming UI and Navigation
View Structure and Design
Defining Views
Working With View Sets
Embedding a View in a View Set
Copying Views
Renaming a View
ViewContainerUIElement API
Applying View Templates
Creating Buttons, Events, and Plugs
Creating Forms Using Context Data
Creating Tables With Direct Controller Access
Checking View Design
Configuring RootElement
Defining PageLayout
PagePanels
Navigation, Plugs and Navigation Links
Creating Plugs
Creating Navigation Links
Implementing Methods for Outbound Plug Calls
Suspend and Resume Plug
Navigating Between WD Java Applications and Other Web Applicatio
UI Element Guide
Specifying Common UI Element Properties
WDTableCellDesign
Specifying the Image Source
Choosing the Layout
ColumnLayout
ColumnLayoutData and ColumnLayoutHeadData
FlowLayout API
FlowData API
GridLayout API
GridData API
MatrixLayout API
MatrixData and MatrixHeadData
RowLayout API
RowData and RowHeadData
Defining PageLayout
Containers
ScrollContainer
Group
TransparentContainer
Tray
BIApplicationFrame: Integrating BEx Web Applications
BIMethods API: Access to Actions of a BEx Web Application
Breadcrumb Navigation
BreadCrumb
BreadCrumbStep
MultipleBreadCrumbStep API
BusinessGraphics
Category API
Series API
Point API
SimpleSeries API
NumericValue API
TimeValue API
Button - ButtonRow
ButtonChoice
Calendar
CalendarYearView
CalendarMonthView
HierarchicalCalendarMonthView
CalendarWeekView
CalendarDayView
CalendarEntry
CalendarPaginator
Day Patterns
DayPattern
WeekDayPattern
WorkingTime
Caption
CheckBox
CheckBoxGroup
DateNavigator
DateNavigator
DateNavigatorMarking
DateNavigatorLegend API
DropDownByIndex
DropDownByKey
Explanation
FileUpload and FileDownload: Data Transfer
FileUpload
FileDownload
Binding resource Property
Loading the InputStream at FileDownload on Demand
Displaying and Editing Formatted Text
Supported XHTML Tags for FormattedText
FormattedTextEdit
FormattedTextView
SimpleFormattedTextField
Implementing a SimpleFormattedTextField
Creating Formatted Text
Gantt
GeoMap
Code Example of the Use of a Geographical Map
Example for Displaying a Route
HorizontalGutter
IFrame API
Image
InputField
Implementing a Combo Box
Enabling AutoComplete for InputFields
ItemListBox
Label
Legend
LegendItem API
MultipleLegendItem API
FrameworkLegendItem
LinkToAction
LinkToURL
MeltingGroup
Implementing Menus: ContextMenu, MenuBar and PopupMenu
Utilizing ContextMenus
MenuBar
Menu
MenuActionItem
MenuCheckBox
MenuRadioButton
MessageBasedTrigger
Network
OfficeControl
Using OfficeControl
IWDIOSFactory
Implementing IWDIOSFactory
Pattern UI Elements
PageLayout
PageHeader
PageHeaderArea
HorizontalContextualPanel
ContextualPanel
ViewSwitch
FreeContextualArea
NavigationList
ExpandableTitle
PatternTabStrip
PatternTab
PatternTray
PatternContentArea
PatternExpandFunction
Shuttle
MessageArea
PhaseIndicator
PhaseIndicator
Phase
MultiPhase
ProgressIndicator
RadioButton
RadioButtonGroupByKey
RadioButtonGroupByIndex
RoadMap
RoadMapStep
MultipleRoadMapStep
RowRepeater
SectionHeader
Table
Table API
Filtering and Sorting in a Table
Adding New Rows
TableColumnGroup API
TableColumn API
TableScrollTipProvider
TableRowGrouping API
Implementing TableRowGrouping
TreeByNestingTableColumn API
Cell Variants
TableStandardCell API
TableSingleMarkableCell API
Defining Cell Variants
TablePopin API
TablePopinToggleCell API
TextBar API
Tabstrip
TabStrip
Tab
TextEdit
TextView
TimedTrigger
ToggleButton
ToggleLink
Toolbar
ToolBar
ToolBarButton
ToolBarButtonChoice
ToolBarDropDownByIndex
ToolBarDropDownByKey API
ToolBarInputField
ToolBarLinkToAction
ToolBarLinkToURL
ToolBarSeparator
ToolBarToggleButton
Tree
TreeNodeType
TreeItemType
Data Binding of a Tree UI Element
Code Example for Creation of a Tree UI Element
TriStateCheckBox
ValueComparison
Data Binding
Bindable Data Types
Binding Tables
Binding UI Element Properties to Dictionary Types
Binding Trees
Data Binding of a BusinessGraphics UI Element
Programming UI Dynamically
Methods of the UI Element APIs
Implementing Parameter Mapping
Handling Events
Creating Actions
Mapping Event Parameters to Action Parameters
Mapping the Generic Event Parameter nodeElement
Programming User Messages
Error Handling
Defining User Messages
Messages
Processing a Message
Example for Using Messages
Internationalization of Web Dynpro Projects
Internationalization Concepts for a Web Dynpro Project
Translation of the Texts
Getting Language-Specific Resources
Messages
Processing a Message
Determining the Required Resource Bundle
Internationalization Service
SAP Interactive Forms By Adobe for Web Dynpro
Adobe Library
InteractiveForm API
Web Dynpro Form UI Element CheckFields
Web Dynpro Form UI Element EnumeratedDropDownList
Web Dynpro Form UI Element EnumeratedDropDownListNoSelect
Web Dynpro Form UI Element HideReaderToolbar
Web Dynpro Form UI Element SubmitToSAP
Web Dynpro Form UI Element ValueHelpDropDownList
Example of the Use of an Interactive PDF Form
Setting Up Basic Authentication in a Java Environment
Controller and Context
Controllers
Component Controller
Interface Controllers
Custom Controllers
Adding Custom Controllers
Copying Custom Controllers
Referencing Custom Controllers
Wrapping Services in Controllers
View Controllers
Web Dynpro Phase Model
Context Description
Declaration of Controller Contexts
Creating Context Structures
Nodes and Node Elements
Independent and Dependent Nodes
Node Collection
Lead Selection and Node Selection
Structure Nodes and Structure Binding
Singleton and Non-Singleton Nodes
Supply Functions
Recursive Context Nodes
Context Attributes
Typing Context Attributes for Data Binding
Assignment of Dictionary Types and Java Types
Calculated Context Attribute
Copying Attribute Values Within or Across Contexts
Context Mapping
Mapping Independent and Dependent Nodes
Mapping Context Attributes
Creating Data Links
External Context Mapping
Mapping Recursive Context Nodes
Defining the Data Flow between Models and Controllers
Using Core Data Types (CDT)
Bindable Data Types
Displaying and Formatting Core Data Types
Implementing Core Data Types from Java Dictionary
Implementing Durations Dynamically
Defining Exceptions for Single Controller Methods
Web Dynpro Application: Configuration, Deployment and Execution
Configuring a Web Dynpro Application
Setting Values of the Application Properties
Redirecting Clients to Other Servers
Configuration Service
User Management Service
Deploying and Executing Web Dynpro Applications
Deployment Service
Choosing the Client
Adding WD-Specific Parameters to URL
URL Generation Service
Configuring the Destination URL for the Adobe Document Services
Web Dynpro Client for Windows
Defining a Link to a Web Dynpro Application
URL of the Web Dynpro Application
Client-Side URL Parameters
Launching Web Dynpro Applications in the Windows Client
Functions of the Top-Level Toolbar
Integrating WD Applications into SAP NetWeaver Portal
Personalization
Mobile Web Dynpro Online
UI Elements for Mobile Web Dynpro Applications
Specifics of Nokia Series 80 and 60 Devices
Specifics of BlackBerry Wireless Handhelds
Specifics of Pocket PCs
Mobile Add-On Library
BarCodeReader
Using the BarCodeReader
FunctionKey
Using the FunctionKey
RFIDReader
Using the RFIDReader
Ensuring Quality
Debugging a Web Dynpro Application
Enabling Servers for Debugging
Starting and Stopping Debugging
Logging, Tracing and Monitoring
Client Tracing
Logging
Web Dynpro Console
Performance Data Within the Request Response Cycle
Measuring the Performance of the Web Dynpro Framework
Measuring Client Performance
Measuring Browser Client Performance
Displaying Performance Data for Requests
Measuring the Performance of the SAP Back End
Displaying Performance Data for Users
Metadata Comparison Tool for WD Projects
Web Dynpro Content Administrator
Starting the Web Dynpro Content Administrator
Functions for JCo Destinations
Creating JavaConnector (JCo) Destinations
Checking SLD Connections
Examining Deployed Web Dynpro Contents
Replacing Interface Texts at Runtime
Setting up a Web Dynpro Application for a Logon Ticket
Services for the SAP System Landscape Directory and SAP Java Con
Configuring the Web Dynpro Runtime Environment
Hiding default messages in the problem list
References
Web Dynpro Tools
Component Modeler
Controller/Context Editor
Creating Context Structures
Defining the Data Flow between Models and Controllers
Providing Data Using Value Nodes and Value Attributes
Java Editor
Message Editor
Defining User Messages
Navigation Modeler
Adding Windows
Defining Window Properties
Defining Views
Working With View Sets
Embedding a View in a View Set
Creating Plugs
Creating Navigation Links
View Designer
Working with User Interface Elements
The User Interface Element Container
Chart Designer
Calling the Chart Designer
Applying Themes to View Designer
Web Dynpro Explorer
Creating a Project
Creating Web Dynpro Development Component Projects
Web Dynpro Class File Minimizer
Importing a Project
Repairing Projects
Deleting a Project
Navigator
Reusing BAPI Data from SAP Back-End Systems
Defining Adaptive RFC Models
Using Multiple SAP Back Ends for one Application
JavaBeans for Web Dynpro Applications
Importing a UML Model
Prerequisites for a UML Model Import
Web Dynpro Metamodel Object Search
J2EE Web Applications
J2EE Application Concepts
Web Container
J2EE Web Application
Web Components
Servlet Life-cycle
JSP Life Cycle
Portlet Life Cycle
Objects of Scope
Hints on Designing J2EE Web Applications
Developing J2EE Web Applications
Creating Web Projects
Developing Servlets
Creating Servlets in the Developer Studio
Initializing Servlets
Servicing Client Requests
Retrieving Client Input
Retrieving Multipart Request Messages
Request Attributes When Using Application Zones
Obtaining the Remote Host Address
Composing HTTP Responses
HTTP Response over Persistent Connections
IOException in Cases When Client Closes Connection
Threadsafe Servlets
Handling Cookies in Servlets
Setting Cookies in HTTP Servlets
Retrieving Cookies from the HTTP Request
AS Java Cookies
Servlet-defined Cookies
HTTP Sessions
Lifetime of a Session
Session Tracking with Servlets
Accessing and Manipulating the Session Object
Terminating a Session
URL Rewriting as an Alternative to Cookies
HTTP Sessions and Failover of Web Applications
Dispatching Requests to Web Application Resources
Including Requests
Forwarding Requests
Destroying Servlet Instances
Developing Event Listeners
Developing JSP Pages
Creating JSP Files in the Developer Studio
JSP Life Cycle
Syntax Elements Outline
Scripting Elements
Using Scriptlets
Using Declarations
Directives
Using the page Directive
Implicit Objects
Standard Actions
Including and Forwarding Requests in a JSP
JSTL
Developing Custom Tags
Developing Classic Tag Handlers
Developing Simple Tag Handlers
Developing TLD Files
Describing Tag Handlers in TLD Files
Developing Tag Files
Describing Tag Files in TLD Files
Unified Expression Language
EL Expressions in Tag Attribute Values
Deferred Expressions Evaluation
Using EL Implicit Objects
Developing EL Functions
Developing Portlets
Portlet Life Cycle
Implementing the Portlet Interface
Extending the GenericPortlet
Initializing Portlets
Servicing Action Requests
Servicing Render Requests
Portlet Preferences
Portlet Sessions
Dispatching Requests to Servlets and JSPs
User Information
Packaging and Deployment Descriptor
Portlet Tag Library
Developing Filters
Initializing Filters
Filtering Requests or Responses
J2EE Web Applications Security
Authentication for Web Applications Users on the AS Java
Overview of the Login Process in JAAS
Using Login Modules to Protect Web Applications
SAP Specific HTTP Callbacks
Changing the User Password
Security Sessions
Authorization for Web Application Users on the J2EE Engine
Single Sign-on for Web Applications
Propagating Security Principals between Application Containers
Building WARs
Creating Enterprise Projects
Building EARs
Deploying EARs
Internationalization in the SAP NetWeaver Developer Studio
Internationalization of Java Projects
Externalizing Strings
Translating UI Strings
Internationalization of Web Dynpro Projects
Internationalization Concepts for a Web Dynpro Project
Translation of the Texts
Getting Language-Specific Resources
Messages
Processing a Message
Determining the Required Resource Bundle
Internationalization Service
Metadata Comparison Tool