Navigation between two webdynpro applications

Hi Colleagues,
Please let me know some workaround for the below requirement
here i have two webdynpro application, where i have to call the second application from a button of first application by passing a parameter
please let me know hoe to proceed here
i have some information attached below....Is it the right way to do it? or am i missing somethinng here
String deployableObjectName =  wdComponentAPI.getDeployableObjectPart().getDeployableObjectName();
  Map urlParameters = new HashMap();
  try {
      urlParameters.put("A",CVNR);
WDDeployableObjectPart deployableObjectPart =WDDeployableObject.getDeployableObjectPart(
"a1s~cc~checkprerequisites","Preq",WDDeployableObjectPartType.APPLICATION);
String urlToTargetApp =WDURLGenerator.getApplicationURL(deployableObjectPart, urlParameters);
  IWDWindow window = wdComponentAPI.getWindowManager().createNonModalExternalWindow(urlToTargetApp);
window.show();
catch (WDURLException e) {
            wdComponentAPI.getMessageManager().reportException(e.getLocalizedMessage(), false);
            } catch (WDDeploymentException ex) {
                 wdComponentAPI.getMessageManager().reportException(ex.getLocalizedMessage(), false);
Thanks & Regards
Swetha

Hi Swetha,
Please try this code in the application which is now launched from the 1st application. You can write this code in the wdDoinit() method OR the firstTime loop of the wdDoModify function:
String applicationParam = WDWebContextAdapter.getWebContextAdapter().getRequestParameter("A");
Here "A" is the name of the attribute in which you are setting the parameter value CVNR.
You will get the URL parameter you have passed to this application from the first application. I hope this solves your problem, if yu have any issues please contact back.
Thanks and Regards,
Pravesh

Similar Messages

  • Hide values in URL, passing data between two webdynpro(ABAP) applications.

    Hi
       When transferring the data between two webdynpro applications,  How to hide the values in URL.
    Example : First application is using for login
                    Second application is for some transactional screens.
    Based on first application login data second application should trigger. When passing the user id and password thru URL every one can see the user name and password at internet explorer, so how to hide that user name and password in URL.
    Thanks
    Murali Papana.

    Hi Lekha,
        Thanks for your reply, but I could not find parameter like visibility, andi found HAS_TOOLBAR but no use.
    I set it like
    CALL METHOD lo_window_manager->CREATE_EXTERNAL_WINDOW
      EXPORTING
        URL            = 'http://*****:8000/sap/bc/webdynpro/sap/Y1app1/?sap-language=EN&sap-client=200&sap-user=1104&sap-password=abcd'
        MODAL          = ABAP_FALSE
        HAS_MENUBAR    = ABAP_TRUE
        IS_RESIZABLE   = ABAP_TRUE
        HAS_SCROLLBARS = ABAP_TRUE
        HAS_STATUSBAR  = ABAP_TRUE
        HAS_TOOLBAR    = ABAP_FALSE
        HAS_LOCATION   = ABAP_TRUE
      RECEIVING
        WINDOW         = lo_window.
    Thanks
    Murali Papana.

  • Error on page when navigating with in webdynpro applications

    Hi All,
    I have developed 5 different webdynpro applications. I need to navigate between these webdynpro applications. I am handling the navigation with in the webdynpro applications.
    The problem is after some time ( after navigating to the second or third level) when I try to click on the tabs(top level navigation), the JAVA SCRIPT ERROR is coming.
    And any other tabs are not coming.
    ERROR is: 'Error on page'
    ERROR Description is:'Problems with the web page might prevent it from being displayed properly or functioned properly'
    Any suggestions are appreciated.
    Thanks & Regards,
    Seshu

    Hi !,
    Please can you tell me what to do if you DO NOT want to destroy the source application when navigating away from it?
    For example...  Webdynpro App #1 calls Webdynpro App #2,
    Webdynpro App #1 will always stay visible and available to the user in there toolbar in the portal.  However after I click "Go" to trigger the navigation to Webdynpro App #2, then the next time I hit "Go", Webdynpro Application was destroyed out of memory I believe.

  • How to define the dynamic navigation between two component in web ui

    Hi All,
    I have a requirement to create a new assignment block in accounts overview screen .
    1.Created new view(Table view) in the BP_HEAD component.
    2.Created new button on the table view toolbar .
    3.If the user clicks the new button it should navigate to interaction log component(BT126H_CALL).
    Please hekp me step 3 how to do .
    I have checked planned activity assignment block in the account but is dynamic navigation.
    Please explain me how to define the dynamic navigation between two components.
    What is window delegate .
    Thanks,
    Venkyy

    Hi ,
    Kindly follow the link , this will be helpful for your issue :
    http://wiki.sdn.sap.com/wiki/display/CRM/CRM-NavigatingtoyourcustomBSP+component

  • Carrying data between two webdynpro programs.

    Dear Experts,
    Consider the scenario and please give the solution.
    I waant to design a re-imbersment form, in ESS, where a employee submits a claim form, after which a workflow is triggerred in RFC givin mail to the approver. Then the approver logs in with his id in the ESS. He gets the same screen but without some buttons and  with some buttons to approve the request.
    My question is how to trigger this eventing. How to pass data between these two webdynpro programs written for employee and the approver, and howw to trigger the event as whent the employee submits the form only after that the screen is visible to the approver.

    Hi Vineet,
    Here is what I will do for this problem:
    1) There will be only one application for employee and approver. Based on the role, we can hide/show the relevant buttons to both of them.
    2) I am not sure if you are using CAF Layer. If you are using you can use the Local Persistancy feature to store the data temporarily there and only after approval the data gets posted into SAP.
    However, if you are not using the CAF Layer, I suppose you will have to create some temporary tables to store the data once the employee submits the application. This should also generate some unique request ID.
    3) Once the employee submits the application, you need to configure to send the alert to the approver via mail or in SAP UWL. The mail and UWL should contain link to the same application with the some unique request ID. When you read the tables second time with the request ID and the role approver you should show the user approval buttons.
    Thats what I can think of at a very high level.
    Regards,
    Shubham

  • Drag between two flex applications?

    Hi,
    In the project I'm working on I display tree which the user can manipulate by dragging and dropping. So far I have a tree in a flex application, and I've implemented dragging and dropping. I'd like the user to be able to drag from one tree to another, but as my flex application will interact with my HTML pages, I don't want to waste space by having room for the second tree all the time.
    The flex application is embedded on a HTML page, and I'd like to be able to have two instances of my flex application and have the user able to drag between them. Is this possible? I did wonder if it would be possible to implement something like this using a javascript callback, but is there a standard way of doing this?
    Thanks,
    Jonny

    Hi Jonny,
    I've also faced with problem of draging between two applications.
    It's possible to transmit data between these applications, but it's only a half of the task.
    The main problem it to handle mouse release error on second application.
    There is no problem to handle that user drag object and move it out of the component - it's ok.
    After that we should handle the position of droping this object.
    Also it's no problem to handle that mouse is on over component and left button is pushed (at this handle create imitation of starting draging). But it's impossible to handle first mouseUp event. This event don't visible in html (object don't rise mouseUp event) and don't handle in flex. I'm still try to understand the way to get round.
    The only way I've founded is to hide flash object on mouseOver event and show an image instead of it until mouseUp event raised. After that show flash and calculate the position of draging. But's if you use tree it's not a good way.

  • Drag and Drop between two java applications

    Hi,
    I am trying to implement drag and drop between two instances of our java application. When i drop the content on the target, the data flavors are transmitted properly, but i get the exception :
    java.awt.dnd.InvalidDnDOperationException: No drop current
         at sun.awt.dnd.SunDropTargetContextPeer.getTransferData(SunDropTargetContextPeer.java:201)
         at sun.awt.datatransfer.TransferableProxy.getTransferData(TransferableProxy.java:45)
         at java.awt.dnd.DropTargetContext$TransferableProxy.getTransferData(DropTargetContext.java:359)
         at com.ditechcom.consulbeans.TDNDTree.drop(TDNDTree.java:163)
         at java.awt.dnd.DropTarget.drop(DropTarget.java:404)
         at sun.awt.dnd.SunDropTargetContextPeer.processDropMessage(SunDropTargetContextPeer.java:547)
    How can i fix this ?
    Thanks a lot,
    Karthik

    Play with this;-import java.awt.*;
    import java.awt.datatransfer.*;
    import java.awt.dnd.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.io.*;
    // Credit to bbritna who I stole it from in the 'New To ..' Forum
    public class DragComps implements DragGestureListener, DragSourceListener,
                                         DropTargetListener, Transferable{
        static final DataFlavor[] supportedFlavors = { null };
        static{
              try {
                  supportedFlavors[0] = new DataFlavor(DataFlavor.javaJVMLocalObjectMimeType);
              catch (Exception ex) { ex.printStackTrace(); }
        Object object;
        // Transferable methods.
        public Object getTransferData(DataFlavor flavor) {
               if (flavor.isMimeTypeEqual(DataFlavor.javaJVMLocalObjectMimeType))
             return object;
               else return null;
        public DataFlavor[] getTransferDataFlavors() {
               return supportedFlavors;
        public boolean isDataFlavorSupported(DataFlavor flavor) {
               return flavor.isMimeTypeEqual(DataFlavor.javaJVMLocalObjectMimeType);
        // DragGestureListener method.
        public void dragGestureRecognized(DragGestureEvent ev)    {
               ev.startDrag(null, this, this);
        // DragSourceListener methods.
        public void dragDropEnd(DragSourceDropEvent ev) { }
        public void dragEnter(DragSourceDragEvent ev)   { }
        public void dragExit(DragSourceEvent ev)        { }
        public void dragOver(DragSourceDragEvent ev) {
               object = ev.getSource(); }
        public void dropActionChanged(DragSourceDragEvent ev) { }
        // DropTargetListener methods.
        public void dragEnter(DropTargetDragEvent ev) { }
        public void dragExit(DropTargetEvent ev)      { }
        public void dragOver(DropTargetDragEvent ev)  {
               dropTargetDrag(ev); }
        public void dropActionChanged(DropTargetDragEvent ev) {
           dropTargetDrag(ev); }
        void dropTargetDrag(DropTargetDragEvent ev) {
               ev.acceptDrag(ev.getDropAction()); }
        public void drop(DropTargetDropEvent ev)    {
               ev.acceptDrop(ev.getDropAction());
                   try {
                       Object target = ev.getSource();
                      Object source = ev.getTransferable().getTransferData(supportedFlavors[0]);
                       Component component = ((DragSourceContext) source).getComponent();
                       Container oldContainer = component.getParent();
                       Container container = (Container) ((DropTarget) target).getComponent();
                       container.add(component);
                       oldContainer.validate();
                       oldContainer.repaint();
                       container.validate();
                       container.repaint();
                   catch (Exception ex) { ex.printStackTrace(); }
                   ev.dropComplete(true);
        public static void main(String[] arg)    {
              JButton button = new JButton("Drag this button");
              JLabel label = new JLabel("Drag this label");
              JCheckBox checkbox = new JCheckBox("Drag this check box");
              JFrame source = new JFrame("Source Frame");
              Container source_content = source.getContentPane();
              source.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              source_content.setLayout(new FlowLayout());
              source_content.add(button);
              source_content.add(label);
              JFrame target = new JFrame("Target Frame");
              Container target_content = target.getContentPane();
              target.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              target_content.setLayout(new FlowLayout());
              target_content.add(checkbox);
              DragComps dndListener = new DragComps();
              DragSource dragSource = new DragSource();
              DropTarget dropTarget1 = new DropTarget(source_content,
              DnDConstants.ACTION_MOVE, dndListener);
              DropTarget dropTarget2 = new DropTarget(target_content,
              DnDConstants.ACTION_MOVE, dndListener);
              DragGestureRecognizer dragRecognizer1 =
              dragSource.createDefaultDragGestureRecognizer(button,
              DnDConstants.ACTION_MOVE, dndListener);
              DragGestureRecognizer dragRecognizer2 =
              dragSource.createDefaultDragGestureRecognizer(label,
              DnDConstants.ACTION_MOVE, dndListener);
              DragGestureRecognizer dragRecognizer3 =
              dragSource.createDefaultDragGestureRecognizer(checkbox,
              DnDConstants.ACTION_MOVE, dndListener);
              source.setBounds(0, 200, 200, 200);
              target.setBounds(220, 200, 200, 200);
              source.show();
              target.show();
    }[/code                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • How change information between two Web Applications?

    Hi,
    Has anyone any code sample or article how to build
    a "bridge" that would change data stored into session and servletcontext
    between two separete web application in same servlet engine?
    What I have understood is that they can not normally share same
    session or servletcontext data...
    Thanks,

    Hmm...
    Text in this Sun's tutorial says:
    "This lesson, however, shows you what to do if your servlet requires a resource available from its own server"
    The actual problem is following:
    - In Web Application 1 servlets/jsps stores data into session object and servletcontext
    - then user can request a page in Web Application 1 which should "activate/launch" Web Appilication 2 and
    pass some session objects or objects stored into servletcontext from Web Application 1 to Web Application 2.
    How to do this, it's the problem.

  • Navigation between  two applications under a single webdynpro project

    Hi All,
    Here i needs to work with a webdynpro project which has two application which needs navigation one view form the first application to one view in the next application. I have already tried with "EXIT URL" concept and its working fine. Is there any alternative way to accomplish that task. I am looking for valuable reply from you.
    Regards
    Ravi

    Hi Ravi..
    Try this link..
    <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sapportals.km.docs/library/webdynpro/wd%20java/wd%20tutorials/inter-application-navigation%20in%20web%20dynpro.pdf">Application Navigation</a>
    Urs GS

  • FPM : Navigation Between two Application

    Hi All,
    I am developing an FPM application where, i need to navigate my control to another FPM application.
    I have created navigation using Launchpad (LPD_CUST), it is perfectly working fine while testing but when we attached these component on portal Navigation is not working instead it is giving error "
    Page not found. Refresh the page or try again later. If the problem persists, contact your Portal administrator for assistance.
    Please guide me on this.
    Thanks In Advance.
    P$G.

    Hi,
    Refer this link -
    https://wiki.sdn.sap.com/wiki/display/WDABAP/ExampleforpassingvaluesfromoneApplicationtoanotherApplicationinWebDynproABAP.
    Regards,
    Lekha.

  • Stopping Navigation Between two items

    Dear All,
    i have two items in JSF Page and first contains contains validation (with auto submit),
    if i am trying to navigate from first two second with false data , first item will be read , but navigation still going second one, i need to stop this navigation.
    Please Advise

    I believe that in general you should not design web application like that.
    In general you cannot prevent user to navigate away from web pages and components.
    He can allways close explorer or type a diferent url.
    For specific cases though you can do it by java scripts and there is an example at Andrejus blog:
    [http://andrejusb.blogspot.com/2008/04/adf-faces-rich-client-complex.html]
    Yet this would require a lot of effort to do it in all validations.

  • Interaction between two web applications

    Hi All,
    I have an issue regarding 2 web projects.
    I have
    web application-----------related context path
    project1 ----------path1
    project2 ------------path2
    Scenario:
    Step1)
    I have logged in project1 with the foll url:
    http://localhost:8080/path1/index.jsp
    Step2);
    In index.jsp i have a button to navigate to
    http://localhost:8080/path2/page1.jsp
    Issue:
    Here is the issue.I have set one session attribute set in step1 and i need to acces it in step2.Im getting the attribute as null in step2.
    Can any one please let me know wht and where the issue is and the solution for it.
    Please help me out.
    Thanks in advance
    cheers,
    Shorath

    The fundamental problem is that web apps basically have no knowledge of each other. So if you're deploying to seperate WAR files, they're pretty much independent of each other and, specifically, can not share session data at all.
    If you want to share data between webapps, you need to use something outside the container (like a database), or you can play games with class loaders, and static class elements, making sure that your common classes are loaded outside of the webapps themselves.
    For example, in Tomcat, the shared and common directories hold classes that are loaded by the container directly and presented to your webapps.
    If you have a class with static members loaded from the common or shared directory, then both webapps will see the same instances of that class, and can share information that way. However, these classes will not be reloaded if you reload the webapps, only if you restart the container.
    The other problem, of course, is that these classes are agnostic of the session, so you'll need to implement your own session management if the data is unique to the users of your application. Kind of a catch-22.

  • How to Pass values between one webdynpro application to another

    Hi ,
        I know How to Pass Values Between the Application by URL But For My Requirement NO need The Pass in URL Rather Than That Please any one TEll me How to GEt VAlues BEtween the application......
    Thanks
    ANANTH.

    If you dont want to pass values through URL, then you must have to use component Usage with interface node.
    Or you can try like this,
    by appending field value to url,
    Data w_url type string,
    w_value type string.
    get the url of calling aplication
    call method cl_Wd_utilities->construct_wd_url
    exporting application name = name of second application( to which u want to pass parameter )
    importing out_absolute_url = w_url.
    ***Make the value type compatible that has to passed with url.
    w_string = lv_pernr
    ***Now attach the parameter and its value with url that have to passed to 2nd application
    call method cl_http_Server=>append_field_url
    exporting name = 'pernr'
    value = ' w_value'
    changing url = w_url.
    then popup window for 2nd application with above url
    lo_window = lo_window_manager->create_external_application ( url = w_url ).
    lo_window -> open( ).
    ***now in wddoinit of 2nd application
    data lv_param type string
    lv_param = wdr_task=>client_window->get_parameter( ' pernr ').
    Now you can use lv_param in 2nd application.
    Regards
    srinivas

  • Communicate between two (same) Applications

    Hi there,
    I've written a server application in java.
    This Server is always running in the background.
    For restart/shutdown or similar purpose I want to communicate with this application.
    Is ist possible to start the same application with a args-flag that causes the running server to shutdown.
    I know it's easy possible by doing this via the socket connection.
    Because of security-reasons I want to avoid this. To limit this to the localhost is to insecure.
    Any ideas?

    Ok, I will explain it in detail.
    I don't want to open a new Port for this,
    so it is possible to use the existing open port.
    The idea to limit control sequences to localhost can made by Socket.getInetAdress() (maybe insecure (fake IP)) for the existing port or via Konstruktor of ServerSocket for a new port
    The point is:
    I dont't want to grant access to other users on this machine!
    And I don't want to limit a port for localhost from the system-enviroment via root-possibilities.
    If there is no other possibility, I think I try to use a new Port for this. I just wanted to know if this is the only possibility or are there other easier ways.
    Thanx for helping
    thosta

  • How to exchange data between two web application (servlet)

    Hello, all,
    I have two servlets: SerlvetA and ServletB, they are deployed as web appA and appB in the same web container(tomcat)
    How ServletA exchange data with ServletB?
    I have tried follow methods:
    1) appA and appB could not share HttpSession, so I could not transfer data through session
    2) I write a new sigleton java class called AppBroker, servletA get AppBroker's instance, and set some data into the it. ServletB could not get the same instance of the AppBroker, because the appA and appB use different class loader.
    tell me how to?

    thanks reply, but
    1. static class can not solve the problem, it is same
    as my sigleton class method, as different web app use
    different class loaderhmm... at least in tomcat this seems not be true since i can use static classes in one webapp that are available in another web app on the same host/servlet runner.
    Maybe if you build your own classloader than the "scope" of the static class is limited to that classloader (for my understanding this shouldn't be the case since i think it depends on the instance of the jvm and not of the classloader..?!).
    2. rmi and object serialization are too expensive!
    I am working on how to use jndi to solve this problem.
    And I think this maybe a Sevlet specification's
    shortcoming: maybe a Local Method as EJB local
    interface need been introduced into servlet spec.
    could you suggestion other methods?none at the moment. i guess the basic methods are listed.
    Maybe there's just one left, a really ugly one. Depending on what kind of data and how often you have to exchange you could think of building a file-based queue, i.e. a dir where you drop files in an read out from the other web app (maybe based on a file/directory listener). But this would only be an appropriate way to go for kind of email and messaging systems i guess...

Maybe you are looking for

  • Connect apple tv using an optical audio converter

    I want to connect my apple tv to my sound board. The projector has an HDMI input but I need a way to get the optical audio to my sound board which consists of XLR and 1/4" jacks. Does anyone know of a converter that will help me do this for a rather

  • List of PO changes

    Hi, Is there any report to display list of PO changes? I know we can trace changes from CDPOS table, but my end users dont have access to SE16 tcode. I need a report so that they can use when ever they want. Thanks shyam

  • Profile for POS inbound

    Hi folks, ma client want to use a Profile for POS inbound but without site data. How i can use the profile in this case? Thanks for help. Best regards Michael

  • IPhoto crashes when I try to import from desktop

    I never had a problem with this until a few weeks ago. I installed software for my new camera -- might this have something to do with it? Anyway, I frequently save photos to my desktop and then import them into iPhoto, but the application always shut

  • We21 XML File Port definition

    Hi All, I want to define a port of type XML File in we21 of my R/3 system. Can I make it point to a non-local directory? (i.e. a directory that resides on a system on the network). I tried to assign a Logical Directory in we21.I assigned an existing