cancel
Showing results for 
Search instead for 
Did you mean: 

View,Window and Controller

Former Member
0 Kudos

Hi,

I am New to Webdynpro For ABAP.Could anybody Can tell me What is the Difference between View,Window and Controller in Webdynpro Component?

And also Could anybody Tell me the Usage of Basic Terminology in Webdynpro For ABAP.

Thanks in Advance

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

this question has been answered multiple times already. Read the Wiki, the documentation etc. For further information, carry out a simple search in this forum and you'll find all the answers.

Regards, Heidi

Former Member
0 Kudos

Hi Heidi,

Thanks For Your Reply.I didn't See Web Dynpro for ABAP @ SDN Wiki Thread which is mentioned in the Top.Now, I have Seen the Link.

Answers (1)

Answers (1)

Former Member
0 Kudos

Controller Types

There are four types of controllers in an ABAP Web Dynpro component. These

different controller types differ in the entities they are composed of:

• Component controller

There is only one component controller per Web Dynpro component. This is

a global controller, visible to all other controllers. The component controller

drives the functionality of the entire component. This controller has no

visual interface.

• Custom controllers

Custom controllers are optional. They have to be defined at design time

and can be used to encapsulate sub-functions of the component controller.

Multiple custom controllers can be defined in a component. Custom

controllers are instantiated automatically by the Web Dynpro framework

and the instantiation order is undefined; therefore, the coding in a custom

controller should make no assumptions about the existence of any other

custom controller.

The instantiation of a custom controller is delayed until the first method of the

controller is called. Custom controller instances can not be deleted explicitly.

• Configuration controller

This is a special custom controller. It is only necessary if the corresponding

component implements special configuration and personalization

functionality. Only one configuration controller may exist in any component.

Any other controller can access the configuration controller, but the

configuration controller cannot access any other controller.

This controller is instantiated as the first controller of the component. It

lives as long as the component lives.

• View controllers

Each view consists of the layout part and exactly one view controller. This

controller cares for view-specific flow logic, like checking user input and

handling user actions.

The instantiation of a view controller is delayed until the first method of the

controller is called. The lifetime of a view controller can be controlled by

the views properties:

If framework controlled is selected, the view instance will be deleted

with the component.

If when visible is selected, the view instance is deleted as soon as the

view no longer belongs to the view assembly.

• Window controllers

Each window has exactly one window controller. This controller can be used

to care for the data passed via the inbound plugs when being reused as a

child controller. Methods of this controller can be called from the inbound

plug methods of the window.

The instantiation of a window controller is delayed until the first method of

this controller is called. This is done by starting a Web Dynpro application or

by embedding the related interface view in the parent component's window.

Window controller instances can not be deleted explicitly.

At runtime, all controller instances are singletons in respect to their parent

component. This is also true for view controllers; thus, embedding a view in a

view assembly more than one time is not allowed.

The global data of a controller is stored in a hierarchical data storage, the

controller context. This context and the methods defined in a controller are

private unless another controller explicitly declares the usage of this controller.

However, a view controller can not be declared as a used controller, so the context

data and the methods of a view controller are always private.