Skip to Content

Xcelsius integration in WebDynpro Java Flash Islands

Hi,

We developed a visual composer application with CE 7.20 SPS 03 and we try to integrate a xcelsius gauge in to VC 7.20. It works fine with passing single or multiple parameters to xcelsius with webdynpro java flash islands, but how do we get the value from xcelsius back to webdynpro java.

How do we have to name the event in webdynpro flash island? Which event is triggered when change a slider or a gauge? Is there any document?

I need your help.

Best regards,

Murat Y.

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

3 Answers

  • Aug 17, 2011 at 05:09 PM

    Creating Flash Island Events

    To implement the Visual Composer application if data has changed on the Flash island side, we need to define a Flash Island event. In this example, the Web Dynpro application needs to be updated once the user has changed one of the two slider values. The Web Dynpro application will trigger an event that will be handled in Visual Composer. Once you have created a Flash island event entry, you can assign a Web Dynpro action method to be called if the Flash island event is raised.

    1. Right-click RootElement again and create a SliderCostsEvent and a SliderRevenuesEvent:

    2. Assign the following attribute values to the Flash island event entries:

    SliderCostsEvent:

    SliderRevenuesEvent:

    Note:

    The Flash island event name must be the same as the name in the corresponding Data Connection Range and Property. For example, in the Xcelsius Data Connection, we defined a Range u201CSliderRevenuesu201D. Once the referring value is changed, the Flash island event SliderRevenues is called (which is bound to a Web Dynpro action method) and also the data is written to the SliderRevenues Flash island property (which is bound to a Web Dynpro context attribute). Once an Action method is called from the Flash island event, the data is transferred to the Web Dynpro context.

    The onAction property points to a method Update(), which you need to create in the FlashIslandView (see implementation following).

    3. Now we will create the event that will refresh the data in the Visual Composer application. Go to the Events tab of the Component Controller and click New. Enter RefreshData as the event name and click Finish.

    4. Create the Component Controller method that will be called by the viewu2019s Update method. Go to the Component Controlleru2019s Methods tab and create a new method by clicking New. In the dialog box, select Method and click Next. Enter the name of the method, i.e. updateData and click Finish. Save the application.

    5. Right-click on this method and select Navigate To  Implementation. This will open the implementation code of this method.

    The method should look like this:

    public void updateData( ) {

    //@@begin updateData()

    wdThis.wdFireEventRefreshData();

    //@@end

    }

    The Update method of the FlashIslandView calls the Update method of the Component Controller; see implementation below:

    public void onActionUpdate(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )

    {

    //@@begin onActionUpdate(ServerEvent)

    wdThis.wdGetCostRevenueCompController().updateData();

    //@@end

    }

    The Update method of the Component Controller will trigger the event that will refresh the Visual Composer UI with the new data. The reason for the multiple calls is that actions that are defined in the view cannot fire events but they can call a method, so we need to call a Component Controller method that will fire the event.

    6. Next, you should expose this event in the Interface Controller. Right-click the event and select Copy. Go to the Interface Controller, select the Events tab and paste the event.

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Nov 30, 2010 at 07:18 PM
    Add comment
    10|10000 characters needed characters exceeded

  • Nov 30, 2010 at 07:40 PM

    Thank you. Very helpful.

    BR,

    Murat Y.

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Murat Yurtoglu

      Hello Murat,

      now I solved the problem about the displaying in WD Java, it was because of the flex wrapper, it didn't fit.

      I use now the GenericXcelsiusIsland.swf to handle the xcelsius-swf. Did you work with the flex coding described in the post below?

      I have now the problem, that I can display Data, which i enter in Web Dynpro, with the Flash Island, but when I change any slider or something in my Dashboard, I didn't get any write back.

      Do I have to use in Web Dynpro the GAC-Event-Property, or how did you solve that?

      Hope, u will answer soon!

      Thanks!

      Best Regards,

      Bonita

      Edited by: Anja Engelhardt on Aug 17, 2011 12:33 PM

      no emails. see forum rules.