cancel
Showing results for 
Search instead for 
Did you mean: 

Xcelsius integration in WebDynpro Java Flash Islands

0 Kudos

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.

Accepted Solutions (0)

Answers (3)

Answers (3)

0 Kudos

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.

0 Kudos

Thank you. Very helpful.

BR,

Murat Y.

Former Member
0 Kudos

Hello Murat,

is your application working?

I have one question, and I would be very happy, if you're write back soon.

On page 9 in the documentation stands, that "you should see the Xcelsius dashboard within the Web Dynpro application". Do you see there your Xcelsius Dashboard, but without data, or what do you see there?

Becasue my screen is only sap-blue.

Thank you very very much in advance!!!

Best regards,

Bonita

0 Kudos

Hi,

there is a setting in the j2ee for compressing swf files.

Logon to the Netweaver Administrator of the server where you

export the model from: http://<host>:<port>/nwa

2. Navigate to Configuration Management -> Infrastructure -> Java

System Properties

3. Select your nodeID as shown in the screenshot attached

4. Select the Services tab in the Details area

5. In the Details area filter the HTTP Provider Service as shown in

the screenshot attached

6. In the Extended Details area filter the NeverCompressed

property as shown in the screenshot attached

7. Add the value 'application/swf' to the custom value of the

'NeverCompressed' property as shown in the screenshot

attached

Try this.

If we have the solution than we can post the solution in sdn.

BR,

Murat Y.

Edited by: Anja Engelhardt on Jul 14, 2011 2:20 PM

No email adresses. See forum rules.

Former Member
0 Kudos

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.

Former Member
0 Kudos