[External Window] Reuse an existing window

Hi,
From what I have read, this is not possible to close an external window from the parent web dynpro application (external means opened through create_external_window method).
In spite of what the SAP Help documentation is saying (http://help.sap.com/saphelp_nw70/helpdata/en/43/79f82ccbec6fcde10000000a1553f6/frameset.htm), I did manage to open an external window from SAP Enterprise Portal .
As this is impossible to close the external window* (programmatically !), I was wondering whether it was possible to "reuse" the window (usually, setting the target attribute of an HTML hyperlink does this trick). Unfortunately, I haven't found the target attribute (which is different from the title attribute).
Is this possible to inject the target attribute in the new window?
Thanks in advance.
Best regards,
Guillaume
To be honest, there is lot of contradictions regarding this aspect. Indeed, it is stated in NET311 Training guide that it is possible to close a window opened with create_external_window and OSS Note [1234843|https://service.sap.com/sap/support/notes/1234843] also seems to say so (we are operating 7.01 SP03)
Edited by: Guillaume Garcia on Jan 7, 2010 11:12 AM

Unanswered

Similar Messages

  • Modify URL of an existing opened external window

    I need to reset the URL of an external window opened by the application without destroying the and re-creating it.
    Thanks.

    Thanks for the responses.
    Valery, the destroy() is deprecated.
    Betram, the LinkToURL works with regard to maintaining single external window with url being modified as needed.
    However, this solution requires user to click on the UI element of LinkToURL. Mixing the LinkToURL UI with btns, in my case, is not desirable. Is it possible to make the LinkToURL UI hidden and trigger it via a Btn? The properties of LinkToURL doesn't seem to include OnAction...

  • How to use the AVMenuItemExecute() with an External Window

    Hello,
    I'm trying to use the AVMenuItemExecute() function in an External window. I mean that I have an opened document in another window (using AVDocOpenFromASFileWithParams or a function like that).
    Actually the problem is that the AVMenuItemExecute() is executed on the Acrobat windows which is emplty in my case because I open the PDF file in another window.
    Do you know whether it's possible or not? Whethet it's possible how can I do that?
    Thanks in advance,
    Joël

    joeln3 wrote:
    Thanks Leonard.
    Actually I want to use all MenuItem so it's not a good way to do this.
    I know it's possible using IAC but I have another problem with IAC. IAC allows to show the PDF file in an external window and to use the ExecuteMenuItem(). But in my case a PDF file is already open before starting IAC. So when I use the ExecuteMenuItem() function this is on my first Acrobat window that the action is launched. Indeed the document opens with IAC is not in an Acrobat window.
    Regards,
    Joël
    Actually it's not possible with IAC.  While IAC does allow you to open a PDF in an external window, and it does allow you to ExecuteMenuItem(), as Leonard explained you CAN NOT ExecuteMenuItem() on the PDF in your external window.  The reason for this is simple - in your external window, the menu items to execute do not exist as the menu only loads inside Acrobat/Reader.
    ExecuteMenuItem() doesn't simply replace having menu items and call the internal code associated with that menu item.  It literally executes that menu item.  So if the menu doesn't exist, it can't execute anything.

  • Application lock on open external window

    Hi everybody,
    I have problems with opening a new browser window pointing to a folder on the network.
    If the user has access to the folder everything is working fine.
    If the user has no rights to access the folder, the user gets an error message and the window stays empty. After clicking okay on the error message and closing the window the  user can continue working in the application.
    If the folder which should be display does not exist the user gets an error message.
    After clicking oay on the message he can return to the application. But there the 'progress circle' is still running and it cannot abort or do anything! The user has to close the application and login again.
    Is there a way to handle the external window in any way after having it opened and the calling method was left?
    Any hint or advice is highly appreciated!
    Best regards,
    Roland

    Hi,
    Do this way... So that there will not be a minimise option, close option. and control will be there inside the Window and till the time user closes the window he cannot perform any actions on any other screens.
         //Added below code to open a new window
              IWDWindowInfo info =
                   wdComponentAPI.getComponentInfo().findInWindows("WD_vendorTable");
    //Where WD_vendorTable is a window with the desired view embedded inside it.
              IWDWindow win =
                   wdComponentAPI.getWindowManager().createModalWindow(info);
              wdContext.currentContextElement().setVa_VendorWinName(win);
    //Save this window information in a context variable(declared at component level and mapped to the parent view and to the window(child) view)
              win.setWindowSize(300, 300); //Desired window size
              win.setWindowPosition(600, 100); //Desired window position (from top left cornor)
              win.setTitle("Vendor Details"); //Desired window title
              win.show();
    To close this window
    create a button inside it and inside the button's action
    IWDWindow win=wdContext.currentContextElement().getVa_AssetNoWinName();
    win.destroyInstance();
    Regards,
    Srinivas.

  • Generate PDF into New External window

    Hi All,
    I have developped an application.In that I am getting the data from R/3.In my application first View displays table of data and the table row contain some invoice information when I click that Row that information would be displayed as PDFform(created using interactiveforms) in an External window.
    Any body have done same or any suggessions please.
    Advance Thanks
    Mandapati.

    Hi Mandapati,
    I am afraid, the InteractiveFrom ui element can only be used to display a pdf on the view is resides. It is not possible to display the same view of the same session within another browser at the same time.
    Therefore, you cannot use InteractiveForm ui element, but you could generate a PDF using the API Heidi refers to. The pdf can be stored inside of the cache of the application server or could be retrieved by special self-implemented handler in ICF. If I am not mistaken, there exists some information on doing something like this inside of the BSP forum as I know that it is part of Brian McKellar's und Thomas Jung's BSP book. My advise would be to search for a weblog or inside of the BSP forum (or to buy the book g). Of course, all the above only applies if you use Web Dynpro ABAP.
    Best regards,
    Thomas

  • Create new external window and displays the viewdata as pdf?

    Hi,
    I have developped an application that will display some textviews and one table that displays 5 records,
    for this I want display as new External window and dispay in PDF the data what we have in view.
    advise me how to approach for external window and diplay as PDF.
    Thanks,
    Lohi.
    Message was edited by:
            Lohitha M

    Thanks for your reply,
    Here my problem is now I am getting the table values as output in the Jsp.
    In Jsp I want to create Button when I click that button I need to display an external window and display the table data what ever is available that will display new external pdf.
    I have developped the applcation by using of the three files table.java,tablebean.java,table.jsp and in portalapp.xml cretated the component.
    Now  how can I perform my action in that existed Jsp page and how to display extenal window i that how to generate the PDF.
    I am in learning stage in this.
    please elobarate with atleast some snippests.
    Thanks,
    Lohi.
    Message was edited by:
            Lohitha M

  • Open View or Window in a external window (popup)

    Hi experts!
    I have the following issue:
    - I know how to open a external window from a given URL, but my problem is that I want this new external window to open and show one of my own windows and I don't know how to get the window's URL. Any Idea???
    Please help or redirect me to some doc or post. Thanks.
    Osvaldo Silva

    Hi,
    If you want the url of the another window in your WD Component. As per my knowledge you need to have a seperate application to be created for this window also.
    For Example you have Window1 (View1 is embeded in this window) and Window2(View2 is embeded in this window). Now you need the url of the Window2.
    So for this purpose you need to create two applications for this WD Component.
    For example App1 (Created for Window1InterfaceView) and App2 (Created for Window2InterfaceView).
    Now use this below code to open the Window2 URL in a sepearate window.
    // Get name of deployable object this component belongs to
    String deployableObjectName =
    wdComponentAPI.getDeployableObjectPart().getDeployableObjectName();
    Map urlParameters = new HashMap();
    // If there are any application parameters you need to pass to App2 you can set those in urlParameters
    // as urlParameters.put("key","value");
    try {
    // Get deployable object part of target application.
    // Precondition: assume, that other application belongs to the same
    // Web Dynpro Project (Deployable Object)
    WDDeployableObjectPart deployableObjectPart =WDDeployableObject.getDeployableObjectPart(
    deployableObjectName,"App2",WDDeployableObjectPartType.APPLICATION);
    // Get target URL based on deployable object part and URL parameters
    String urlToTargetApp =WDURLGenerator.getApplicationURL(deployableObjectPart, urlParameters);
    //Open this urlToTargetApp in external window.
    IWDWindow window = wdComponentAPI.getWindowManager(.createNonModalExternalWindow(urlToTargetApp,"Window2");
    window.show();
    } catch (WDURLException e) {
    messageMgr.reportException(e.getLocalizedMessage(), false);
    } catch (WDDeploymentException ex) {
    messageMgr.reportException(ex.getLocalizedMessage(), false);
    Note:/Warning:  We are opening another window using another WebDynpro application.
    Here it creates a seperate WDComponent instacne. You can't access Window1(View1)'s existing context data in Window2(View2). The only way is you can pass some data using app/url parameters.
    Apart from this as per my knowledge there is no other way to get the url for a Window.
    Regards,
    Charan

  • Problem with Absolute Navigation (External Window) and Light Framework Page

    Hi All,
    We are using Light Framework page for the portal devolopment. We have an application including two webdynpro iviews where absolute navigation is used to traverse from first iview to second iview (When user clicks a button on first iview). We are showing the second iview in external window (SHOW_EXTERNAL). When ever i clicks the button to traverse to second iview, i am getting an exception.
    When we are showing it in same window (SHOW_INPLACE), it is working fine. But the iview is appeared in half of the page with scrollbars. It is working fine with default framework page (with both options SHOW_INPLACE and SHOW_EXTERNAL) and dispalyed in original size as mentioned in iview properties.
    Could you please suggest us whether there is any work around for this.
    Thanks,
    Sudheer

    Hi Kathiresan
    I couldn't see the address bar of the window (In which second iview is getting displayed). But i can observe no parameters that i passed from first iview is visible in the view source of the second iview (When SHOW_EXTERNAL is used in absolute navigation). I could see all the parameters in the view source (when SHOW_INPLACE is used for absolute navigation). But i am using the same url for both the options (for SHOW_INPLACE and SHOW_EXTERNAL).
    I doubt about the url being passed when SHOW_EXTERNAL option is used. But when we checked in debug, The correct url is being triggered (Atleast from first iview). Is there any way that could display the second window with address bar. What is making difference  between SHOW_INPLACE and SHOW_EXTERNAL with absolute navigation and light framework page.
    Could someone please suggest.
    Thanks,
    Sudheer.

  • Close External Window in Web Dynpro Application

    Hi Folks,
    I am working on a development in Web Dynpro and I am pretty new to this topic, so I seek your help.
    The scene is:
    I have created a Web Dynpro application in which I open an URL using CREATE_EXTERNAL_WINDOW method of the Window Controller. I am able to open the window but not able to close it.
    I tried using methods,
    CLOSE()
      and
      SET_CLOSE_IN_ANY_CASE()
      but no success.
    Please guide me if anything more needs to be done for closing the opened window.
    Thank you.
    Sud.

    Thank you Thomas,
    You correctly pointed out, I was trying to close the external window from my source window.
    More precisely, I have a WD application which has a button (Search) on one of its views. On click of 'Search' button, I open a new window using 'CREATE_EXTERNAL_WINDOW' passing the URL 'www.google.com'.
    Till this point its fine, but now I want to close this newly opened window. As you said now these are 2 different sessions and cannot communicate anymore, so any guidance how to close this new window?.
    OR
    Is this the only way to call an URL i.e using CREATE_EXTERNAL_WINDOW? Is there any other way to call an URL without closing my current running WD application?
    Request your  help......
    Thanks.
    Regards,
    Sud....

  • Closing an external window

    Hello,
    I would like to close an external window dynamically by calling the method
    lr_myextwin->close( ) when some event occurs.
    This does not seem to work since the opened external window is still open...
    Ofcourse it is possible to manally close the external window, but I would like it to happen dynamically.
    Can any brief me in, if it possible.
    Cheers,
    Gerald

    Hi Jagruti,
       Its possible to close the external window dynamically.What you have to do is , while creating the external window instance, save the instance in the component controller as an attribute .
    Which means create an attribute in the component controller of type IF_WD_WINDOW ( In this case i have created LO_POP_UP ).
      l_cmp_api = wd_comp_controller->wd_get_api( ).
      l_window_manager = l_cmp_api->get_window_manager( ).
       CALL METHOD L_WINDOW_MANAGER->CREATE_WINDOW
         EXPORTING
          MODAL                = ABAP_TRUE
           WINDOW_NAME          = <WINDOWNAME>
          TITLE                =
          CLOSE_BUTTON         = ABAP_TRUE
          BUTTON_KIND          =
          MESSAGE_TYPE         = IF_WD_WINDOW=>CO_MSG_TYPE_NONE
          CLOSE_IN_ANY_CASE    = ABAP_TRUE
          MESSAGE_DISPLAY_MODE =
          DEFAULT_BUTTON       =
         RECEIVING
           WINDOW               = l_final_window
    When you get the instance of the window.Save it in the component controller attribute.
    wd_comp_controller->LO_POP_UP = L_FINAL_WINDOW.
    CALL METHOD L_FINAL_WINDOW->OPEN
    At later point of time , you could get this instance from compenent controller and you can call that in your method whenever and whereever necessary , so that you could close the window in a smooth fashion.
    mywindow = wd_compcontroller->LO_POP_UP
    mywindow.close().
    Thanks
    Anzy.
    mark this thread as closed if this solves your problem.

  • Webdynpro application can't display a URL iView in a new External window

    Fellow developer:
    In my WD4A application, I called the method 'navigate_absolute' to display a URL iView in a new External window.
    The code is as follows:
    data lo_portal_manager type ref to if_wd_portal_integration.
    call method lo_portal_manager->navigate_absolute
    exporting
      navigation_target = 'ROLES://u2026'
      navigation_mode = '1'.            ('0' - Displayed in the Same Window, " '1' - Displayed in a new External Window)
    The application can display the iView in the same Window (navigation_mode = '0'), but cannot in a new External window (navigation_mode = '1').
    In the iView properties, the following attributes are set to:
    1. Launch in New Window - Dipslay in Separate Window
    2. Open iView Links in New Window - Yes
    If you know the answer, please advise.
    Thanks
    Bac Quan

    hi,
    i have the same problem. Did you solve it?. Please let me know...
    regards,
    MC

  • Error while opening the external window

    Hi
    I am trying to open an external window on click of a button.
    This is the piece of code I have written
    url = "http://www.google.com";
    url = java.net.URLEncoder.encode( url ) ;
    String title="External Window";
    //IWDWindow win=wdComponentAPI.getWindowManager().createExternalWindow(url,title ,false);
    IWDWindow win=wdComponentAPI.getWindowManager().createNonModalExternalWindow(url,title );
    win.show();
    //win.open();
    I have tried both show() and open() method. and also createExtrenalWindow and CreateNonModalExtrenalWidnow. But I am getting the follwing error.
    Application error occurred during request processing.
      Details:   com.sap.tc.webdynpro.services.sal.core.DispatcherException: The requested deployable object 'dc.gs.com/osrch' and application 'http:' are not deployed on the server. Please check the used URL for typos.
    Exception id: [0017087D8739002C0000025600001B9C00045A7873FC3E52]
    This is the URL it got in the external new window..
    http://<host>:50000/webdynpro/dispatcher/dc.gs.com/osrch/http%3A%2F%2Fwww.google.com
    I know the www.google.com is concatenating with portal URL , hence it is throwing the error.
    How to get rid of the portal path
    thanks
    PK

    hi,
    You can try the following code:
    IWDWindowInfo info = wdComponentAPI.getComponentInfo().findInWindows("PopUpWindow");
        IWDWindow window = wdComponentAPI.getWindowManager().createWindow(info , true);
        window.setWindowPosition(WDWindowPos.CENTER);
        wdContext.currentContextElement().setVa_win(window);
        window.open();
    This works fine.
    Thanx.

  • Invalid URL Exception while opening a file using external window in webdynp

    I am trying open an URL ythru external window on click of button in my webdynpro.
    This is the URl I am trying to open
    File://mww/Documents/Attachments/2008/10/56254/{FD803B0D-157F-47F9-A5A8-C687E1DC6B96}_break.JPG
    if I try to open from a from the browser it works fine but thru webdynpro it is throwing the error.
    mww is another system where the file is residing.
    But I am using the same techniue in other component where I am able to open file from an external window.
    File://mww/Documents/Attachments/2008/10/56254/some.jpg
    The only difference in  the URL is {FD803B0D-157F-47F9-A5A8-C687E1DC6B96}Since this URL is generated by another system I do not have any other aletrnative but I have live with this URL.
    can some body please give some idea how to fix this
    if I use java.net.URLEncoder.encode() then I am not getting any error , buit file is not opening in the browser( external window)
    below is the error stack I am getting.  
    com.sap.tc.webdynpro.services.exceptions.InvalidUrlRuntimeException: Invalid URL=File://mww/Documents/Attachments/2008/10/56254/{FD803B0D-157F-47F9-A5A8-C687E1DC6B96}_break.JPG
    at com.sap.tc.webdynpro.serverimpl.core.url.AbstractURLGenerator.checkURL(AbstractURLGenerator.java:699)
    at com.sap.tc.webdynpro.services.sal.url.core.URLGeneratorInternal.checkURL(URLGeneratorInternal.java:390)
    at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.createNonModalExternalWindow(ClientComponent.java:1037)
    at com.gis.dcww.findsrch.AttachmentView.onActionOpen_Attachement(AttachmentView.java:179)
    at com.gis.dcww.findsrch.wdp.InternalAttachmentView.wdInvokeEventHandler(InternalAttachmentView.java:203)
    at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87)
    at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67)
    at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doHandleActionEvent(WindowPhaseModel.java:420)
    at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:132)
    at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)
    at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)
    at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:321)
    at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:713)
    at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:666)
    at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:250)
    at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149)
    at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
    at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
    at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
    at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
    at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
    at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
    at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
    at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)
    thanks
    PK

    Hi Armin, Josue
    Thanks for the reply
    Please note I am able to open an external window( browser ) thru my code with "File" protocol.
    I have no issue opening an external window or using File protocol.
    I am able to open an image/doc with a normal URL as follows
    File://mww/documents/image.jpg
    or
    File://mww/document/temp.csv
    But My URL has some system( thru Other applications ) generated charaters in it , I need get the path from DB( which I have done ) and pass this URL to the ExternalNonModalWindow as paramter.
    MY code is opening successfully the external  window for any URL .
    but for URL which has these character { }  is throwing the invalid URL error 
    for the below URL, I am getting the error
    File://mww/Documents/Attachments/2008/10/56254/{FD803B0D-157F-47F9-A5A8-C687E1DC6B96}_break.JPG
    thanks
    PK
    because of the flower bracket it is throwing the error.
    thansk
    PK

  • Create External Window in Webdynpro for Abap

    I am creating an external window using method CREATE_EXTERNAL_WINDOW.  The componentcontroller context and the assistance class attributes are not available in the Handledefault method of the external window.    Is there a way to pass data to the external window without using URL parameters?
    Thanks
    Cindy

    >@Thomas: with all your wonderful eLearnings on WDA is there one which covers this in any depth? As it would be nice to point people to it.
    No I can't say that I have ever created something specifically on this.  The ACFUpDownload example is closest simply because I use the cache table is a similiar way, althought I hesitate to recommend that eLearning in this situation becuase that aspect isn't central to the eLearning and it might just confuse things further.
    >don't forget about the possibility of database persistence of the data either -
    That was actually what I was talking about in server cookies as well. Server cookies are something that was originally created for BSP, but work fine in WDA as well.  They are just a cluster table where you can store any data you want and access in another session via a key. The nice thing about server cookies is that there is already a help class for read/write and batch job that can be scheduled to clear out expired entries.
    http://help.sap.com/saphelp_nw70ehp1/helpdata/en/2a/31b97b35a111d5992100508b6b8b11/frameset.htm

  • Create external window in Web Dynpro Java

    Hello experts,
    I am new in web dypro java as well as enterprise portal. I have a problem concerning external window.
    I have created a button in my ivew in web dynpro java. By a click on this button, I would like to open an external window with a specified URL(ex: www.google.com).
    Could you help me how to do it please?
    Thanks in advance,
    Sengly

    Hi experts,
    I have found the solution. Thanks to this link and thanks to all:
    [Problem with linkToURL in a table column|Problem with LinkToURL in a table column;
    best,
    Sengly

Maybe you are looking for