The Web Dynpro UI elements are interfaces to the graphical user interfaces of Web Dynpro applications. The prescribed UI elements are assembled depending on requirements for the different applications. There is currently no infrastructure for the development of customer-specific UI elements. To enable scope for the integration of different technologies and customer-specific UI blocks, FlashIsland is available in addition to SilverlightIsland. This enables the integration of Flex-based or Flash-based applications in Web Dynpro.
Flash is a technology for the development of multimedia content. Adobe flash films are created with the Adobe Creative Suite development environment. Adobe Flex is a platform for Rich Internet Applications (RIAs). Adobe Flash and Flex applications are compiled as ShockWave Flash (SWF) files that can be executed with the Adobe FlashPlayer. The Adobe FlashPlayer is available as a Web browser plug-in for various browser versions and platforms.
To use your own Adobe Flash/Flex component within Web Dynpro, it must use the library provided by SAP NetWeaver. This enables communication between the Adobe Flash application and the Web Dynpro framework.
In Web Dynpro, a FlashIsland UI element is generated in a view. The UI element contains the path to the Adobe Flash application (SWF file). This file must be stored in the MIME repository to enable its delivery together with the Web Dynpro application.
In addition to the SWF file to be executed, store the corresponding debug version of the Adobe Flash application in the same directory with the suffix -debug. Remember to adhere to the naming convention and add the suffix -debug.swf to the debug version of the Adobe Flash application. Example: The SWF file to be executed is called: MyFlashApplication.swf. For debugging purposes, an SWF file caused MyFlashApplication-debug.swf should be located in the same directory.
The most important properties are swfFile, height, and width (see below).
For caching optimization, the cache retention period for the MIME object must be as high as possible. To set it, choose Client Cache Expiry Date for the MIME object.
Context attributes are provided in FlashIsland using the PROPERTIES and DATA_SOURCE aggregations. It is also possible to declare EVENTS to be processed in the application.
The Adobe Flash application can be created, for example, with the Adobe FlexBuilder development environment. This type of project consists of three parts:
An Adobe Flex library provided by SAP NetWeaver, and necessary for communication between the Adobe Flash application and the Web Dynpro Framework.
The Adobe Flash/Flex component you have developed.
Application developers must call up their Adobe Flash/Flex components in the FlashIsland wrapper. The FlashIsland component provides methods to access data of the UI element and trigger events.
For more information, see Adobe Flash Islands Integration.
Notes
Accessibility
Note that accessibility is not ensured when using a FlashIsland UI element. If you want to create an accessible application, we recommend that you do not use FlashIsland.
Translation
For texts in the Adobe Flash application (SWF file), there is no translation link. Texts can only be translated if they are transferred from external applications through the context (GACDataSource or GACProperty) Make sure you only transfer the texts once, and not with every roundtrip.
Bi-Directional Text
Application developers are responsible for ensuring right-to-left (RTL) support.
Personalization
The personalization of FlashIsland UI elements is not supported.
Rectangular screen area
A FlashIsland UI element always runs in a rectangular screen area. Other shapes are not currently supported.
No Multiple Display
A FlashIsland UI element can only be displayed once on a screen. You cannot display it multiple times using DataSource. It can therefore not be used in a RowRepeater, MultiPane, or TablePopin (if there is to be more than one open popin at any one time).
In short, there may only ever be one FlashIsland UI element per view, since it is a RootUIElementContainer. However, you can display multiple FlashIslands on one page at the same time.
Debugging
To enable the debugging of the Adobe Flash application, the debug file (see above) must be located in the same MIME directory as the SWF file and the Web Dynpro application must be started with the sap-wd-flashDebug=X URL parameter. This automatically causes the debug file to be used rather than the SWF file for the FlashIsland.
Dialog Box
The integration of FlashIsland in Web Dynpro ABAP popups is not supported.
Implementation Details
Runtime Class |
CL_WD_FLASH_ISLAND |
Name |
Type |
Initial Value |
Bindable |
---|---|---|---|
STRING |
(automatic) |
No |
|
WDY_BOOLEAN |
true |
Yes |
|
STRING |
Yes |
||
WDUI_LIFE_TIME |
whenVisible |
Yes |
|
STRING |
Yes |
||
Translatable text |
Yes |
||
WDUI_VISIBILITY |
visible |
Yes |
|
STRING |
Yes |
Name |
Cardinality |
Type |
---|---|---|
0..n |
||
0..n |
||
0..n |
Other properties that can be inherited are defined in the related higher-level classes. The related UI elements are:
Dynamic Programming
For dynamic programming, the same properties, events and aggregations are available as in the View Designer. But note that the spelling format and use of upper/lower case is different.
View Designer Name |
Runtime name |
Type |
---|---|---|
WDY_BOOLEAN |
WDY_BOOLEAN |
|
HEIGHT |
STRING |
|
LIFE_TIME |
WDUI_LIFE_TIME |
|
lifeTime: whenAlive |
CL_WD_FLASH_ISLAND=>E_LIFE_TIME-WHEN_ALIVE |
|
lifeTime: whenVisible |
CL_WD_FLASH_ISLAND=>E_LIFE_TIME-WHEN_VISIBLE |
|
SWF_FILE |
STRING |
|
TOOLTIP |
WDY_MD_TRANSLATABLE_TEXT |
|
VISIBLE |
visible |
|
visible: none |
CL_WD_FLASH_ISLAND=>E_VISIBLE-NONE |
|
visible: visible |
CL_WD_FLASH_ISLAND=>E_VISIBLE-VISIBLE |
|
WIDTH |
STRING |
Name |
Runtime Name |
Cardinality |
---|---|---|
DATA_SOURCES |
0..n |
|
EVENTS |
0..n |
|
PROPERTIES |
0..n |
No example component of FlashIsland is delivered in the system, but component WDR_TEST_FLASH_ISLAND is available in the system for test purposes.