Entering content frame

Process documentation Creating an Extended Web Dynpro Application Locate the document in its SAP Library structure

Recommendation

You can download the Web Dynpro project for the current tutorial from the Software Developer Network SDN (http://sdn.sap.com -> Web Application Server -> Web Dynpro -> Sample Applications and Tutorials) in two versions: one skeleton version you can use for exercises and one final version (solution) for an immediate build, deployment and run on the Java engine of the SAP Web Application Server.

Purpose

You will now be familiarized with additional main concepts of Web Dynpro-based application development by creating a short quiz application. You will learn about the following aspects of the Web Dynpro programming model, for example:

        Creating a Web Dynpro application with multiple views and a navigation structure

        Working with event handlers (action event handlers, inbound plug event handlers) that you declare yourself

        Reading contents from the property resource bundles and storing them in a Web Dynpro context (value nodes, value node elements)

        Dividing data between view controllers and component controllers using context mapping

        Manipulating UI element attributes at runtime using data binding

        Integrating the Web Dynpro application in the SAP Enteprise Portal

Process Flow

In the following procedure, you learn how to create this Web Dynpro application. Again, you must first create a new Web Dynpro application in a Web Dynpro component.

The development process of a Web Dynpro application has the following categories:

        Visual

        Declarative

        Programmatic

The following table shows which development steps belong to which category.

 

Visual

View Modeling

        Creating a view set and inserting it into a window

        Creating views or empty views and inserting them into a window

        Defining a View Composition

        Creating inbound plugs and outbound plugs

        Defining Navigation Links

View Design

        Designing view layouts in the View Designer

        Inserting UI element into views and assigning a static value to individual attributes

 

Declarative

Controller Contexts

        Defining a context value node with attributes for quiz data elements in the component controller

        Defining the use of the component controller in view controllers

        Defining context mapping between the view controller context and component controller context

View Contexts

        Defining layout-specific value attributes (for example, Visibility)

Data Binding

        Data binding of state-dependent UI element attributes to corresponding context value attributes

User Interaction

        Defining actions for user interaction in the view controllers

        Assigning actions to the event handlers of the corresponding UI elements

Interface View Controller

        Defining the exit plug GotoURL

 

Programmatic

        Context initialization

        Initializing different contexts in the corresponding wdDoInit() controller methods (for example, quiz data elements and layout-specific value attributes)

        Navigation

        Triggering navigation events in the corresponding action event handlers

        State Changes

        Customizing context data in action event handlers and inbound plug event handlers

        Changing the lead selection of a context value node with the cardinality 1 ..n (QuizData) to display a corresponding value node element using data binding

 

We recommend that you structurally subdivide the development process of a Web Dynpro application into the categories visual, declarative, and programmatic. The table shows that the Web Dynpro programming model provides good support of the visual and declarative approach, so the programmatical aspect can be reduced to a minimum. With the exception of the predated implementation of the navigation event handler, this structure reflects the sequential development process of the quiz example application.

 

This graphic is explained in the accompanying text Get an overview of the quiz application to be developed.

 

Leaving content frame