cancel
Showing results for 
Search instead for 
Did you mean: 

Web Dynpro & KM IView via IWDFrame

Former Member
0 Kudos

Hello,

we need to integrate KM repository view in WD application (users have access to special folder in KM repository - they see directory tree and files, have upload/download/move/rename functionalities and more). This WD application is made as development component (DC) and implements callable object interface (CO) - it must be callable from guided procedures as well as from Portal.

We integrated KM IView via IWDFrame and source URI is like this: /irj/servlet/prt/portal/prtroot/pcd!3aportal_content...

After using this solution we found this attention in Javadoc:

https://media.sdn.sap.com/javadocs/NW04s/SPS7/wd/com/sap/tc/webdynpro/clientserver/uielib/standard/a...

and Detlev's message:

But, our KM IView looks like it works

What we can meet in future? What can be wrong, which problems can occure using this "bad" solution? And - if this solution is bad, how to solve it properly?

Thank you for you ideas.

Martin

Accepted Solutions (1)

Accepted Solutions (1)

former_member182372
Active Contributor
0 Kudos

Hi Martin,

Do you have other UI elements except IWDFrame in your WD view?

As I can read in JavaDoc: <i>In fact, its content is reloaded after every roundtrip when using server-side rendering.</i>.

So, imagine: user works with KV iView and decides to do something within WD view (press button, select a radio button, whatever... ). Server roundtrip is performed, IFrame is reloaded and (potentaily) session state (it means - recent work in KM iView) can be lost. You can try to attempt to reproduce the scenario.

Best regards, Maksim Rashchynski.

Former Member
0 Kudos

Thank you Maksim. You are right with reloades.

This fact we didn't see thanks to a weak testing. And weak testing was thanks to first enthusiasm of the "functional" solution

Hmm, but the main question remains - how to do it without reloading, how to integrate properly KM view into WD?

Current design:

IView (main)

+---IView -> WD app (many UI elements)

+---IView -> KM directory

It works fine in Portal. Main IView propagates starting parameters to 2 child IViews and all works fine. For user it is only one application (WD + KM looks like a one app).

But, when we need to make WD app as Callable Object to use in Guided Procedures, we need some way how to integrate KM view into WD. If we make Callable Object from main IView, there is problem how to gather informations about the current GP process from WD app then. So, it points to implement CO in WD. And therefore we (maybe) need to integrate KM view into this WD app.

We have some reserve solution to program all necessary functions from KM view in WD app by ourselves. But - this is the latest chance (too many work and very non-flexible).

Thank you for your next ideas.

Martin

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Martin,

It is true that IFrame has some problems and it has been deprecated. One of the problems that is quite prevalent with IFrames is that a nested application in an IFrame does not get the browser event which determines that the IFrame is closed. But this event is especially needed to notify the server that the app is closed. This is a browser problem and can not be cirumvented except when the outer application takes care about the session of the inner application. This is only one problem of many. Therefore the WD team deprecated the IFrame UIElement to restrict the use of it.

Instead of using IFrame you can use a PortalIFrame. This again has some problems but is not deprecated atleast.

Regards,

Satyajit.

Message was edited by: Satyajit Chakraborty