Skip to Content
avatar image
Former Member

IFrame -> Dynpro -> Unlocking R/3 resources

We have developed generic step-by-step wizard with some steps screen.

Each step represent IView with IFrame to dynpro application, which is got by

WDURLGenerator.getApplicationURL( WDDeployableObject.getDeployableObjectPart(...))

These steps could not be located by using View Container as they should be flexible configured.

The problem is that: Internal Dynpro application doesn't call its wdDoExit methods, and used resources remained locked in case unexpected exit, e.g. from this portal page.

Can we forcedly close dynpro application located in IFrame?

Could somebody please help me?

Any assistance will be appreciated.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

5 Answers

  • avatar image
    Former Member
    Dec 04, 2009 at 11:10 AM

    There is another possibility to catch exit from this Page of Portal, we can simply subscribe to PortalEvent "Navigate".

    WDPortalEventing.subscribe("urn:com.sapportals:navigation", "Navigate", wdThis.wdGetReleaseAction());

    And try to unlock resources. Unfortunately such method doesn't work always.

    Can we somehow delay the navigation process in external view until internal dynpro application releases its resources?

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Dec 06, 2009 at 10:09 PM

    Hi,

    In you View's Property tab, set the lifespan of the View to "when_visible" - This will destroy the View everytime you load "another view", and you will have your wdDoExit in the View Controller being called.

    Regards,

    Daniel

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Dec 07, 2009 at 06:47 AM

    Hi Maxim,

    If you want to unlock the locked resources on close of the browser window, then you have two options.

    1. Write the method in the wdDoExit() of the view and select the lifespan under View>ViewProperties as when_visible.

    2. Write the method in the wdDoExit() of the Component Controller which will be called anyway when the Web Dynpro Component is destroyed.

    Regards,

    Tushar Sinha

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Dec 07, 2009 at 10:06 AM

    Unfortunately, that didn't help.

    As I had mentioned before, this application is working inside IFrame, so it's considered by Portal as external url.

    In case of going to another Portal Page, wdDoExit() doesn't work at all. I can see this Application in Dynpro Console.

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      Hi Maxim,

      Can you just try to set the visibility of iFrame to IWDVISIBLE.NONE and check for the same. I believe the instance of application created in the IFrame should get destroyed.

      Regards,

      Tushar Sinha

  • avatar image
    Former Member
    Dec 07, 2009 at 11:22 AM

    It still doesn't work. 😔

    In my case I make unlock operation outside the component. But it is not especially generic. Because there can be other included Dynpro Application and each time I should change code to unlock these objects as well.

    Add comment
    10|10000 characters needed characters exceeded