Missing Article: Warning of Unsaved Data Functional Pattern

Hi
I bookmarked an article a while back which showed a functional pattern for warning of unsaved data when navigating away from a page.
However, now that I need to investigate and impliment this the link is broken.
Does anybody have the new link, link to a similar article / blog?
Thanks,
Mario

Hi,
if you are on a recent version of JDeveloper 11g then this functionality is provided out of the box. Also have a look at the af:document tag on your pages. It has a property "uncommittedDataWarning" you can set to on or off so this functionality is present event for single pages
Frank

Similar Messages

  • Warning on Unsaved Changes Functional Pattern

    Overview
    One advantage of integrated applications is users can easily navigate just about anywhere based on current needs. However, with the added flexibility also comes the increased risk of unsaved data accidentally being lost when navigating away from a page. Therefore, many applications typically warn the user when this is about to occur. Using the new warning on unsaved changes feature, 11g ADF applications can easily implement this type of functionality.
    Click here to see the document that describes this pattern.
    Edited by: Richard Wright on May 13, 2010 1:10 PM

    Hi,
    I have a page with an edit form. The user can close/leave the page by clicking on different buttons (menu items, close icon, back button). In this case, the system should warn the user about unsaved data. Furthemore, I want to skip data validation. I tried to implement the "Warning on Unsaved Changes Functional UI Pattern", although this approach doesn't skip data validation. How should I do this?
    I'm using ADF 11g.
    Pedro Medeiros.

  • Warning on Unsaved Changes Functional Pattern --Help!

    Is there anyone out there who knows how to make this work??!!
    [http://www.oracle.com/technology/products/adf/patterns/11.1.1.1.0/UnsavedDataWarning.html]
    Help!

    Frank Nimphius wrote:
    Hi,
    I am not familiar with the document, but options I see are
    option 1: set uncommitted data warning property on the af:document to "on" (I am not sure, but think this is already available in JDeveloper 11g R1)
    option 2: use the controller context (ControllerContext) of the ADFc task flow handler to detect if the transaction is dirty
    option 3: use a managed bean that accesses the AM in the DataControl to check if the transaction is dirty
    FrankThank you for the reply Frank. Below are my response to your options
    response to option1:
    I have already set the uncommitted data warning property on the af:document to "on" (yes, the option is already available in JDeveloper 11g R1) and even set the bounded task-flow inside the region of my page as "critical", but when I navigate to other pages thru the navigation items in my template header, the prompt for uncommited changes did not show.
    response to option2:
    Which class of my project will use the controller context to detect if the transaction is dirty? I have tried to google the uncommittedDataWarning property which lead me to the DirtyPageHandler class. I have read on DirtyPageHandler class API that in case I do not set an implementation the default implementation will be used- and if I me quote from the API -"that default implementation will always return false from isDataDirty and will do nothing in response to a trackNavigation call." I wonder if aren't there any concrete samples to make this work? As I understand, the uncommitted data warnings is one of the publicized new features of JDeveloper 11gR1. Nevertheless, I have tried to follow allong and did create my own implementation:
    1.) I did override the isdataDirty method to always return true,
    2.) override the trackNavigation method to "System.out.println("prompt");",
    3.) and created a file named oracle.adf.view.rich.context.DirtyPageHandler in the META-INF/system folder of my project, and
    4) created a one line text which represents my implementing class in the created file in #3.
    but still nothing especial happened.
    response to option3:
    What exactly is "AM" in the DataControl?
    Your feedback on this is very much appreciated.
    Thanks,
    pino

  • Due Date function for Reminders

    Apple needs to incorporate the due date function into the Reminders app so we don't have to do this separately from the icloud website
    This is obviously a glitch,   if we complain enough maybe this will be fixed  
    currently the only way to set due dates for reminders requires being sneaking as this article explains
    this needs to be fixed
    http://reviews.cnet.com/8301-13727_7-57495293-263/how-to-set-a-due-date-for-moun tain-lion-reminders/

    I've found a way, but it's annoyingly complicated:
    1. Export your reminders list (produces a .ics file)
    2. Open the .ics file with a plain text editor (I used TextMate, but I'm sure any editor would work).
    3. Search for the reminder.
         -Say you are looking for "Homework 5", you should find something like this:
              SUMMARY:Homework 5
    4. Below that field (but before END:VTODO) there are 2 fields:
              DUE;TZID=America/Los_Angeles:20121108T140000
         and
              TRIGGER;VALUE=DATE-TIME:20121108T140000Z
    5. TRIGGER is when you want to be reminded. DUE is the missing due field if it doesn't match TRIGGER.
    6. Modify TRIGGER to a legit time (24-hr, of course):
              TRIGGER;VALUE=DATE-TIME:20121107T180000Z
    7. Save and Import the modified .ics file back into a new list in reminders. Then, delete the original list.
    8. You should see the due field now and be able to edit the dates natively within the app.
    9. You're killing me, Apple. The due field would be extremely useful, especially for students like me. I wish the presence of the due field were toggle-able in Settings>Reminders.
    10. While I'm ranting about my wishes, the repeat feature would be much more useful if the frequency were completely customizable (i.e. Repeat every [#] [wks/hrs/days] or Repeat every [1st/2nd/3rd/etc.] [Day of week] of every [1st/2nd/3rd/etc.] [month/week] and so on... ).

  • How to call a macro(check for unsaved data) before calling refresh button of EPM TAB

    Hi,
    I want to show a popup message for any unsaved data before USER hit the refresh button on EPM tab.
    I write the macro like as below in module
    Function TestForUnsavedChanges()
        If ActiveWorkbook.Saved = False Then
            If MsgBox("There is unsaved data, save the data otherwise u will loose the data. Do You Want to Save the Data ?", vbYesNo, "Warning") = vbYes Then
            bSave = True
            Else
            bSave = False
            Application.Undo
            End If
        End If
    End Function
    so how to execute this macro before Refresh ?
    Thanking in Advance !!

    Hi Nilesh,
    Try to add this macro under Function BEFORE_REFRESH.
    Hope this helps.
    Regards,
    Astha

  • Confirm Dialog on Closing Web Application with unsaved data?

    Hi all,
    I am searching for best-practices or official solutions for implementing the following functionalty:
    User is trying to close the browser window or tab (Mozilla Firefox) by hitting the "X". We need to ask him if he is sure cause there might be unsaved data.
    The only solution we now see is the following:
    - event "onbeforeunlad":
    window.onbeforeunload = function (oEvent) {
      oEvent.returnValue = 'Sure? Unchanged data might be lost'
    Problem is that this event also runs, when youre navigating in the analysis item, e.g. expanding a hierarchy. You have to switch it of for every single Item with onmouseover and switch it on again later.
    And further on: It still has to be bound to the data... if data hasn't changed, it shouldnt pop up.
    Question: Are there any official suggestions from SAP? Seems to be a standard requirement. If not, do you know any better solutions for implementing this functionality?
    Thanks in advance for your help,
    Michael

    try capturing the onBeforeUnload event and display a modal confirmation dialog asking the user if he really wants to navigate away from the page; and warning him that if he does so, all the changes he made hitherto will be gone.
    However, you need to handle this intelligently since you need to identify if any fields in the form have changed and only then warn the user to confirm his decision to go away from this page.
    You can do this by having a flag which is initialized to false but when onBeforeUnload event is fired, you would check if any of the form fields in the page have changed by iterating over each and every form field,and then setting the flag to true if some thing changed
    the onBeforeUnload Handler will always return this flag, if it is true, you will get this confirmation popup, else the page will go away. To show a customized confirmation dialog, perhaps you would have to invoke the custom dialog call from with in the onBeforeUnload handler. When the user says yes, return false;else true.

  • Pop up Warning on Unsaved Changes

    I have an ADF JSFF page.
    It contains a drop down menu through which I could see details of a particular event b ased on the option selected in the dropdpwn choice.
    <af:selectOneChoice id="socEventLevel"
                                        label="#{Msg.LOG_LEVEL}"
                                        value="#{pageFlowScope.ea_entUiModelBean.logLevel}"
                                        disabled="#{!pageFlowScope.ea_entUiModelBean.rowSelected}"
                                        unselectedLabel="#{Msg.SELECT_LEVEL}"
                                        valueChangeListener="#{backingBeanScope.ea_entEventLogTabUiBean.getLogDetails}"
                                     autoSubmit="true">
                      <af:selectItem label="#{Msg.VIEW_LOG}" value="0"
                                     id="si5"/>
                      <af:selectItem label="#{Msg.ERROR}" value="1" id="si4"/>
                      <af:selectItem label="#{Msg.WARNING}" value="2" id="si33"/>
                    </af:selectOneChoice>
    The moment I select one of these choices and try to navigate to another page I get a popup that says "This page contains uncommitted data. Would you like to perform navigation. Press OK to continue , or cancel to abort navigation"
    How do I remove this popup ??
    Thanks in advance

    User, how should we know?
    You did not give and information about the app, what's done before you try to navigate away, no jdev version.
    You can turn the warning off completely, but i suggest you think about it first. If you get the warning, the transaction you are in is dirty. You loos every change you made if you navigate away from the page. Check Jdeveloper,Oracle ADF &amp;amp; Java: Uncommitted/Unsaved Data Warning on page Navigation-Oracle ADF for info where to configure this.
    Timo

  • Need milli seconds part in XSLT Date Function  current-dateTime()

    Hi All,
    I am calling date function, current-dateTime() in XSL. The output format is 2012-04-05T16:38:01-07:00 (Without milli seconds)
    How to get the milli seconds part...?
    Regards,
    Sudheer

    Hi Arik....
    At last i got it. :)
    Followed the below steps.
    Step1:
    Created a String variable "currentDateTimeValue" in BPEL.
    Step2:
    I have used the below code in JavaEmbedding in BPEL.
    java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat();
    //Date Pattern looks lil weird. But some Web service accepts only this format.
    sdf.applyPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'-00:00'");//2012-04-14T16:24:00.578-00:00
    String formattedDate = sdf.format(new java.util.Date());
    addAuditTrailEntry("Formatted datetime string is: " + formattedDate);
    setVariableData("currentDateTimeValue", formattedDate);
    Step3:
    Created a Simple XSD with an element "DateElement" of String type.
    Step4:
    Assigned "currentDateTimeValue" value to "DateElement" element, in Assign activity.
    Step5:
    Now added this DateElement in Transformation activity, as a second source variable. Mapped this data to the required target element in my XSL.
    uh-huh I got the output...
    Thanks a ton ARIK :D u r really helpful...
    Regards,
    Sudheer

  • Date Function Error

    Hello,
    I am trying to calculate Goods movement date and used DATE Function "Between" to find out the dates between BUDAT and Current Date/System Date(used date function NOW().
    between(BUDAT,AGEING_DATE)
    Validate syntax doesn't show any error, however while activating view I am getting below error:
    Message :
    Internal deployment of object failed;Repository: Encountered an error in repository runtime extension;Internal Error:Deploy Analytic View (CV): nnAttribute 'aging_day' is missing in node finalAggregation(CalculationNode (finalAggregation) -> attributes -> calculatedAttribute (GOODS_MOVEMENT_DATE) -> expression)nnThe following errors occured: Inconsistent calculation model (34011)nDetails (Errors):n- CalculationNode (finalAggregation) -> attributes -> calculatedAttribute (GOODS_MOVEMENT_DATE) -> expression: Attribute 'aging_day' is missing in node finalAggregation.n- CalculationNode (finalAggregation) -> attributes -> calculatedAttribute (GOODS_MOVEMENT_DATE) -> expression: Attribute 'budat' is missing in node finalAggregation.nnDetails (Warnings):n- cubeSchema: Default language not set. Use 'en'.nnnn<?xml version="1.0" encoding="utf-8"?><cubeSchema version="3" operation="createCalculationScenario"><calculationScenario name="Inventory_Aging/AV_INVENTORY_AGING_PER_SITE" schema="_SYS_BIC"><dataSources><olapDataSource name="dataSource" schema="_SYS_BIC"
    Any inputs are highly appreciable.
    BR
    Vijaya

    Hi @Vijaya Lakshmi,
    Could you please check this part of the error message in detail:
    Error:Deploy Analytic View (CV): nnAttribute 'aging_day' is missing in node finalAggregation(CalculationNode (finalAggregation
    BR
    Prabhith

  • Advaned warning for due date based on statuses

    Hi,
    While searching transactions, for the due date some icons are coming like(green squere, yellow triangle, tick mark, grayed dimond) and so on.
    can I maintain these icons based on statuses. Presently tick mark is coming for one of the statuses maintained in the status management. But for this we didn't maintained any configuration settings at IMG --> CRM --> Interaction center Web client --> Agent Inbox --> Map item attributes to inbox Attributes --> Define advanced warning for due date.
    Required quick response as it is business critical requirement.
    Thanks,
    Chandu

    Hello Praeva ,
    The event 1330 has a sample FM FKK_SAMPLE_1330. It doesnt even have a Standard Function Module.
    You need to create a Installation-Specific FM and put your code to determine the Due Date based on the logic.
    Rgds
    Ram Kumar.

  • Delimiting Dates Functionality in Z table

    Hello, i need to create the delimiting dates functionality, which will trigger proper warning message and will handle overlapping time periods.
    Can anyone help me on this?
    I've already enabled and coded the two Standard Modules in the Custom table's Screen Logic:-
    PROCESS BEFORE OUTPUT.
      MODULE liste_initialisieren.
      LOOP AT extract WITH CONTROL
       tctrl_zxxm_pc CURSOR nextline.
        MODULE liste_show_liste.
        MODULE liste_deactivate.
      ENDLOOP.
    PROCESS AFTER INPUT.
      MODULE liste_exit_command AT EXIT-COMMAND.
      MODULE liste_before_loop.
      LOOP AT extract.
        MODULE liste_init_workarea.
        CHAIN.
          FIELD zxxm_pc-zz_tdate .
          FIELD zxxm_pc-z_poc .
          FIELD zxxm_pc-zz_fdate .
          FIELD zxxm_pc-zz_pc .
          MODULE set_update_flag ON CHAIN-REQUEST.
        ENDCHAIN.
        "INSERTED AJMAL.D 13/03/2008
        CHAIN.
          FIELD zxxm_pc-zz_fdate .
          FIELD zxxm_pc-zz_tdate .
          MODULE temp_delimitation ON CHAIN-REQUEST.
        ENDCHAIN.
        "END
        FIELD vim_marked MODULE liste_mark_checkbox.
        CHAIN.
          FIELD zxxm_pc-zz_tdate .
          FIELD zxxm_pc-z_poc .
          FIELD zxxm_pc-zz_fdate .
          MODULE liste_update_liste.
        ENDCHAIN.
      ENDLOOP.
      MODULE liste_after_loop.
    But its giving me dump.  Are there any other coding of configurations to make?

    Hello,
    Plz do not write code in the PBO/PAI of a TMG.
    You will lose all the code, once the TMG is regenerated.
    It's safe to handle a TMG through events, since the code exist in a separate include.
    Once the TMG is regenerated all you have to do is reattach the Subroutine.
    Regards,
    Remi

  • Date function problems with dates from core not recognized as dates

    Our core provides dates in two formats: YYYYDDD and MMDDYY (YYYYDDD for today [2/21/12] would be 2012052).  We have determined that Crystal Reports is not viewing them as dates, but rather numbers. If querying on just a specific date, no problem. But if I want to use a date function like DayOfWeek, then things don't work.
    I need a report to always provide yesterday's data - except on Monday, where it needs to look back at Friday.
    I tried a criteria of:
    if DayOfWeek(CurrentDate) = 1 then {DDMAST.DATOP7} = CurrentDate - 2 else
    if DayOfWeek(CurrentDate) = 2 then {DDMAST.DATOP7} = CurrentDate - 3 else
    {DDMAST.DATOP7} = CurrentDate -1
    {DDMAST.DATOP7} is the date field from our core.
    I tried this but got an error message of "A Number is Required Here" and it highlights the CurrentDate - 2.
    Since we believe that Crystal Report is not viewing our dates as dates - but viewing them as numbers, what do I need to do to correct this?  Someone suggested I'd need to extract each date portion (month, date, and year) and create variables to "build" a date that Crystal Reports would understand.  Any suggestions?

    Hi, 
    You're correct.  There appears to be two branches in this thread. 
    To address your issue, Crystal only recognizes actual date types, ie. Months, Days and Years.  Your serial date isn't a recognized date type so we have to: 
    1)  Determine which format your date field is
    2)  Convert your number to a date using the appropriate formatting. 
    I am assuming your dates will either be 6 (MMddyy) or 7 (yyyyddd) characters long.  If there are other patterns you'll need to determine that. 
    The problem I found is what does your date for today (March 6, 2012) look like in MMddyy format? 
    Any month before October would never have a leading 0 if your date is stored as a number.  So you should take that into account as well using my logic. 
    I added that into the logic by checking for a length of 5. 
    NumberVar Full := 030612;
    StringVar myDate;
    myDate := ToText (Full, 0, "", "");
    Select Length (myDate)
        Case 5: Date (2000 + ToNumber (myDate [4 to 5]), ToNumber (myDate [1]), ToNumber (myDate [2 to 3]))
        Case 6: Date (2000 + ToNumber (myDate [5 to 6]), ToNumber (myDate [1 to 2]), ToNumber (myDate [3 to 4]))
        Case 7: Date (ToNumber (myDate[1 to 4]), 1, 1) + (ToNumber (myDate [5 to 7]) - 1)
        Default: Date (0, 0, 0);
    If you edit the first line and change it to: 
    NumberVar Full := 2012066;
    You will also get today's date.

  • Unsaved data handling in ADF

    Hi All,
    Is there any way to warn the user about unsaved data when the user navigates to some other page from the current page (wherein unsaved data exist), out of the box in ADF?

    Hi,
    what is "another page" ? Is it another page in the same application, or a page outside of it ? You should be able to check the state of the AM transaction, calling isDirty() to check whether there is uncommitted data. This could be done in a PhaseListener. However, when the user navigates off the application then chances are not good you catch this
    Frank

  • Using Date functions in DP macros

    Hi all,
    I am currently developing a macro in DP...and I need to do an action for the first period of a year.
    I need to identify the first period for this purpose..I m using the date function Bucket_fiscal_period for this purpose but for soem reasons it is not giving a value of 01 for the first period.
    The planning bucket has a weekly bucket pattern.
    I tried to use the layoututvariable_set + layoutvariable and then bucket_fiscal_period to try and see  if the values are getting set.But this seems not to be happening.
    Can anybody tell me whats wrong here?
    Thanks and Regards,
    Anu

    Hello,
    If I am understanding your issue correctly you are trying to identify the weekly bucket in which the first day fo the year falls. To accomplish the same I guess the following should work:
    OPTION 1:
      IF
         WEEK ( DATE ( BUCKET_BDATE ( X ) ) = 1
           THEN
            LAYOUTVARIABLE_SET ( 'FIRSTDAY' )
    ENDIF
    OPTION 2:
    IF
       YEAR_BDATE ( WEEK_BDATE () ) >= WEEK_BDATE ()
        AND
        YEAR_EDATE ( WEEK_BDATE () ) <= WEEK_BDATE ()
             THEN
                LAYOUTVARIABLE_SET ( 'FIRSTDAY' )
    ENDIF
    Hope this helps.
    Regards,
    Abhi

  • Auto Save  the unsaved Data

    Hi,
    We can set up your SAP System to automatically log off users with no activity after a specified period of time.
    We can activate automatic Logoff by setting the system profile parameter rdisp/gui_auto_logout to the number of seconds of inactivity you want to permit.
    If you activate this function, the inactive users are logged off after the specified period expires. The system does not save data before logging off the user. Unsaved data in the user session is lost. The system also does not display a logoff confirmation prompt.
    Is it possible  to " Save "  the data before logging off ?
    If No,  then why it is not possible?
    Thanks,
    Deepika
    Edited by: Deepika Nayak on Jan 7, 2009 11:57 AM

    Hi Deepika,
    Could you please explain me about the standard function that you used to enable this functionality. I have got a similar requirement and would appreciate your help. Thanks a lot.
    Regards,
    Gopal.

Maybe you are looking for

  • How to catch Exception in a JSP

    Hi there, I'm building my first JSP application. I still don't know what happens to an exception thrown inside a scrptlet in a JSP page. My JSP page is resultados.jsp (it processes a DB query): <%@ page contentType="text/html; charset=iso-8859-1" lan

  • Why LR4.4 no longer works with Blurb?

    Hi, why LR4.4 no longer works with Blurb? If I configure a book and then click Submit to Blurb does not happen anymore. I even looked at the network traffic and it seems as if the IP is pinged to the contact record no longer respond. I do not underst

  • Oracle not using its own explain plan

    When I run a simple select query on an indexed column on a large (30 million records) table oracle creates a plan using the indexed column and at a cost of 4. However, what it actually does is do a table scan (I can see this in the 'Long Operations'

  • Selection screen in abap report

    Hi, I am using 2 selection options in my report. But the list of values for second selection options is depends on the selected value in the first selection option. how to do this. because i cant use selected value of first option in AT-SELECTION poi

  • #include not work at Flash 9????

    Yesterday I downloaded the Flash 9. I´m at my first site build on it. First error, that returned in Output panel: [quote]**Error** Scene 1, Layer 'AS~', Frame 1 : Line 1, Column 1 : [Compiler] Error #1093: Syntax error. #include "preloader.as"; Refer