Let’s Web Dynpro. Part I

Web Dynpro: It is neither a tool with only drag and drop (those who have actually not worked would say this) nor is it something only for the Geeks (some who have worked might flaunt). So, neither under estimate it nor be scared of it. It is like any other area of SAP ABAP, which helps the developer to achieve the requirement and deliver some cool applications.

In this post and the series to follow, we are planning to provide the concepts to understand the basics of ABAP Web Dynpro. This series would act as a launching pad for our readers to develop their initial Web Dynpro applications. We would hand hold you and provide you some actual project requirements and how to achieve them.

This series would not give you detailed theories. There are tons of materials already available for theories and practice.

This would be different than others and would just concentrate on the basics; and some practical tweaks and tricks.

Let’s start..

We can make vague analogy between Web Dynpro terms and classical ABAP terms for simplicity. Some of them are:

Context <=> Variable
Context node <=> Internal Table/Structures/Work Areas
Context attribute <=> Fields of variables ( single field or fields of structure / internal table )
Component Controller <=> TOP include program ( declare global variables )
Custom/View Controller <=> Sub routine ( declare local variables )
Windows <=> Windows ( container )
Views <=> Views ( content )
WD Applications <=> Transaction codes

There are numerous UI elements in WD ABAP. But the most commonly used ones are:

  1. Tray
  2. Group
  3. Transparent Container
  4. Label
  5. Text Edit/View
  6. Input Field
  7. View Container
  8. Button
  9. Message Area
  10. Checkbox
  11. Radio Button
  12. Drop down by Index
  13. Drop down by Key
  14. Link to Action
  15. Tab Strip
  16. Toggle Button

Assistance Class.. What exactly is it?

Assistance Class is the “M” of the famous “MVC”, Model View Controller. All the extraction, massaging and modelling should be done in the assistance class.

What are the steps to start a Web Dynpro assignment?

Like any normal program, you should first define the Types and Data (variables, internal tables, work areas), i.e.in WD, you should declare the contexts.

Usually, normal program has selection screen parameters and select options. In most cases, the selection screen data are global. Similarly in WD, the contexts for the initial view(s) are usually defined at the Component Controller Level (as they are global).

In normal programs, the global variables are automatically available in all subroutines. In WD, the context of the global component controller are not automatically available to other controllers. We need to map the context of component controller to the respective custom/view controllers. By mapping, it means, context with the same name is created in the custom/view controllers (and they are linked). It is like passing parameters to the sub routines in normal ABAP. If the parameters are changed in the sub routine, the same is reflected in the calling program. Similarly if the context of the component controller is changed in the custom/view controller, it is reflected globally.