cancel
Showing results for 
Search instead for 
Did you mean: 

Compsition Environment: interface controller in web dynpro

former_member185086
Active Contributor
0 Kudos

Hi All,

I've installed NW CE 7.1 and am trying to trigger an event created in the Interface controller. I observed that the methods and the events declared in the interface controller are not accessible in the view level. Has the WD design time concepts undergone a change?. In short, I'm not able to add the Interface controller as a required controller in any of the views that are present inside the same component.

Any clues on this?

Regards

Satish.

Accepted Solutions (1)

Accepted Solutions (1)

BeGanz
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hallo Satish,

you are right, the Web Dynpro component interface model was subject to changes in SAP NetWeaver CE 7.1.

<b>Important Note on Component Compatibility</b>

First I want to point out, that Web Dynpro Java in SAP NW CE 7.1 is <b>downward compatible</b> with the component model in NW 04 and NW 7.0. This means you can still run your existing Web Dynpro components without modification. All newly created Web Dynpro components will be based on the new component model. To migrate existing components to the new component model a Web Dynpro component migration tool can be applied. Component migration is only recommended in specific use cases.

<b>Modified Component Interface Concept</b>

Component interfaces (Interface Controller and Interface Views) are now <i><u>purely</u></i> abstract.

The related interface controller and interface view controller classes do not exist any more (NW04/NW 7.0).

These abstract component interfaces of a component are defined within the so called <i>Local Component Interface Definition</i>.

The Interface View of a Local CID is implemented by a window with its window controller. The Interface Controller of a Local CID is implemented by the component controller. Consequently controller usage relations to the component interface (view) controller classes can no longer be defined.

<b>Component Interface Eventing</b>

You are right, in NW 7.0 an event which is defined in a component interface controller can be fired via the method IPublic<interface controller>.wdFireEvent<interface controller event name>(). This has changed in NW CE 7.1

1) The interface event 'is implemented' by the component controller

2) The wdFireEvent<event name>() method is exposed in the component controller's IPrivate-API. Only the component controller can fire this event directly.

3) To fire the interface controller event in a non-component controller (view or custom controller) you must define a public helper method in the component controller:

public void fireEvent()   {
    wdThis.wdFireEvent<event name>();
  }

combinded with defining a controller usage relation between non-component and component controller.

4) A view controller can then fire a component interface event by invoking:

wdThis.wdGet<component controller name>Controller().fireEvent();

<b>New Window Controller</b>

A Window now has its own Window controller like a View has its View controller.

Based on the new Window plug concept Window controllers can easily implement cross-component navigation logic. They can directly forward incoming navigation events to views inside the window by firing window outbound plugs. In NW 7.0 the NavigationDispatcherView Pattern must be applied.

A Window an its Window controller act as implementors of Component Interface Views

The window controller replaces the former Component Interface View controller.

No 1:1-relation between Window and Component Interface View exists any more. The Component Interface View still exists but it no longer has its own Java controller class. Instead, the related application logic (firing suspend/exit/outbound plugs, handling 'incoming' inbound/resume/startup plug event handlers) is implemented by the window controller.

A Window Controller can have the following declarations: …

  • Required controllers i.e. controller usage relations

  • Window properties: Title, Help Link, Help Description, Custom Padding (disable default padding around the window border)

  • Plugs (see next slide) like in Views

  • Public controller methods

  • Context

  • Interface View Implementations

  • Window View Containers (correspond to ViewContainerUIElements within View layouts)

A Window with its controller and a component controller can implement multiple component interface definitions (CIDs) either defined in a

- Local component interface definition inside a component or in a …

- Standalone component interface definition outside a component

Note: The Local CID is not affected when a component implements a Standalone CID.

Best regards, Bertram

former_member185086
Active Contributor
0 Kudos

Hi Bertram

Thanks for your reply.

could u please send me some link which have some exersize based on this new concept.

Warm Regards

Satish

former_member185086
Active Contributor
0 Kudos

Hi

Thank u very much Its really helpful for me.

I am unable to find any document of these.If u have some link please send me

Regards

Satish

BeGanz
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hallo Satish,

I've not yet written a new Tutorial/Article/Sample App focusing on Web Dynpro Componentization in NW CE.

But I've written a new <a href="http://help.sap.com/saphelp_nwce10/helpdata/en/44/93c0b82dde70dbe10000000a1553f6/frameset.htm">Web Dynpro Controller and Interface Reference Documentation</a> you can read in SAP Online Help. It also touches the component interface eventing topic.

Regards, Bertram

Former Member
0 Kudos

Hi,

While creating a Webdynpro DC ( for creating WD Callable Object) wiff in CE NWDS 7.1. SP1 , the GP Interface related methods are not getting created in Interface Controlller but they are in Component Controller.Please let me know if there is any specific reason? We are not able to deploy the DC.

Thanks,

Uma.

Answers (0)