Skip to Content

As a growing number of Web Dynpro ABAP developers are beginning to work with the Adobe Flash Islands functionality, it seems like the perfect time to introduce some new eLearning materials on the subject.

Already customers and partners are accessing this ability to embed Adobe Flash and Flex Components within Web Dynpro and have bi-directional data binding and eventing. The functionality is available as part of NetWeaver 7.0 Enhancement Package 1 for Web Dynpro ABAP and NetWeaver CE 7.1 Enhancement Package 1 for Web Dynpro Java – both of which are available now as trial downloads from SCN.

In order to help people get started we have a series of eLearning Videos, Tutorials, and Demos – most of which also come with the complete source code. We will be collecting all the Adobe Flash Islands for Web Dynpro learning content at this WIKI site: SAP Rich Islands for Adobe Flash

We have learning materials that start out at the level where we assume the reader has only basic knowledge of Web Dynpro ABAP.  We try to create a nice introduction to the Adobe Flex Builder environment and how to create Adobe Flex Components.  We will also cover the Islands specific enhancements that you would need to make to both the Flex Component and the Web Dynpro Component.

We already have 2 of the tutorials listed on the site with several more to come over the next few weeks.  We are also trying to offer the content in a few new ways to make it as easy as possible for you to consume.  For instance with Tutorial #1 – we have the traditional step-by-step pdf document, the source code in downloadable format (Flex Builder Project and Web Dynpro Component in Saplink format), and an online version of the 1 hour eLearning Video.

But something new we are trying out is alternative ways to access the eLearning video.  It is also posted on the external blip.tv website, and available for download in FLV format incase you have problems streaming videos. And for the developer on the go, you can even get an iPod formatted version of the video. If you want, from the blip.tv page you can even subscribe to the eLearning feed via RSS or in iTunes to get new postings as soon as they occur.

So please look over what is already available on the Adobe Flash Islands WIKI site and let us know if there is a particular area or technique that you would like to see covered in future eLearning materials.

To report this post you need to login first.

26 Comments

You must be Logged on to comment or reply to a post.

  1. Alvaro Tejada Galindo
    Thomas:

    Thanks a lot for this…Already download the PDF file, but need to wait till get home for the FLV video (Blame client firewall)…
    Flash Islands is a technology that I really look forward…This is a gem for me -:)

    Greetings,
    Blag.

    (0) 
    1. Arul Raja Adaikkalam
      We have been looking for something like this for soem time . Thanks.
      We have installed enhancement package 1 and how do i enable the flash island through switch framework?

      Arul

      (0) 
      1. Thomas Jung Post author
        There is no need to enable anything with the switch framework. The NetWeaver Enhancement Packages don’t use the Switch Framework.  The changes are all immediately available. 
        (0) 
  2. Kathirvel Balakrishnan
    Hi Thomas,

    Once again thanks for such a nice elearning. I have the ABAP 701 trial version in my laptop but i am not able to find all the SWC files mentioned in your video. I just see the below two files:
    FlashIslandLibImpl.swf
    FlashIslandLibImpl-debug.swf

    Is there any additional setting/task, I need to do get them activated?

    Thanks
    Kathirvel 

    (0) 
    1. Thomas Jung Post author
      It is perfectly normal that you wouldn’t have the SWC files in 7.01 trial. Unfortunetely we couldn’t ship the SWC files with the trial.  However those files are included with the offical product – so Ramp-Up customers have them and once the product is Generally Available everyone will as well.

      For the purposes of the eLearning, I included build versions of all the exercises so you can still run the islands within Web Dynpro ABAP.

      (0) 
      1. Kathirvel Balakrishnan
        Hi Thomas,

        Thanks for the advice. I did built the web dynpro app as explained in the elearning, but unfortunately the Bar Chart section does not show anything except for the axis X & Y.

        Regards
        Kathirvel

        (0) 
        1. Thomas Jung Post author
          You are running the trial version so you wouldn’t have the Flex 3 runtime in the ABAP system. The Flex 3 runtime will be delivered later in one of the support packages.

          Be sure to either build for Flex 2 or use the Flex 2 complied version of the finished component that that I made available for download.

          You can also right mouse click in the island and download the log and xBCML source (as show at the end of the first eLearning video) in order to troubleshoot.

          If you are reusing my finished component, then I know the component works.  The could be on the ABAP side if you didn’t complete the mapping correctly.  An incorrect structure to the dataSource element or incorrect name mapping will produce no data – and woul donly dump error messages into the log.

          (0) 
          1. Patrick Weyers
            Hi Thomas,

            First of all, thanky for these very helpful tutorials. Althogh I am using WDJ, I found them the most useful resource online to be learning Flash Islands with.

            Several times, you have mentioned the possibilty to use “Copy Log to Clipboard” and “Copy Source to Clipboard” for troubleshooting. These functions appear to be extraordinarily helpful, as often I am stuck with no data displayed in my Flash files.

            However, I do not have these options my Flash Player’s context menu! I have tried both version 10 and (currently) version 9 of the Player. Do you know if there is anything else I need to do to get these options?

            Thanks and best regards

            Patrick

            (0) 
            1. Thomas Jung Post author
              The Copy Log to Clipboard and Copy Source to Clipboard where originally standard features added by the Flash Islands framework.  However they were deemed a bit of a security risk.  So now they are still there, but disabled by default. In WDJ, there is an admin console setting that should reactivate them (basically putting the Island library into a special debug mode). I don’t remember where the setting was off the top of my head and will need to go back to development or search the docs to find it.  Give a day or so to track it down.
              (0) 
              1. Patrick Weyers
                Thomas,

                Thanks for the hint and thank you for looking into this.

                Seeing you mention the docs, I was wondering if there is – besides the tutorials and blogs that are online – any more or less structured documentation available to the public that can be used as a reference for example in terms of data conversion between WD and Flex?

                Best regards

                Patrick

                (0) 
                1. Thomas Jung Post author
                  Besides the SDN tutorials and eLearnings; we also covered the topic in a few sessions at TechEd last year. COMP277 had a hands-on exercise for Web Dynpro ABAP and FlashIslands – similiar to one of the published tutorials on SDN.

                  The online help also has a basic section on each:
                  WDJ:
                  http://help.sap.com/saphelp_nwce711/helpdata/en/48/825afcf53d3ff6e10000000a42189c/frameset.htm

                  http://help.sap.com/saphelp_nw70ehp1/helpdata/en/47/b907cd77eb2d66e10000000a42189c/frameset.htm

                  (0) 
                  1. Patrick Weyers
                    Thanks again.

                    One more question with regard to the different version of the SAP supplied libraries (FlashIslandLibImpl*.swf):

                    I am deploying to a system that currently only supports Flex 2-built versions of my Flash Island application.

                    Is there any way to enable the system to also support Flex 3, for example by telling our basis admin to upload the missing libraries FlashIslandLibImpl30.swf and FlashIslandLibImpl30-debug.swf to a specific destination on the server?

                    Thanks and best regards

                    Patrick

                    (0) 
                    1. Thomas Jung Post author
                      We delivered the Flex 3 versions of the libraries via Support Packages. OSS Note 1260708 has the details on the updated libraries for Web Dynpro ABAP. I couldn’t find a similiar note for Web Dynpro Java.
                      (0) 
  3. p 2 5 6 9 6 0
    Hi Thomas,

    We tried this on WDJ with EHP1 for CE 7.1 and we get only the axis X and Y.

    Will the same .swf file work on WDJ? And How can I check (when I dont have Flex Builder) if the .swf file is Flex 2 or Flex 3?

    Thanks.

    (0) 
    1. Thomas Jung Post author
      Yes the same SWF files will work in both WDA and WDJ. The Flex Components that you create with the Islands library are compatible with both flavors of Web Dynpro.

      I don’t know of any way to tell if a compiled SWF is Flex 2 or 3.  If you are using my compiled files, then make sure you are grabbing the file from this link:
      http://sdn-mentor-handson-2008.googlecode.com/files/IslandsIntro1_Flex20.swf

      I put Flex20 right in the name of the file to distingish it.

      You could also have a mapping problem with context nodes. This would cause no data to show up.  Assuming you have the correct Flex 2.0 version of the SWF, try right mouse clicking in the island and using view source or view log options.

      I also can’t say if CE 7.1 EnhP1 builds that are out there now contain the Islands functionality yet.  I don’t work on the Java CE side and I don’t know if you have one of the Sneak Previews or a full version.  Although the SWF files are compatible between WDA and WDJ; my eLearning only covers the process for using Islands in WDA.

      (0) 
  4. Santosh Verma
    Hi Thomas,

    The presentation is amazing & so is the technology. I’ve been a great admirer of yours and followed most of your blogs. I’ve been working on ABAP & Java requirements and also i have knowledge on Flex. Recently, we have been working on a requirement to create two sets of UI’s. One on the R/3 environment and other on the Oracle & Teradata systems through JDBC. We always face the challenge to make the UI’s more user friendly and i found Flex is a real good tool for it.

    I saw one of your tutorials in which you said for using more of native WD UI Elements, i was wondering, why cannot i build a solution which is completely flex based in front end embedded in a webdynro application? For complex data manipulation like tables data in WD, i might attempt to use XML or ArrayCollection class to map. Any thoughts on this?

    Thanks,
    Santosh.

    (0) 
    1. Thomas Jung Post author
      >I saw one of your tutorials in which you said for using more of native WD UI Elements, i was wondering, why cannot i build a solution which is completely flex based in front end embedded in a webdynro application?

      SAP does not recommend this.  If you just want the entire Web Dynpro UI to be done in Flex Rendering – you will have that choice next year with the Flex Client for Web Dynpro.  This is the same technology that runs today on top of Visual Composer Web Dynpro Components.  You don’t have to do any coding to get this functionality.

      The recomendation for best performance and keeping WD capabilities like RTL, personalization, translation, etc – is to never try to replicate WD native UI elements in Flex for an Islands. Islands should be unique areas that can’t be acomplished using the traditional UI elements.

      (0) 
  5. Vasyl Polovyy
    Hi Thomas,

    Thanx for great tuts!

    I’m stuck at the first one…Every time I try to swap the root element i get an error like this:

    ->Laufzeitfehler: OBJECTS_OBJREF_NOT_ASSIGNED_NO
    ->Ausnahme: CX_SY_REF_IS_INITIAL
    ->Zugriff über ‘NULL’ Objektreferenz nicht möglich.
    ->Fehlende RAISING Klausel im Interface
    Programm: CL_WDY_WB_VIEWDESIGNER_VIS====CP
    Include: CL_WDY_WB_VIEWDESIGNER_VIS====CM05W
    Zeile: 1
    Modultyp: (METHOD)
    Modulname: RESTORE_LAYOUT_HEAD_DATA

    no matter which type i choose, it’s always the same…Do you have any idea? Thank you for your help in advance.

    (0) 
    1. Thomas Jung Post author
      I’ve never encountered that error.  It appears to be a dump in the WD Designer itself.  What release/SP level are you on?  I suspect that you will need to enter a support ticket as it appears to be a bug in the designer itself.
      (0) 
    1. Thomas Jung Post author
      I’m not sure I exactly understand your question.  Are you concerned with sending the data stream to the Flex Component on each request/response cycle?  We actually don’t send for each.  We use the Web Dynpro delta handling to only send the data when there are changes that effect the Islands.  Also Delta handling is applied to the xBCML itself so we don’t need to resend sections of the xBCML that are unchanged. This is particularly useful on events triggered within the Islands. They send back a very small xBCML with only the event name and any defined event parameters.
      (0) 
      1. Alexander Demidovich
        Sorry, I meant: during developing, I have to upload SWF everytime, after any changes. Is it like that? Or I could link it somehow to the file system and if I change smth in this flex app, the one will be taken immediately?

        (0) 
        1. Thomas Jung Post author
          No you have to upload after changes.  For security reasons it must be served out by the ICM. Personally I’ve never really seen this as much of a problem.  You just right mouse click on the SWF in your MIME Folder of your WD Component and choose Upload/Download->Upload and Replace. The file open dialog remembers your last folder location after the first upload.
          (0) 

Leave a Reply