Triggering POPUP to SAVE when user Presses BACK  Button

h4.
Hi Friends,
h4.
When the User Presses BACK Button in the PF Status, it should trigger POPUP_TO_CONFIRM  whether to SAVE or not.
h4.
Suppose if the user doesn't change any thing in the Screen, it should not ask the User.
h4.
How can i know whether the user changes something in the Screen.
h4.
Screen mean Table Control..
h4.
How can i track this.
h4.
Regards:.
h4.
Sridhar.J

Hi Sridhar,
Within the table control loop, create a chain of all the fields in the structure of line type. call a PAI module with addition ON CHAIN-REQUEST. This is a conditional module call which will be triggered ONLY when user changes something on the screen. In this module you can set a global variable DATA_CHANGED to say 'X'. When user chooses BACK function, check this global variable to decide on the confirmation popup.
One small caution. If you have the ROW SELECTION field also included in the line type of your internal table associated with the table control, you need to exclude that from the CHAIN of fields above; otherwise even when user selects a line or de-selects, this module will be triggered.
Read ON CHAIN-REQUEST and ON REQUEST online ABAP help for more clarity.
Regards
Suresh
Edited by: Suresh Radhakrishnan on Sep 28, 2009 4:29 PM

Similar Messages

  • At selection-screen when user presses back button

    Experts,
    I have two radio buttons and two relative checkboxes ( one checkbox related to other ).
    Now when user selects one radio button and executes teh program, there is a summary page. When user presses back button from there, I return to the selection screen, however the selections are still there.
    Ideally I want a blank screen, as in nothing selected( similar screen when program is executed first ). Is it possible ?
    Kindly advise,
    Gols

    Hi,
    Try clearing radio buttons and check boxes at PBO of selection screen using AT SELECTION-SCREEN OUTPUT statement.
    PARAMETERS:
      p_rad1 TYPE c RADIOBUTTON GROUP rd1,
      p_rad2 TYPE c RADIOBUTTON GROUP rd1.
    PARAMETERS:
      p_chk1 TYPE c AS CHECKBOX,
      p_chk2 TYPE c AS CHECKBOX.
    AT SELECTION-SCREEN OUTPUT.
      CLEAR: p_rad1, p_rad2, p_chk1, p_chk2.
    Hope this helps.
    Regards,
    txhughes

  • Invalidate session when user clicks back button

    I want to invalidate the session when user clicks back button, so that user cannot refresh and reload a page.
    Any suggestions will be highly appreciated.
    Message was edited by:
    sam_amc

    * SessionInvalidator.java
    * Created on October 27, 2006, 9:18 AM
    package web;
    import java.io.*;
    import java.net.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    * @author javious
    * @version
    public class SessionInvalidator extends HttpServlet {
        /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
         * @param request servlet request
         * @param response servlet response
        protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
            response.setContentType("text/html;charset=UTF-8");
            PrintWriter out = response.getWriter();
            String reposted = request.getParameter("reposted");
            if("true".equals(reposted))
                HttpSession session = request.getSession(false);
                if(session == null)
                    // This is step 4 and beyond
                    out.println("<html>");
                    out.println("<head>");
                    out.println("<title>Servlet SessionInvalidator</title>");
                    out.println("</head>");
                    out.println("<body>");
                    out.println("<h1>Servlet SessionInvalidator at " + request.getContextPath () + "</h1>");
                    out.println("I said, your session is now invalid! Now where are those Duke Dollars at?");
                    out.println("</body>");
                    out.println("</html>");
                else
                    Integer hitCount = (Integer)session.getAttribute("hitCount");
                    if(hitCount == null)
                        // This is step 2 (the "good" - "stay" page.)
                        out.println("<html>");
                        out.println("<head>");
                        out.println("<title>Servlet SessionInvalidator</title>");
                        out.println("</head>");
                        out.println("<body>");
                        out.println("<h1>Servlet SessionInvalidator at " + request.getContextPath () + "</h1>");
                        out.println("Your session is good.<br>");
                        out.println("If you click the browser's back button, you will invalidate your session.");
                        out.println("</body>");
                        out.println("</html>");
                        hitCount = 1;
                        session.setAttribute("hitCount", hitCount);
                    else
                        //We've used up our good visit
                        session.invalidate();
                        // This is step 3
                        out.println("<html>");
                        out.println("<head>");
                        out.println("<title>Servlet SessionInvalidator</title>");
                        out.println("</head>");
                        out.println("<body>");
                        out.println("<h1>Servlet SessionInvalidator at " + request.getContextPath () + "</h1>");
                        out.println("Your session is now invalid");
                        out.println("</body>");
                        out.println("</html>");
            else
                // because the javascript in the following output will never allow a user
                // to continue clicking back any further than this, we can safely create the session.
                // (or perhaps the session can already be created here and this may not be necessary).
                // A problem lies where if the user chooses to "select" a page back in history they thereby
                // potentially skip back "over" this functionality, thus defeating the purpose of it.
                request.getSession(true);
                // This is step 1 (indirection)
                out.println("<html>");
                out.println("<head>");
                out.println("<title>Servlet SessionInvalidator</title>");
                out.println("</head>");
                out.println("<body onload=\"document.getElementById('invalidatorForm').submit()\">");
                out.println("<h1>Servlet SessionInvalidator at " + request.getContextPath () + "</h1>");
                out.println("<form id=\"invalidatorForm\" action=\"SessionInvalidator\" method=\"POST\">");
                out.println("<input type=\"hidden\" name=\"reposted\" value=\"true\">");
                out.println("</form>");
                out.println("</body>");
                out.println("</html>");
            out.close();
        // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
        /** Handles the HTTP <code>GET</code> method.
         * @param request servlet request
         * @param response servlet response
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
            processRequest(request, response);
        /** Handles the HTTP <code>POST</code> method.
         * @param request servlet request
         * @param response servlet response
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
            processRequest(request, response);
        /** Returns a short description of the servlet.
        public String getServletInfo() {
            return "Short description";
        // </editor-fold>
    }The problem with even attempting to do this is that with today's browser capabilities, users can optionally choose to jump to a particular page in the browser history and this may not necessarily be the most recent page. In this case, you would also want to invalidate the user's session after already having been there (whatever page that may be). Then you have situations when the user may wish to jump back in history to external pages they were visiting before they reached your own site's pages. Then what happens when they start clicking forward, forward, etc... from there? This is why I prefer writing Swing Clients as alternatives to browser applications. There are soo many possible ways break web applications made for standard web browsers both maliciously and simply by accident or irregular user patterns. Regardless, this servlet would work based on the assumption that all the user(s) would "ever" do aside from moving logically forward is clicking on the browser's "back" button.
    cheers!
    Message was edited by:
    javious

  • Apply my own formula when user presses sum button in a report

    Hi all,
    I have this requirement that when user presses SUM button for a particular field in a report instead of Summing it up and displaying I can apply my own formula and display its value. 
    For Ex :  When we press sum button for field efficiency :
    EFFICIENCY
    10
    11
    05
    26 - It would sum it up and display 26 , where as i don't want it to display 26 i want to apply a separate formula and display that value

    Suggest to add another custom button to the ALV toolbar and write the desired logic you want.
    Also to avoid confusion, disable the standard summation button. (you can add the same icon for the custom button if you wish)
    Thanks,

  • How to show old value in webui when user press NO button on popup button.

    Hi Experts,
    As per requirement I have created custom field with dropbox and with popup box to cofirm user decision if value from field changes.
    Now on Popup when user press Yes then its Ok as no need to change the current value in the field.
    but when user press the NO button I want to display the old value on Web UI so now I am able to catch the old value and pass it into the field at backend but I am not able to make the change on the web page.
    Please reply if anyone have solution for it.
    BR
    Gaurav    

    Hi Gaurav,
    First of all when all this is happening in UI why you need to pass the selected value to backend. I didnt get this.
    I believe, this is only ui related and the old value which you got can be set in the IMPL class global variable and  trigger method set_on_close_event, say here 'CONFIRM_POPUP_CLOSED' as shown below:
      gr_popup->set_on_close_event( iv_event_name = 'CONFIRM_POPUP_CLOSED'
                                        iv_view = me ).
    Retrive the answer as per selection from popup in method 'CONFIRM_POPUP_CLOSED'
    by using:
      lv_answer = gr_popup->get_fired_outbound_plug( ).
    if lv_answer is NO, then put back the globally stored old value back to dropdown attribute, using:
    set_property_by_value method(   iv_attr_name = 'dropdown attr' iv_value = 'old value' )
    Thats it. No need to do anything.
    Regards,
    Bhushan

  • Preventing app exiting when user presses cross button

    Hello,
    I can't seem to prevent the whole application closing down when the user presses the cross button at the top of any of the forms. For example I have a menu form which I want to keep running whilst the user closes other forms which are shown from it.
    Any suggestions?
    Thankyou,
    Karsten

    I could be wrong, but I thought that the default
    behavior of a JDialog is to not close the whole app
    when it closes. Is that not correct?You are correct, sir. The only way an application closes is by explicitly telling it to do so by EXIT_ON_CLOSE.

  • Aviod page reload when user hits back button

    Hi
    I got 2 coldfusion pages A and B. When i click a link from
    page A it goes to page B. When i click the back button of the
    browser from page B the page A refreshes and shows. I dont want the
    page A to reload when the user hits the back button of the browser
    (so that all data remains as it was) from page B.
    is there any method to cache the page and show? Or are there
    any other methods? Pls help. I am running this project in Model
    Glue architecture (i dont know whether that makes any difference)

    Normal behaviour is that going back does not cause a page to
    reload. You might be doing something to make that happen. If you
    can figure out what it is, then you can stop doing it.

  • Authenticate when user clicks back button after logging out

    Hi All,
    Is there a way that the user can be forced to authenticate, if he has just logged out, and then clicks the back button.
    I have a situation where a user who is working on relatively sensitive data logs out (yeees they should close the browser and all, but they never obey instructions... ) and someone else can come around and click the back button, and see what what he had been working on.
    Is there a way to disable this behaviour, or otherwise force a reload/re-authentication.
    Thanks.

    Hi there,
    You can accomplish this by writing this code in each page of your application
    Write this in your html header:
    <script type="text/javascript">
    javascript:history.go(1);
    </script>and write this in Page HTML Body Attribute:
    onunload="javascript:history.go(1)";It will not allow your users to go back.
    Thanks
    Tauceef

  • Old topic: Refresh when user click back button

    Yes yes, i know, this is old topic, which already discussed thoroughly in the forum,
    But, pls read my question....
    i try this:
    res.setHeader("Cache-Control", "no-cache");
    res.setHeader("Pragma", "no-cache");
    res.setDateHeader("max-age",0);
    res.setDateHeader("Expires",0);
    res.addHeader("Cache-Control", "no-store");
    However, when i forward to a page, then click back button to the previous page, which have the code above, however, the page is still the old one, the page was not reloaded from server
    Any suggestion? 1:57 am, my local time.......

    I just use:
    response.setHeader("Pragma","no-cache");
    response.setHeader("Cache-Control","no-store");
    response.setDateHeader("Expires",0);I have tried this, still the same...what can i do? Any more workable solution?

  • Flatten or Lock a fillable pdf when user presses submit button

    Hi.  I've been searching all over the net trying to figure this out.  I have a form that I created in LiveCycle and in the form I inserted a "REGULAR" button, with the following script:
    //Create a variable to hold the document object
    var 
    oDoc = event.target;oDoc.mailDoc({
    bUI
    : true,
    cTo
    : "[email protected]",
    cSubject
    : "New Procedure - Operator "+TextField1.rawValue+" - ID "+TextField2.rawValue,
    cMsg
    : "Attached is the New Procedure form for Operator "+TextField1.rawValue+" - ID "+TextField2.rawValue+".",
    This script is emailing to "[email protected]" and populating the subject line and body of the message with some text and some items from fields in the PDF.
    I want to have the PDF locked or flattened when the user hits the submit button, to ensure that the information put in the PDF isn't altered after they submit it.  I cannot find any way of doing this easily.  I found a script that will flatten the message (below), but I don't know how to add it to the email script I have noted above.  I don't want to add a second button to the form as I want to keep it as simple as possible for the user.
    Any suggestions someone might have would be greatly appreciated.  Thank you.
    Ryan

    The link at the bottom of the blog post takes you to Acrobat.com where you can download the file.
    Just tested it, the lin k is working fine for me.

  • When I click "back" button selection screen is not appearing

    Dear All,
    1) I have a "report" which takes some parameteres in the seclection screen ( standard 1000 ) and displayes a report. This is transported. Say the name is ZPRG1
    2) We have copied ZPRG1 to ZPRG_temp and modified some logic and copied back to ZPRG1.
    3) All looks fine but in ZPRG1 in SE80 it is not displaying screen "1000" listed. And when I pressed "back" button from the standard report menu it is going into "blank" screen first. and then when i click again it comes to the selection screen. I understand that some thing happened with GUI stuff but ran out of all ideas and coming here to get some help from you..
    I am almost in a lost state.. can you please suggest me?
    Thanks for your time.
    Regards,
    Kiran

    Hi zhenglin gu,
    Finally I found the reason.. still not conviced.. but the issue is happening when I write block with in the block. I am not convinced but it is true here..
    Issue code******** ( Block with in block )
    SELECTION-SCREEN BEGIN OF BLOCK CHECK1 WITH FRAME TITLE ext-t01.
    *skip 1.
    SELECTION-SCREEN BEGIN OF BLOCK CHECK2 WITH FRAME TITLE text-t00.
    select-options: s_system for /BIC/AZSEUST0400-/BIC/ZSYSIDNT
                    no-extension no intervals .
    parameters:   P_USER   type /BIC/OIZSECUNAME OBLIGATORY.
    select-options: S_PROF for zsecurity-value_1 no intervals.
    SELECTION-SCREEN PUSHBUTTON 60(20) BUT1 USER-COMMAND PROF
                                VISIBLE LENGTH 25.
    SELECTION-SCREEN END OF BLOCK CHECK2.
    PARAMETERS: P_AB RADIOBUTTON GROUP gr1,
                P_CON RADIOBUTTON GROUP gr1.
    SELECTION-SCREEN END OF BLOCK CHECK1.
    Issue ********
    No Issue ******** ( Outer block is comented)
    *SELECTION-SCREEN BEGIN OF BLOCK CHECK1 WITH FRAME TITLE text-t01.
    *skip 1.
    SELECTION-SCREEN BEGIN OF BLOCK CHECK2 WITH FRAME TITLE text-t00.
    select-options: s_system for /BIC/AZSEUST0400-/BIC/ZSYSIDNT
                    no-extension no intervals .
    parameters:   P_USER   type /BIC/OIZSECUNAME OBLIGATORY.
    select-options: S_PROF for zsecurity-value_1 no intervals.
    SELECTION-SCREEN PUSHBUTTON 60(20) BUT1 USER-COMMAND PROF
                                VISIBLE LENGTH 25.
    SELECTION-SCREEN END OF BLOCK CHECK2.
    PARAMETERS: P_AB RADIOBUTTON GROUP gr1,
                P_CON RADIOBUTTON GROUP gr1.
    *SELECTION-SCREEN END OF BLOCK CHECK1.
    End of Block2.
    No Issue ********
    I think I used several blocks with in blocks.. but I do not know why it is hapening.. in my case, i am fine with eliminating the outer block.. so removed and transporting it...
    Message was edited by: Hari Kiran

  • Refreshing Basic list when i press Refresh button

    My Requirement is that when i move from the Basic list to interactive list. i am going to make some changes to internal table.
    when i came back to basic list. and when i press 'REFRESH' button in the Application Tool Bar. screen has to refresh  and display with modified data.

    Hi,
    When you press Back button you can call this method REFRESH_TABLE_DISPLAY which refresh the data in the screen in basic list if you are using the ALV Classes.

  • When the user press the button Calculate Tax (see attached doc) and click on Tax details then this should be updated automatically. But it does not work it is empty and the user has to update manually.

    When the user press the button Calculate Tax  and click on Tax details then this should be updated automatically. But it does not work it is empty and the user has to update manually.
    All setup looks fine.
    Please let me know what can be done on this?
    Regards,
    Peu

    HarryAustralia wrote:
    I recently updated my ipad wifi only to the new ios 6.1.2 and initially I had the auto cover lock option which can be seen in the Generals tab, but then it stoped working!! Before the update, the auto cover lock worked fine. So after trying all the options, I then did a complete reset on the ipad and now its gone all together from the General tab!! I can no longer see the "auto cover lock" option.
    The iPad cover lock is for when you use a cover with magnets in it to lock and unlock the iPad when you close the cover or open it. Try running a refrigerator magnet along the sides of the iPad and see if that trips the iPad Cover Lock back into the settings.
    That is not the same thing as the iPad Auto Lock setting which allows you to set an allotted time before the iPad goes to sleep.
    You can try resetting all settings to see if the Auto Lock feature retinrs to the iPad.
    Settings>General>Reset>Reset All Settings. You will have to enter all of your device settings again.... All of the settings in the settings app will have to be re-entered. This can be a little time consuming re-entering all of the device settings again.

  • When i press back from status bar - it hanged, BI 7.0 Front end:7100...27

    Dear all,
    when i press back from cube data display , i cant get previous screen, have to do stop transcation,
    my front end ver:7100.1.0.1027 and patech level 0, should i install patch level 1,
    OR is there any not avialable for fix that,
    and find is also not efficient in nw 7.0.
    Best regards,
    dushyant.

    Using the BI 7.x Add-On for SAP GUI 7.10 - Requirements

  • Issue where the cart is empty when user logs back in

    Having issue where the cart is empty when user logs back in
    Steps:
    1. User logs into the site
    2. User selects items and the cart is updated
    3. User logs out of their account
    4. User exits/closes the browsers
    5. User then reopens the browser, navigates to the site, logs in and the cart is empty
    My understanding is that the cart should be populated with the previous items since the user did not complete the order.
    I have the following settings:
    in shoppingcart.properties
    persistOrdersForAnonymousUsers=true
    persistOrders=true
    in cookieManager.properties
    sendProfileCookies=true
    in /atg/userprofiling/ProfileRequestServlet.properties
    verifyBasicAuthentication=true
    in /atg/dynamo/servlet/dafpipeline/ProfileRequestServlet.properties
    persistAfterLogout=true
    persistentAnonymousProfiles=true
    Anything else that needs to be set?
    Edited by: boyd4715 on Feb 6, 2013 11:07 AM

    I reset the properties back to their orignal state
    in shoppingcart.properties
    persistOrdersForAnonymousUsers=false
    persistOrders=true
    in cookieManager.properties
    sendProfileCookies=true
    in /atg/userprofiling/ProfileRequestServlet.properties
    verifyBasicAuthentication=false
    in /atg/dynamo/servlet/dafpipeline/ProfileRequestServlet.properties
    persistAfterLogout=false
    persistentAnonymousProfiles=false
    in /atg/userprofiling/ProfileTools.properties
    mergeOrder=false;
    Observateion:
    If an anonymous user comes to the site, adds items to the cart, leaves the site and comes back - the cart is empty - the order repository is not updated
    If a user logs into the site, adds items to the cart and then exits the browser (does not log out), comes back to the site, the selected items are in the cart
    If a usr logs into the site, adds items to the cart, logs out of the site, exits the browser, comes back to the site, the selected items are not in the cart
    An order does not get presisted to the repository until the order is confirmed.
    Based on the last item that explains why the user is not seeing any anything in their cart when they log out. If they do not log out, I assume then that the content of their cart is stored in the cookie.
    So, now the question is - why is this happening - I am not the original author of the site - just trying to get some things fixed on it.

Maybe you are looking for

  • Can't import videos or more than three songs at a time

    I updated and among other problems with this update, I can't put videos in itunes anymore. I converted a DVD with videora to put in itunes, and itunes doesn't even try to import the video like it used to. Same thing with bringing in more than three s

  • Communications error while trying to print

    I am unable to print to my Epson R380 after installing Leopard. The printer is set up as a Bonjour printer using a airport extreme. The paper will load and print starts but stops after a line or two prints. The error given is a Communications Error.

  • Error -50 when trying to sync photos

    we have a 3 gen red nano that is just over 1 year old. When trying to sync photos, we get a message that the idod can't be synced. An unknown error (-50) occurred. Can anyone please help??

  • LabWindows/CVI 5.5 for GPIB communication

    Hello! I'm a GPIB rookie and can't get my GPIB devices to talk with LabWindos/CVI: For the GPIB devices I am using (FWBell 7030 Gaussmeter, Keithley 6514 Electrometer) are no instrument modules available (at least I can't find any). How can I talk wi

  • Raw images not readable by lightroom or CS3 from 5d mkii

    Just got my new 5d mkii and went out to shoot my first images with it.  Capturing RAW only I shot 88 frames at Crater Lake.  When I got home I went through my normal procedures for downloading my images with Lightroom and it did not recognize the fil