Developing User Interfaces
Web Dynpro for Java
Getting Involved
Architecture of Web Dynpro
Web Dynpro Component
View
View Set
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
Importing Development Configurations
Creating a New Web Dynpro DC
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 New Web Dynpro Project
Migrating Local Web Dynpro Projects
Some Rules for Working with the DTR
Naming Conventions
Naming Convention for Abbreviations
Naming Conventions for Coding Entities
Go and Create
Creating the First Application Elements
Creating a Project
Creating a Web Dynpro Development Component Project
Creating a Component
Copying a Component
Embedding Components
Nesting Components
Specifying the Call Sequence of Components
Referencing a Component
Creating a Window
Creating a View
Copying a View
Creating an Application
Creating Your First Web Dynpro Application
Creating a Web Dynpro Project
Creating a Web Dynpro Component
Creating further Views
Specifying the Navigation Schema
Creating Actions and Implementing Navigation
Designing a View Layout
Defining Data Binding for UI Elements
Creating a Web Dynpro Application
Building, Deploying, and Running Your Application
Core Development Tasks
Model and Java Dictionary
Importing an Adaptive RFC Model
Adaptive RFC
Reusing BAPI Data
Multiple Back End Support for the Adaptive RFC Model
Mapping Logical Systems
Security of Logical Systems
Importing a Web Service Model
Importing a JavaBean Model
Importing a WD Model of the Type JavaBean for a Local WD Project
JavaBean Model in a Development Component Project
Conditions and Naming Conventions for an Import Bean
Using External Data Imported from an XMI Model
Conditions for an XMI Model Import
Editing Model Classes
Referencing a Model
Defining Dictionary Data Types and Structures
Defining Currencies
View Programming UI and Navigation
View Structure and Design
Creating a View
Creating a View Set
Embedding a View in a View Set
Copying a View
Renaming a View
ViewContainerUIElement API
View Templates
Using the ActionButton Template
Using the Form Template
Using the Table Template
Navigation, Plugs and Navigation Links
Creating a Plug
Creating a Link
Implementing Methods for Outbound Plug Calls
Suspend and Resume Plug
Using the Suspend and Resume Plugs
UI Elements, Data Binding and Event Handling
UI Element Guide
Common UI Element Properties
Methods of the UI Element APIs
Layout
MatrixLayout API
MatrixData API
MatrixHeadData API
GridLayout API
GridData API
RowLayout API
RowData API
RowHeadData API
FlowLayout API
FlowData API
Containers
ScrollContainer API
Group API
TransparentContainer API
Tray API
BIApplicationFrame API: Integrating BEx Web Applications
BIMethods API: Access to Actions of a BEx Web Application
Breadcrumb Navigation
BreadCrumb API
BreadCrumbStep API
MultipleBreadCrumbStep API
BusinessGraphics API
UML Model of the Business Graphics
Category API
Series API
Point API
SimpleSeries API
NumericValue API
TimeValue API
Data Binding of a BusinessGraphics UI Element
Button - ButtonRow
Caption API
CheckBox API
CheckBoxGroup API
DateNavigator
DateNavigator API
DateNavigatorMarking API
DateNavigatorLegend API
DropDownByIndex API
Data Binding for DropDownByIndex Elements
DropDownByKey API
Data Binding for DropDownByKey Element
FileUpload and FileDownload: Data Transfer
FileUpload API
FileDownload API
Data Binding for resource Property with FileDownload and FileUpl
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 API
HorizontalGutter API
GeoMap API
Code Example of the Use of a Geographical Map
Example for Displaying a Route
IFrame API
Image API
InputField API
ItemListBox API
Label API
Legend API
LegendItem API
MultipleLegendItem API
LinkToAction API
LinkToURL API
MenuBar and Popup Menu
MenuBar API
Menu API
MenuActionItem API
MenuCheckBox API
MenuRadioButton API
Network API
OfficeControl API
Using OfficeControl
Pattern UI Elements
PageHeader
PageHeaderArea
ContextualPanel
ViewSwitch
FreeContextualArea
NavigationList
ExpandableTitle
PatternTabStrip
PatternTab
PatternTray
PatternContentArea
PatternExpandFunction
MessageArea
PhaseIndicator
Web Dynpro PhaseIndicator API IWDPhaseIndicator
Phase API
ProgressIndicator API
RadioButton API
RadioButtonGroupByKey API
RadioButtonGroupByIndex API
RoadMap API
RoadMapStep API
MultipleRoadMapStep API
Table
Table API
Filtering and Sorting in a Table
TableColumnGroup API
TableColumn API
TreeByNestingTableColumn API
Cell Variants
TableStandardCell API
TableSingleMarkableCell API
Defining Cell Variants
TablePopin API
TablePopinToggleCell API
TextBar API
Tabstrip
TabStrip API
Tab API
TextEdit API
TextView API
TimedTrigger API
ToggleButton API
ToggleLink API
Toolbar
ToolBar API
ToolBarButton API
ToolBarButtonChoice API
ToolBarDropDownByIndex API
ToolBarDropDownByKey API
ToolBarInputField API
ToolBarLinkToAction API
ToolBarLinkToURL API
ToolBarSeparator API
ToolBarToggleButton API
Tree API
TreeNodeType API
Web Dynpro TreeItemType API - IWDTreeItemType
Data Binding of a Tree UI Element
Code Example for Creation of a Tree UI Element
TriStateCheckBox API
ValueComparison API
Data Binding of User Interface Element Properties
Bindable Data Types
Typing Context Attributes for Data Binding
Assignment of Dictionary Types and Java Types
Dynamic Metadata
Code Examples of Data Binding
Code Example of Key Binding
Data Binding of a Dropdown List Box and Radio Button Group
Code Example of the Use of a Recursive Node
Dynamic UI Generation
Dynamic Generation of a User Interface Element
Event Handling
UI Element Event Model
Generic Validation Service
Web Dynpro Action at Runtime Interface IWDAction
Creating an Action at Design Time
Action Types
Non-Validating and Validating Actions
Event Parameter and Parameter Mapping
Web Dynpro ParameterMapping API - IWDParameterMapping
Programming User Messages
Error Handling
Creating a User Message
Messages
Processing a Message
Example for Using Messages
Internationalization of Web Dynpro Projects
Internationalization Concepts for a Web Dynpro Project
Translation of the Texts
Creating Language-Dependent Resources at Design Time
Messages
Processing a Message
Search Process for Determining the Required Resource Bundle
Internationalization Service
Development of Interactive Adobe Forms for the Web Dynpro UI
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
Configuring the Destination URL for the Adobe Document Services
Controller and Context
Controllers
Component Controller
Interface Controllers
Custom Controllers
Creating a Custom Controller
Editing a Custom Controller
Copying a Custom Controller
Referencing a Custom Controller
Renaming a Custom Controller
Using the Service Controller
View Controllers
Web Dynpro Phase Model
Context Description
Declaration of Controller Contexts
Context Structure
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
Using the Relate Context Attribute Template
Context Mapping
Mapping Independent and Dependent Nodes
Mapping Context Attributes
Creating a Data Link
External Context Mapping
Mapping Recursive Context Nodes
Model Binding
Web Dynpro Application: Configuration, Deployment and Execution
Configuring a Web Dynpro Application
Setting Values of the Application Properties
Using LogoffURL for Redirection After Terminating the Applicatio
Configuring the Web Dynpro Runtime Environment
Configuration Service
User Management Service
Deploying and Executing a Web Dynpro Application
Deployment Service
Executing a Web Dynpro Application: Clients
Web Dynpro-Specific URL Parameters
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
Portal Integration of Web Dynpro Applications
Personalization
Mobile Web Dynpro Online
Specifics of Nokia Series 80 and 60 Devices
Specifics of BlackBerry Wireless Handhelds
Specifics of Pocket PCs
Mobile Add-On Library
BarCodeReader API
Using the BarCodeReader
FunctionKey API
Using the FunctionKey
RFIDReader
Using the RFIDReader
Ensuring Quality
Debugging a Web Dynpro Application
Enabling Debugging on the Server
Setting Breakpoints in Web Dynpro Applications
Creating Debug Launch Configurations
Starting and Stopping Debugging
Logging, Tracing and Monitoring
Client Tracing
Logging
Availability Monitoring for Web Dynpro Applications
Web Dynpro Console
Performance Data Within the Request Response Cycle
Measuring the Performance of the Web Dynpro Framework
Determination of Performance Data for Clients
Display of Performance Data for Requests
Display of Performance Data for the Model or Backend
Display of Performance Data for Users
Invalidating Metadata Caches
Metadata Comparison for Web Dynpro Projects
Web Dynpro Content Administrator
Structure of the Web Dynpro Content Administrator
Creating JCo Destinations
Maintaining JCo Destinations
Starting Assigned SLDs
Checking SLD Connections
Browse and Search Function
Activating and Deactivating Applications
Defining and Maintaining Text Mapping
Setting up a Web Dynpro Application for a Logon Ticket
Services for the SAP System Landscape Directory and SAP Java Con
References
Web Dynpro Tools
Controller/Context Editor
Context Structure
Model Binding
Providing Data Using Value Nodes and Value Attributes
Data Modeler
Creating a Data Link
View Templates
Using the Form Template
Using the Table Template
Using the ActionButton Template
Using the Service Controller
Using the Relate Context Attribute Template
Message Editor
Creating a User Message
Navigation Modeler
Creating a View
Creating a View Set
Embedding a View in a View Set
Creating a Plug
Creating a Link
View Designer
Working with User Interface Elements
The User Interface Element Container
Chart Designer
Calling the Chart Designer
Web Dynpro Explorer
Creating a Project
Creating a Web Dynpro Development Component Project
Web Dynpro Class File Minimizer
Importing a Project
Deleting a Project
Navigator
Web Dynpro Model Tools
Importing an Adaptive RFC Model
Adaptive RFC
Reusing BAPI Data
Multiple Back End Support for the Adaptive RFC Model
Importing a Web Service Model
Importing a JavaBean Model
Using External Data Imported from an XMI Model
Conditions for an XMI Model Import
Referencing a Model
J2EE Web Applications
J2EE Application Concepts
Web Container
J2EE Web Application
Web Components
Servlet Life-cycle
JSP Life-cycle
Objects of Scope
Hints on Designing J2EE Web Applications
Developing J2EE Web Applications
Creating Web Projects
Developing Servlets
Creating Servlets
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
J2EE Engine 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
Session Support for Concurrent Requests
Dispatching Requests to Web Application Resources
Including Requests
Forwarding Requests
Destroying Servlet Instances
Developing Event Listeners
Developing JSP Pages
Creating JSP Files
JSP Syntax Elements Outline
Implicit Variables
Using the page Directive
Using the taglib and include Directives
Including and Forwarding Requests in a JSP
Using Declarations
Using Scriptlets
Developing Custom JSP Tag Libraries
Implementing Tag Handlers
Describing the Tag Library
Using a Custom Tag in a JSP Page
Developing Filters
Initializing Filters
Filtering Requests or Responses
J2EE Web Applications Security
Authentication for Web Applications Users on the J2EE Engine
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 J2EE Web Applications
Propagation of Security Principals to Other Containers on the J2
Building WARs
J2EE Web Components Configuration
Specifying Web Application Display Information
Declaring and Configuring Web Components
Defining Servlet Context Parameters
Mapping Servlets and JSP Pages
Mapping Filters
Setting up the Application Operational Environment
Configuring Environment Entries
Configuring Resource Environment Entries
Configuring Resource References
Configuring Enterprise Bean References
Defining Server Component References
Configuring Web Applications Security
Specifying Security Constraints
Defining Web Application Security Roles
Configuring Authentication
Configuring the J2EE Engine Cookies
Limiting the Number of HTTP Sessions
Custom Error Pages
Configuring Custom Error Response Pages
Defining Custom HTTP Response Status Codes
Configuring JSP Tag Libraries
Configuring Failover Alert
Configuring Welcome Pages
Configuring Session Tracking with URL Rewriting Only
Specifying HTTP Session Timeout
Default Configurations of the Web Container
Editing the Global Deployment Descriptors
Default Implementation of HTTP PUT Method
Providing Long-lived Request and Response Objects
JSP Servlet
Invoker Servlet
Default Servlet
PasswordChangeForm Servlet
Creating Enterprise Projects
Building EARs
Deploying EARs
Metadata Comparison Tool