Objective: This wiki will demonstrate what are the different Controllers in Web Dynpro for ABAP.
• Controllers are the active parts of a Web Dynpro application.
• They determine how the user can interact with the Web Dynpro application.
• The data that a controller can access is defined in the corresponding context. Different instances of controllers and contexts exist within a Web Dynpro application .
• Different types of controllers:
1) View Controller
2) Global Controller
3) Interface Controller
Each view has exactly one View Controller, which processes the actions performed by the user in the view.
A view also has exactly one view context, which contains the data required for the view.
A view controller and the corresponding context exist at least as long as the view is visible in the browser.
If the view is replaced by a successive view, the local data are also no longer available. However, the lifetime can also be connected to the lifetime of the surrounding component.
• Each Web Dynpro component contains at least one global controller that is visible within the component for all other controllers.
• Once the data for this component controller have been created the first time they are accessed, the lifetime extends to cover the whole period during which the component is in use.
• We can add additional global controllers in the form of custom controllers. These also last as long as the component and the data they contain are available to all views of the component.
• Every time there is a Web Dynpro window, a further global controller (the Window controller) is added to the component.
• Each Web Dynpro component contains exactly one interface controller. This controller is a global controller .
• This is visible within and outside the component and is used to exchange business data. An embedding component can also call an embedded component using this controller.
• The interface controller, is not an independently implemented object
• Instead, the visibility of methods and events of the component controller can be extended beyond the limitations of the component