How to return from WEBGUI to WDA?

Dear Experts,
i am in a tricky situation, and I hope you can help me with some wise advise. I have read dozens of threads, but still haven't found the absolute satisfying answer.
The requirements:
I am looking for a solution to call a SAP GUI Transaction (take SE11 as an example!)  from WD abap program, and when SE11 is done than continue with WD.
This would be very good if the SE11 transaction would not open ina  new browser, but the same as the one is used by WDA.
What I have until now:
First I have found a solutin with iViews: Re: Calling a transaction code , but we do not have Portal, so it is not an option unfortunately
Than found ITS WEBGUI : Re: To call standard tcode in webdynpro( thru webgui) : Assistance class This is good, but this solution calls Transaction in a separete new window.
So, I wanted to use suspend and resueme plugs to WEBGUI: http://help.sap.com/saphelp_nw70ehp1/helpdata/en/45/19bf8c16f25d7ae10000000a11466f/content.htm But as it is said there:
"It is more difficult to create a suspend call to a non-WDA application because modifications are also required in the secondary application."
So my questions are:
Is there any way to return/redirect from WEBGUI to the WD application from which it was called before? If yes, how?
Is there any better way (even if it is a tricky one) to fulfill the requirements above under the given circumstances?
Your help is very-very welcome and appreciated so much!
Thanks,
Gyula

Anu,
Please provide the basics about your environment like jdev version you are using...
Your jspx page home.jspx contains the task flow as region?
Or do you navigate from the jspx page to an other page?
Timo

Similar Messages

  • How to Return From Call to Stored Procedure

    I created an SQL Query Report portlet which contains a Delete
    link next to each record. If the user clicks on the link, it
    calls a JavaScript function which confirms the Delete and then
    calls a stored procedure which deletes the record. After the
    record is deleted, I get a page with,
    "No data returned from stored procedure
    The PL/SQL gateway invoked a stored procedure as part of
    processing the URL but the procedure returned no data."
    How can I get rid of this page and just return to the page that
    contains my report portlet after the stored procedure executes?
    Fran

    Hi Michael,
    I tried the following at the end of my procedure, but I still
    got the error page instead of the page containing the report
    portlet:
    --- return to calling page
    owa_util.redirect_url('http://pmim1a:7778/servlet/page?
    pageid=55&dad=portal30&_schema=PORTAL30');
    Fran

  • OBIEE 11g - How to return from analysis in correct order

    I have a problem when using the return link in the bottom of analysis. I doesn't always return to the previous analysis.
    I have a dashboard (Dashboard 1) containing a dashbnoard prompt and an analysis (Analysis 1). I have also two other analysis Analysis 2 and Analysis 3. I have put a "Navigate to BI Content" Action Link on one of the columns in Analysis 1, which navigates to Analysis 2. And in Analysis 2, I have put the same kind of action link on one of the columns, from where I navigate to Analysis 3. I.e. the navigation route is: Dashboard 1 => Analysis 2 => Analysis 3.
    When I navigate from Dashboard 1 to Analysis 2, I have a Return link in the bottom of the analysis. When I click this, I will be send back to Dashboard 1. This works perfectly.
    But when I navigate further from Analysis 2 to Analysis 3 and then click the Return link in the bottom of Analysis 3, I will be send strait back to Dashboard 1. I would have expected to be send back to Analysis 2, which is were I was before Analysis 3, and not to the beginning of by navigation route.
    Is there a way to ensure that the return links only takes one step back in the navigation route instead of going back to the origin?
    Best regards,
    Henning Eriksen

    Hi Dhar,
    That is a very valid point (and I am in 11.1.1.7), but when I click the breadcrumb link for the previous analysis it looks like the previous analysis is regenerated but this time without any criteria. As a matter of fact, I don't get an answer back from the database because of the amount of data. So the breadcrumbs doesn't seem to work properly either. And the browser BACK buttom doesn't work, since that also sends me back to the original dashboard, but this time the prompts will be reset, which is even worse.
    Thanks,
    Henning

  • How to return from Firefox 5 to Firefox 4

    I just upgraded to Firefox 5 and found that it does not support the Google toolbar, which I need. Until Firefox 5 supports this toolbar, I want to return to the previous release of Firefox. How do I do this?

    The GTB '''7.1.20110512W''' version works in Firefox 5.0 by using the Compatibility Reporter extension, I tried it myself due to the large number of postings about the GTB this morning. <br />
    https://addons.mozilla.org/en-US/firefox/addon/add-on-compatibility-reporter/

  • How to return from Child Page to Immediate Parent Page

    Hi All,
    I have created a custom OAF page and linked the same with 3 standard OAF pages(Lets say Standard-Page1, Standard-Page2, Standard-Page3) in such a way that whenever I click the GO button in any of those standard pages it navigates to my custom page.
    As of now when I click the BACK button in the custom page it navigates back to Standard-page1(Because i have given the page1 Path in the pageContext.ForwardImmediately) only even though if I would have opened my custom page from standard-Page2 or 3.
    I need to understand what should I do to navigate back to the exact standard page from which the custom page has been opened.
    Any help on this would be greatly appreciated.
    Many thanks in advance!
    Kind Regards,
    Myvizhi

    Hi Sumit,
    Thanks for your kind reply. I tried another way because we will not have that Standard AM in the Custom Page. The other way is like, getting the standard page URL into a variable and passing it as a session value and getting that session value into a variable in the Custom Page. Then passing that variable in the place of URL in the following way:
    In the Standard Page passing URL variable into a session value:
    String s4 = pageContext.getCurrentUrlForRedirect();
    pageContext.putSessionValue("*previousPageUrlForList*", s4);
    In the Custom Page getting session value into a variable and using :
    String valuefromsession =(String)pageContext.getSessionValue("*previousPageUrlForList*");
    pageContext.forwardImmediately(
    valuefromsession,
    null,OAWebBeanConstants.KEEP_MENU_CONTEXT,
    null,
    null,
    true, // retain AM
    OAWebBeanConstants.ADD_BREAD_CRUMB_NO);
    Kind Regards,
    Myvizhi

  • How to return from HTML to standard

    I have clicked out of curiosity the HTML mode which is for slower internet connection. Although to terurn to the normal standard mode seems to be for me impossible. In which screen can I return to the standard mode?

    That's a preference that can be selected at the bottom of your Gmail page after you are logged in to your Gmail account.

  • Oracle forms 9i - How to return back from a block?

    Some one please help me
    In a trigger, I have a code says go_block. How to return from the block and back to the trigger to continue executing the codes below the go_block statement? Please see example below, I want to come back from block CHECK_STUFF and continue execute the statements
    :Name.option := '1';
    if :name.option = '1' then
    Example:
    Block: Name
    Item: yes_no - Key-next-item trigger
    declare
    begin
    go_block('check_stuff');
    go_item('answer');
    :Name.option := '1';
    if :name.option = '1' then
    Thanks - Patty

    The code behind the GO_BLOCK is executed immediately after the GO_BLOCK, it doesn't stop at that point. So you have to split your code, like
    declare
    begin
    go_block('check_stuff');Then, create a procedure like
    PROCEDURE PR_RETURN_FROM_BLOCK IS
    BEGIN
    go_item('answer');
    :Name.option := '1';
    if :name.option = '1' then
    END;Then, when returning from the block (in whatever trigger you use), just call that procedure.

  • Returning from a JSF flow with faces-redirect

    I'm using Glassfish 4.1 with JSF 2.2.9. I can't figure out how to return from a JSF flow with a redirect. I've tried this in the flow definition xml:
    <flow-return id="returnFromFlow">
        <from-outcome>/index.xhtml?faces-redirect=true</from-outcome>
    </flow-return>
    This does the redirect but results in navigation errors on the page, specifically the button that enters the flow again: "Unable to find matching navigation case from view ID '/index.xhtml' for outcome 'select-person'" (the flow is called select-person).
    I've also tried appending faces-redirect=true to the action of the commandButton that exits the flow. Now the flow does not exit, it reloads the current page within the flow and says "Unable to find matching navigation case with from-view-id '/select-person/select-person.xhtml' for action 'returnFromFlow?faces-redirect=true' with outcome 'returnFromFlow?faces-redirect=true'"
    Exiting the flow with h:link works, but I want to be able to call an action and submit form values with the button so that isn't a good workaround for me.
    What's kind of interesting is that navigating between views within the flow DOES work with faces-redirect=true. I can add a "step2" node, and a commandButton with action="step2?faces-redirect=true", and it works. It's just exiting the flow that does not work.
    Any ideas?

    Hi Frank,
    Thanks so much for your response.
    Yes, since the user can do a commit prior to exiting my edit task flow, option 1 will not work for me.
    Option 2 sounded feasible, but jdeveloper would not let me set the restore point to true, since my btf didn't require a transaction. Is there a step I'm missing here??
    The thing that is really getting me when return via the cancel button from this edit task flow, back to my parent task flow, the record pointer is always moving back to the beginning of the data set in my parent task flow. For example,if I have a data set
    rec1, rec2, rec3..
    On my parent taskflow call it browser task flow, I navigate (via the next button) to rec3, and I click edit. At this point, my edit task flow kicks off, and since both task flows share the same data control, the edit task flow rec pointer is the same as the browse one.
    Okay I decide I don't want to change anything in my rec3, so I click cancel.
    At this point, when I return back to the navigator task flow, it points me back to rec1 ..
    HOwever, the savepoint seems to fix this. When I set my cancel return from edit taskflow to savePoint = true, the rec pointer stays in the correct spot. However, I cannot always do this, because the user can make iterative saves in the edit task flow which (based on your previous email) stales out the savepoint id.
    Question, so in this case, how can I make the parent browser task flow call stay on the same record I was just editing, opposed to going back to the beginning of the data set(ie. rec1)??

  • How to Customize the Message "No Row Returned" from a Report

    Hi,
    I've been trying to customize the Message "No Row Returned" from a Report.
    First i followed the instructions in Note:183131.1 -
    How to Customize the Message "No Row Returned" from a Report
    But of course the OWA_UTIL.REDIRECT_URL in this solution did not work (in a portlet) and i found the metalink document 228620.1 which described how to fix it.
    So i followed the "fix" in the document above and now my output is,..
    "Portlet 38,70711 responded with content-type text/plain when the client was requesting content-type text/html"
    So i search in Metalink for the above and come up with,...
    Bug 3548276 PORTLET X,Y RESPONDED WITH CONTENT-TYPE TEXT/PLAIN INSTEAD OF TEXT/HTML
    And i've read it and read it and read it and read it and can't make heads or tails of what it's saying.
    Every "solution" seems to cause another problem that i have to fix. And all i want to do is customize the Message "No Row Returned" from a Report. Please,...does anyone know how to do this?

    My guess is that it only shows the number of rows it has retrieved. I believe the defailt is for it to only retrieve 50 rows and as you page through your report it retrieves more. So this would just tell you how many rows was retireved, but probably not how many rows the report would contain if you pages to the end. Oracle doesn't really have a notion of total number of rows until the whole result set has been materialized.

  • [UIX] How To: Return multiple values from a LOV

    Hi gang
    I've been receiving a number of queries via email on how to return multiple items from a LOV using UIX thanks to earlier posts of mine on OTN. I'm unfortunately aware my previous posts on this are not that clear thanks to the nature of the forums Q&A type approach. So I thought I'd write one clear post, and then direct any queries to it from now on to save me time.
    Following is my solution to this problem. Please note it's just one method of many in skinning a cat. It's my understanding via chatting to Oracle employees that LOVs are to be changed in a future release of JDeveloper to be more like Oracle Forms LOVs, so my skinning skills may be rather bloody & crude very soon (already?).
    I'll base my example on the hr schema supplied with the standard RDBMS install.
    Say we have an UIX input-form screen to modify an employees record. The employees record has a department_id field and a fk to the departments table. Our requirement is to build a LOV for the department_id field such that we can link the employees record to any department_id in the database. In turn we want the department_name shown on the employees input form, so this must be returned via the LOV too.
    To meet this requirement follow these steps:
    1) In your ADF BC model project, create 2 EOs for employees and departments.
    2) Also in your model, create 2 VOs for the same EOs.
    3) Open your employees VO and create a new attribute DepartmentName. Check “selected in query”. In expressions type “(SELECT dept.department_name FROM departments dept WHERE dept.department_id = employees.department_id)”. Check Updateable “always”.
    4) Create a new empty UIX page in your ViewController project called editEmployees.uix.
    5) From the data control palette, drag and drop EmployeesView1 as an input-form. Notice that the new field DepartmentName is also included in the input-form.
    6) As the DepartmentName will be populated either from querying existing employees records, or via the LOV, disable the field as the user should not have the ability to edit it.
    7) Select the DepartmentId field and delete it. In the UI Model window delete the DepartmentId binding.
    8) From the data controls palette, drag and drop the DepartmentId field as a messageLovInput onto your page. Note in your application navigator a new UIX page lovWindow0.uix (or similar) has been created for you.
    9) While the lovWindow0.uix is still in italics (before you save it), rename the file to departmentsLov.uix.
    10) Back in your editEmployees.uix page, your messageLovInput source will look like the following:
    <messageLovInput
        model="${bindings.DepartmentId}"
        id="${bindings.DepartmentId.path}"
        destination="lovWindow0.uix"/>Change it to be:
    <messageLovInput
        model="${bindings.DepartmentId}"
        id="DepartmentId"
        destination="departmentsLov.uix"
        partialRenderMode="multiple"
        partialTargets="_uixState DepartmentName"/>11) Also change your DepartmentName source to look like the following:
    <messageTextInput
        id=”DepartmentName”
        model="${bindings.DepartmentName}"
        columns="10"
        disabled="true"/>12) Open your departmentsLov.uix page.
    13) In the data control palette, drag and drop the DepartmentId field of the DepartmentView1 as a LovTable into the Results area on your page.
    14) Notice in the UI Model window that the 3 binding controls have been created for you, an iterator, a range and a binding for DepartmentId.
    15) Right click on the DepartmentsLovUIModel node in the UI Model window, then create binding, display, and finally attribute. The attribute binding editor will pop up. In the select-an-iterator drop down select the DepartmentsView1Iterator. Now select DepartmentName in the attribute list and then the ok button.
    16) Note in the UI Model you now have a new binding called DCDefaultControl. Select this, and in the property palette change the Id to DepartmentName.
    17) View the LOV page’s source, and change the lovUpdate event as follows:
    <event name="lovSelect">
        <compound>
            <set value="${bindings.DepartmentId.inputValue}" target="${sessionScope}" property="MyAppDepartmentId" />
            <set value="${bindings.DepartmentName.inputValue}" target="${sessionScope}" property="MyAppDepartmentName" />
        </compound>
    </event>18) Return to editEmployees.uix source, and modify the lovUpdate event to look as follows:
    <event name="lovUpdate">
        <compound>
            <set value="${sessionScope.MyAppDepartmentId}" target="${bindings.DepartmentId}" property="inputValue"/>
            <set value="${sessionScope.MyAppDepartmentName}" target="${bindings.DepartmentName}" property="inputValue"/>     
        </compound>
    </event>That’s it. Now when you select a value in your LOV, it will return 2 (multiple!) values.
    A couple things to note:
    1) In the messageLovInput id field we don’t use the “.path” notation. This is mechanism for returning 1 value from the LOV and is useless for us.
    2) Again in the messageLovInput we supply “_uixState” as an entry in the partialTargets.
    3) We are relying on partial-page-refresh functionality to update multiple items on the screen.
    I’m not going to take the time out to explain these 3 points, but it’s worthwhile you learning more about them, especially the last 2, as a separate exercise.
    One other useful thing to do is, in your messageLovInput, include as a last entry in the partialTargets list “MessageBox”. In turn locate the messageBox control on your page (if any), and supply an id=”MessageBox”. This will allow the LOV to place any errors raised in the MessageBox and show them to the user.
    I hope this works for you :)
    Cheers,
    CM.

    Thanks Chris,
    It took me some time to find the information I needed, how to use return multiple values from a LOV popup window, then I found your post and all problems were solved. Its working perfectly, well, almost perfectly.
    Im always fighting with ADF-UIX, it never does the thing that I expect it to do, I guess its because I have a hard time letting go of the total control you have as a developer and let the framework take care of a few things.
    Anyway, I'm using your example to fill 5 fields at once, one of the fields being a messageChoice (a list with countries) with a LOV to a lookup table (id , country).
    I return the countryId from the popup LOV window, that works great, but it doesn't set the correct value in my messageChoice . I think its because its using the CountryId for the listbox index.
    So how can I select the correct value inside my messageChoice? Come to think of it, I dont realy think its LOV related...
    Can someone help me out out here?
    Kind regards
    Ido

  • How to return a single datetime from multiple rows of MAX(value) in DAX

    Hi
    I have a Results table with ResultTime, Balance, Equity which is updated with a new row every 5 minutes. I've used SUMX to find opening and closing balances and it has worked so far.
    Res_OpeningBalance:=SUMX(TOPN(1,Results,Results[ResultTime],1),[Balance])
    Res_ClosingBalance:=SUMX(TOPN(1,Results,Results[ResultTime],0),[Balance])
    But when I tried it with dates, the whole thing fell apart.
    Res_MaxBalance_Date:=SUMX(TOPN(1,Results,Results[Balance],0),[ResultTime])
    Since the highest Balance is likely to be represented through many rows due to it lasting more than 5 minutes, ResultTime (which is unique to each row) is summed up and returns messed up dates well into the future. How to return only one date (first or last
    datetime) from the rows where Balance is at max?
    I tried a TOPN of TOPN, but Excel was not amused.
    =SUMX(TOPN(1,Results,Results[Balance],0),TOPN(1,Results,Results[ResultTime],0))
    TIA!
    Re
    Dennis

    I still don't understand RANKX, but I figured it out anyway. I get the correct data by using:
    Res_MaxBalance:=MAX(Results[Balance])
    Res_MaxBalanceDate:=CALCULATE(MAX(Results[ResultTime]),FILTER(Results, Results[Balance]=MAX(Results[Balance])))
    Res_MinBalance:=MIN(Results[Balance])
    Res_MinBalanceDate:=CALCULATE(MAX(Results[ResultTime]),FILTER(Results, Results[Balance]=MIN(Results[Balance])))
    Res_MaxEquity:=MAX(Results[Equity])
    Res_MaxEquityDate:=CALCULATE(MAX(Results[ResultTime]),FILTER(Results, Results[Equity]=MAX(Results[Equity])))
    Res_MinEquity:=MIN(Results[Equity])
    Res_MinEquityDate:=CALCULATE(MAX(Results[ResultTime]),FILTER(Results, Results[Equity]=MIN(Results[Equity])))
    Re
    D

  • How to use value returned from a bean in jsp page

    Hi All,
    I have a string array value being returned from a javabean to a jsp page. I want to be able to assign the value to a variable in the jsp page.
    How do I do this?
    Many thanks :)

    thanks for your response.
    I actually used something like this:
    <% String loggedin = log.User(user,password);
    out.println(loggedin);
    %>i am not yet as much of an expert on beans as i would like to be, but i thought it is not really a bean if it has a getter method which takes arguments?

  • How can I refresh a calling page on return from a TF activity ?

    Hi,
    I have a (sounds easy) case where a view activity invokes a BTW with fragments. The called BTF has been declared with isolated data control scope. Inside the BTF some updates happen and when the BTF returns the calling view should display the modified data. The BTF should not be opened as a dialog and the above take place inside a region. There are examples in the Internet for how to implement such case but only calling a taskflow with pages from a dialog.
    I tried creating first the Taskflow binding definition [19.10.1 How to Associate a Page Definition File with a Task Flow Activity|http://docs.oracle.com/cd/E35521_01/web.111230/e16182/taskflows_activities.htm#sthref539] , then I set the related operations (Execute, setCurrentRowWithKey, ...) in the Page Definition and invoke the operations inside the “After Listener” Listener (<after-listener>) of the taskflow activity but the binding context is not accessible inside the listener, I get NPE accessing the binding.
    After some tests I have found that I can call the Operations using “#data.taskflowdefinition..” but I afraid using this technique because of so many papers stating that this is a bad practice.
    Additionally I tested using an invokeAction in the calling page definition page and it works but I prefer “refreshing” the model from the activity (there are many pages calling the same activity).
    I am wondering if there is a more elegant solution that I haven’t seen yet.
    Thanks for any ideas,
    Yiannis
    Edited by: Tses on Mar 8, 2013 11:15 PM

    Hi Timo and thank you for your reply,
    As far as I know any method executed in the BTF has no effect in the calling page because of the isolated data control scope.
    Consider the following layout of a very simple TF diagram. The BTF has "Share data controls with calling task flow" unchecked and "Always begin new transaction"
    View --> Method Call --> BTF
    Now imagine that a user navigates from the View to the BTF, make updates and finally commits the transaction from a taskflow return activity. The updates are executed inside the "private" BTF's data control scope because of the BTF settings.
    Returning to the calling View the user sees stale data from the Data Control of the View, until he re-queries the model.
    ADF supports execution of code during the call of the BTF (through Method Call) and also sending and returning parameters from the View to the BTF.
    Conversely on return from the BTF there is no handler for executing code (something like "Return Method Call") in order to refresh (e.g. re-query and set current row) the View exploiting the return parameters.
    The "After Listener" in the taskflow call activity has not access to the bindings context. Using #{data.bindingTFXXX} I guess that has a risk in a high availability environment for NPE where the http call to the BTF might be processed in a different server than the returning http call so the #{data.bindingTFXXX} might not exists.
    The other solution I found using invokeAction with RefreshCondition depends on the returning values of the BTF, bloats the View with Bindings that I would prefer to be in a central place.
    Am i missing something in the whole flow above ?
    Yiannis

  • How to return more than one value from a  function

    hello everybody,
    Can anyone tell me how to return more than a single value from a function, the problem is i have 4 points,
    2 points form one line ,another 2 points form 2nd line ,each point is 3 dimensional(x,y,z coorinates) so i will pass these values to func(x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4), i will find the point of intersecton of two lines and i will get it as x,y,z , now how to return these 3 coordinates,usually the function returns only one value, please help me to solve it out.
    Thanks.

    I think the easiest way or trick here is (easiest isn't always the best as we know, but atleast this one will work) to create simple data array. and pass that. Create an array with:
    <code>
    class justArray {
    int x=0
    int y=0;
    int z= 0;
    ...somewhere
    justArray[] points= new justArray[4];
    points[0].x= ..
    points[0].y= ..
    points[0].z= ..
    points[1].x= ..
    return points[]
    </code>

  • How-To Display the Number of Records Returned from a List to the User?

    We currently are using lists to identify accounts that meet various criteria. Because the territories vary from 4k to 60k customers the users have stated that they don't know the size of the list and therefore don't know if they need to refine the list. Currently they are exporting to Excel to look at the row count to see if they need to further refine their searches. This takes quite a while and while shuffling through many lists is a bit painful. Isn't there a way to just show the total records returned from the list down at the bottom of the screen where it allows you to see 25/50/75/100 records at a time?
    There is probably a simple way to do this but it is a large user dissatisfier at the time because we simply don't know how to make this show up. Again we are using lists and not analytics for simple lists at this time.
    - john
    Edited by: user11286597 on Jun 19, 2009 11:02 AM

    Thanks Bobb. I can't believe that one wasn't in R1 :)
    Is there a link to the items being worked in the next release by any chance?
    - john

Maybe you are looking for