Prevent navigation on pending error

hi
Please consider the Oracle Magazine article "Catch Me If You Can " by Frank Nimphius
at http://www.oracle.com/technetwork/issue-archive/2013/13-mar/o23adf-1897193.html
It refers to a sample application
at http://www.oracle.com/technetwork/issue-archive/2013/13-mar/o23adf-1896561.zip
The article describes how to use the sample application to navigate to and edit an HR.EMPLOYEES record, and to update the Email field to get an error for a unique key constraint validation thrown by the database.
The article sample allows to navigate away from the HR.EMPLOYEES record with invalid Email field value, to another HR.EMPLOYEES record (via the HR.DEPARTMENTS navigation buttons).
Changing the Email field (in a valid way) on the other HR.EMPLOYEES record and clicking the Commit button will result again the unique key constraint error message.
But, the error message is about the first change (which was left without being corrected) while the second (correctly changed) record is shown.
see the screencast at http://screencast.com/t/xF6OhFABuRN
- (q1) How can the sample (in o23adf-1896561.zip) be improved to prevent such navigation away from a "pending error"?
many thanks
Jan Vervecken

hi
Please consider the Oracle Magazine article "Catch Me If You Can " by Frank Nimphius
at http://www.oracle.com/technetwork/issue-archive/2013/13-mar/o23adf-1897193.html
It refers to a sample application
at http://www.oracle.com/technetwork/issue-archive/2013/13-mar/o23adf-1896561.zip
The article describes how to use the sample application to navigate to and edit an HR.EMPLOYEES record, and to update the Email field to get an error for a unique key constraint validation thrown by the database.
The article sample allows to navigate away from the HR.EMPLOYEES record with invalid Email field value, to another HR.EMPLOYEES record (via the HR.DEPARTMENTS navigation buttons).
Changing the Email field (in a valid way) on the other HR.EMPLOYEES record and clicking the Commit button will result again the unique key constraint error message.
But, the error message is about the first change (which was left without being corrected) while the second (correctly changed) record is shown.
see the screencast at http://screencast.com/t/xF6OhFABuRN
- (q1) How can the sample (in o23adf-1896561.zip) be improved to prevent such navigation away from a "pending error"?
many thanks
Jan Vervecken

Similar Messages

  • Prevent navigation when error occurs

    I have a use case where an error may occur during the INVOKE_APPLICATION phase. If it does, I need to stay on the same page and show the user the error. I am using a PhaseListener to detect the error (in the afterPhase of the INVOKE_APPLICATION phase). If there is an error, I show it to the user by calling FacesContext.getCurrentInstance().addMessage(null, errorMessage);. This works. The problem is, it continues navigation to the next view. For example, if the user clicked the Save button and that button returns to the previous page, I want the user to stay on this page if there is an error. I tried calling FacesContext.getCurrentInstance().renderResponse() to bypass the navigation, but that didn't work. Then I tried calling FacesContext.getCurrentInstance().responseComplete();. This did bypass navigation, but the error didn't show up for the user to see.
    This seems like a common use case, so I must be missing some obvious way to do this.
    Thanks for your help!
    Cheers,
    Mike

    Hi,
    What kind of error? When does it happen exactly? I doubt PhaseListener will be the best solution. Assuming it is for the purpose of this post, however, it would be:
    private static final ThreadLocal<UIViewRoot> root = new ThreadLocal<UIViewRoot>();
    public void beforePhase(PhaseEvent ev)
        root.set(ev.getFacesContext().getViewRoot());
    public void afterPhase(PhaseEvent ev)
        try
            if (detectError())
                FacesContext context = ev.getFacesContext();
                // Add message
                UIViewRoot originalRoot = root.get();
                UIViewRoot newRoot = context.getViewRoot();
                if (newRoot != originalRoot)
                    context.setViewRoot(originalRoot);
                // Another option would be to always call context.setViewRoot(originalRoot); as if it's the same then it won't have any effect.
        finally
            root.remove();
    }Regards,
    ~ Simon

  • Navigation Not Possible error

    Hi All,
    We are getting navigation not possible error while creating Travel Expenses.
    Recently our system was upgraded from EHP5 to EHP6.
    We have copied standard launchpad and we have assigned that custom launchpad role to the user.
    We have debugged the method NAVIGATE_TO_OBJECT in class CL_FITV_NAVIGATION and came to know that in the code launchpad value "ESS" is hardcoded.
    Please let us know how to proceed further to get our custom Launchpad Parameter into that method?
    Regards,
    Ravi

    Hi,
    Yes this shouldnt be hardcoded, this should be either an application parameter or defined in customizing as it is done in many other standard functionnalities... but for FITV it is not the case...
    I think that you only have 3 options here :
    - Create an OSS message.
    - Modify CL_FITV_NAVIGATION...
    - Just edit ESS/MENU directly using transaction LPD_CUST
    Regards

  • Not able to record web navigation(URL/Certificate Error : Navigation Blocked) part of oracle application in open script !

    Hi,
    I am trying to record script in using Functional Oracle EBS/Form in open script but only Oracle Forms actions are got captured.
    I am not able to record first web navigation(URL/Certificate Error : Navigation Blocked) part, only i am getting "web.window(7, "/web:window[@index='0' or @title='about:blank']"). close()" code for   navigation of URL part.
    I tried with changing Capture Screen in Recorder but doesn't work. 
    How to resolve this.
    Please help me out.
    Here is some info :
    OATS version  : Version: 12.3.0.1 Build 376
    Browser : Internet Explorer 9
    Operating System : Windows 7
    I am using VPN connection to open oracle application. 

    try adding ur url in secured site list

  • Getting This Error - IO Already pending error Iplanet

    Hi,
    I'm getting this error on Iplanet Web Server 7.0.9
    Does anyone know this issue?
    [14/Mar/2013:15:35:24] failure ( 5092): HTTP3068: Error receiving request from xx.x.xx.xx (IO already pending error)
    [14/Mar/2013:15:35:25] failure ( 5092): HTTP3068: Error receiving request from xx.x.xx.xx (IO already pending error)
    [14/Mar/2013:15:35:26] failure ( 5092): HTTP3068: Error receiving request from xx.x.xx.xx(IO already pending error)
    [14/Mar/2013:15:35:26] failure ( 5092): HTTP3068: Error receiving request from xx.x.xx.xx (IO already pending error)
    [14/Mar/2013:15:35:26] failure ( 5092): HTTP3068: Error receiving request from xx.x.xx.xx (IO already pending error)
    I can't seem to find it anywhere.
    I'm running on a windows machine
    Thanks
    Edited by: user6593769 on Mar 14, 2013 9:47 AM

    Hi,
    I have never seen that issue before.  I would confirm
    1. Is this a supported version of Windows?
    2. Are you using a VM?
    The error itself occurs when the client connection is being read. The  read process has returned no data and printed the Windows error message.  Maybe something
    else is reading on the socket.
    regards,

  • Premiere 7.1 Media Pending Error

    I'm editing some Sony F55 RAW footage but Premiere Pro keeps showing me Media Pending error.
    I've already edited a project with F55 files and didn't had a single issue.
    My system is an iMac with i7, 32GB ram, external Promise Pegasus R6 (RAID5) with footage and cache files on it.
    Tried to move the cache to the internal SSD but nothing changed.
    Is that a Premiere Pro bug?
    Thanks

    How to solve render after always show "Media Pending" screen. When Adobe Premiere Pro CC updated to 7.1:
    If you have this issue, follow these instructions:
    (Replace ImportFastMPEG.prm to 7.0.1 version)
    1. Download Adobe Premiere Pro CC 7.0.1 update.
    Link(s):http://download.adobe.com/pub/adobe/premiere/win/7.x/PremiereProTrial-7.0.1-mul-AdobeUpdat e.zip
    2. Extract "PremiereProTrial-7.0.1-mul-AdobeUpdate.zip" file and go to "\payloads\AdobePremierePro7AllTrial-270613015334" folder.
    3. Use 7-Zip or WinRAR to open the "Assets1_1.zip" file.
    4. Find the file name is "2509" and extract.
    5. Rename "2509" to "ImporterFastMPEG.prm".
    6. Copy and replace ImportFastMPEG.prm to "C:\Program Files\Adobe\Adobe Premiere Pro CC\Plug-ins\Common" folder.

  • Prevent navigation on uncommitted data

    hi
    Please consider the example application created using JDeveloper 11.1.2.3.0
    at http://www.consideringred.com/files/oracle/2013/UncommittedDataReviewApp-v0.01.zip
    It contains a page which has an af:document with uncommittedDataWarning="on" [1], and next to a regular af:commandLink also an af:commandLink with immediate="true" combined with an af:checkUncommittedDataBehavior component [2].
    It allows to get warnings like
    "This page contains uncommitted data.
    Would you like to perform navigation?
    Pres OK to continue, or Cancel to abort navigation."
    which allow you to choose if you want to continue the navigation or not.
    See also the screencast at http://screencast.com/t/IBujeLmKE
    question :
    - (q1) What would be the preferred (and future proof) way to prevent navigation on uncommitted data (instead of just a warning)?
    - [1] see http://docs.oracle.com/cd/E35521_01/apirefs.111230/e17491/tagdoc/af_document.html
    - [2] see http://docs.oracle.com/cd/E35521_01/apirefs.111230/e17491/tagdoc/af_checkUncommittedDataBehavior.html
    many thanks
    Jan Vervecken

    Thanks for your reply Frank.
    Frank Nimphius wrote:
    ... So if this works as with how you change the ADFc exception handler, then its by a file with this name in the application META-INF/service folder (the latter doesn't exist by default). ...The documentation section "22.5.3 How to Designate Custom Code as an Exception Handler "
    at http://docs.oracle.com/cd/E35521_01/web.111230/e16182/taskflows_complex.htm#ADFFD22602
    says directory path "application_root\.adf\META-INF\services".
    ... However, the default abstract class is DirtyPageHandler and this is in a public package. ...Sure, but (without documentation) it does not seem trivial to extend it and implement a custom implementation.
    Reviewing some parts of the ADF framework source code suggest this API has some obscure aspects.
    A DirtyPageContext seems to be passed between AdfcDirtyPageHandler and ControlFlowEngine via a request attribute.
    adf_111230_6276_source.zip!\oracle\adfinternal\controller\application\AdfcDirtyPageHandler.java
       public void trackNavigation(DirtyPageHandler.DirtyPageContext dirtyContext)
          if (dirtyContext != null)
             // Store DirtyPageContext on the request for future use
             Map<String, Object> requestMap = JsfInterface.getInstance().getRequestMap();
             requestMap.put(StateParams.DIRTY_PAGE_CONTEXT_KEY, dirtyContext);
       }So, is ControlFlowEngine (also in an "adfinternal" package) intended to be extended/overridden/replaced/customized somehow, or does a custom DirtyPageHandler also have to use this StateParams.DIRTY_PAGE_CONTEXT_KEY request attribute technique?
    adf_111230_6276_source.zip!\oracle\adfinternal\controller\engine\ControlFlowEngine.java
       private boolean cancelNavigationCheck(AdfcContext adfcContext, ActivityId currentActivityId,
                                             ActivityId nextActivityId, Activity activity, String fromAction,
                                             String outcome)
          Object value = requestMap.get(StateParams.DIRTY_PAGE_CONTEXT_KEY);
          DirtyPageHandler.DirtyPageContext dirtyHandler = null;
          if (value instanceof DirtyPageHandler.DirtyPageContext)
             dirtyHandler = (DirtyPageHandler.DirtyPageContext)value;
          else
             return false;
       }Also a framework "adfinternal" RichPhaseListener has a rather explicit dependency on the DirtyPageContextImpl class because it is calling static methods on this implementation class.
    adf_111230_6276_source.zip!\oracle\adfinternal\view\faces\context\RichPhaseListener.java
      public void beforePhase(PhaseEvent event)
        if (phaseId == PhaseId.APPLY_REQUEST_VALUES)
          // Check we we received response from the navigation confirmation dialog
          if (!DirtyPageContextImpl.checkConfirmNavigationResponse())
        else if (phaseId == PhaseId.INVOKE_APPLICATION)
          // Inform DirtyPageHandler that it needs to track navigation (if enabled)
          DirtyPageContextImpl.initDirtyPageContext();
      }This suggests that no alternative implementation for DirtyPageContextImpl is possible.
    But it seems to be the DirtyPageContextImpl class that is responsible for (part of) the "ui interaction", which seems to be what should change to prevent navigation on uncommitted data.
    adf_111230_6276_source.zip!\oracle\adfinternal\view\faces\context\DirtyPageContextImpl.java
      public void confirmNavigation(String confirmationToken)
        script.append("AdfPage.PAGE.confirmNavigation(\"");
          service.addScript(context, script.toString());
      static boolean checkConfirmNavigationResponse()
        String param = external.getRequestParameterMap().get(_CONFIRMATION_RESPONSE_PARAM);
      }So, a rather obscure API.
    ... Maybe worth filing an ER to get a public listener / hook into this instead of dealing with your own implementation. Will file one ...
    ... ER 16663793 ...Sounds like a good idea.
    On My Oracle Support I have been able to find enhancement request 16663793, "PROVIDE HOOK INTO DIRTY PAGE WARNING FOR CUSTOMERS TO HANDLE W. CUSTOM DIALOG" (after requesting it to be published in service request 3-7073188791).
    But, for the current version my question (q1) remains:
    - (q1) What would be the preferred (and future proof) way to prevent navigation on uncommitted data (instead of just a warning)?
    many thanks
    Jan Vervecken

  • Preventive Maint Plan Pending List

    How to display the Preventive Maint Plan Pending List with column having maint plan,maint plan description,planning grp,functional location,plan date.

    Hello,
    Did you try IP16 ?
    Cheers !

  • ADF FACES: how to prevent navigation in the UPDATE_MODEL_VALUES phase

    I have some complex cross-field correlations to verify on data submitted. I can't do this in the PROCESS_VALIDATIONS phase, since all the model values are in consistent at this point depending on which component is being processed.
    So, I'm trying to perform the business logic tests in the UPDATE_MODEL_VALUES phase. This is all working well except for one thing. How do I prevent the view from changing in the case that cross-field issues are detected?
    The scenario is that the user has filled out the form and activates some control that would normally navigate the user away from the current view. I detect an inconsistency and need to place a message in the context and prevent the navigation. This is easy if I do this during the PROCESS_VALIDATIONS phase by just throwing a ValidatorException.
    I just can't figure out how to accomplish this in the UPDATE_MODEL_VALUES phase.
    Any suggestions?

    I spoke too soon. Maybe my case is more subtle. I have a page with a af:showOneTab. In one of the showDetailItems, I have this validation occuring. Thus, when the user clicks on one of the tabs, and the current page has a validation error on it, I want them to stay on the current page.
    Calling renderResponse doesn't seem to prevent the change (although a true ValidatorException thrown during the validation phase does).
    So, I'm still stuck with how to prevent the change in tabs when I detect the error in the UPDATE_MODEL_VALUES phase.
    Thanks.

  • URGENT!!Adding Navigational attr. throws error while activating 0mat_plant

    Hi All,
      I am adding a navigational attribute to 0mat_plant...
    & after that when I am activating 0mat_plant, it throws an error as follows:
    DiagnosisErrors arose when activating InfoObject 0MAT_PLANT. An active version already existed before the activation.
    System ResponseInfoObject 0MAT_PLANT could not be reset to the old active version. Since the generated objects no longer correspond to the old active version, they were reset to inactive.
    ProcedureThe old active version of InfoObject 0MAT_PLANT can no longer be used. Remove the cause of the activation error and activate InfoObject 0MAT_PLANT anew.
    Pls help me with this issue ASAP...
    Thanks
    BI Learner

    Hi Nitin
    Thanks for your reply...
    I just went to that program & activated the program...After I have to activate my object...is it what u want me to do??
    ok anyway...I have 0mat_plant which is already created...with all attributes..Now I want to add a Navigational attri...
    when I add & activate the 0mat_plant..I am getting the above error as I stated in my first message.
    I need one more clarification...could you pls let me know..when you create an infoobject, under the GENERAL TAB, u have a option for ONLY ATTRIBUTE...What is the use of it?
    ANy other ideas for my issue...????

  • Navigation buttons getting error in Accessible PDF

    In InDesign cs6 I have created 2 internal navigation buttons, one is "Go to destination" and one is "Go to Previous View". After exporting as an interactive pdf (yes, all the correct boxes checked or unchecked) and running a full check, I get these error messages:
    2 element(s) that are not contained within the structure tree. (How to Add Tags)
    Inaccessible digital signature
    Inaccessible form field
    I have been creating accessible pdfs for about a year but have never had to make one with this type of button. I have no idea why this is happening and have searched everywhere for an answer. Can anyone help? Please!

    Sorry for the delay in responding, you've probably solved this by now.  But just in case not, or for others searching for this answer. 
    Strangely enough Navigation Buttons are considered "Form Fields" and need to be tagged in the proper reading order the Tag Panel under a Form tag. They also need tool tips which explain their purpose to the user.  The Tab Order also needs to be set in the Forms Task Pane.
    Here is a link that may help.
    http://www.adobe.com/content/dam/Adobe/en/accessibility/products/acrobat/pdfs/acrobat-xi-a ccessible-forms.pdf

  • Navigation - Section Problem - ERROR:1009

    Hello.
    I have a problem with my navigation in my Flash site. I don't know how to ask this question, because i don't know where the problem lies, but i'll try anyway.
    I have a flash site where my navigation is build up by a loop with textfields, with 3 EventListeners (Click, RollOver and RollOut). The navigation uses SWFAddress to change between 6 frames in a MovieClip (SubNavBar).
    This MovieClip is the container of the 5 submenus to my navigation buttons. In this MovieClip i have 6 frames, where the 1st is empty ( just with stop(); ) and the 2nd with a code much alike the navigation code, just without the SWFAddress. So it can change between 5 frames in a new MovieClip ones again. - This works great.
    But then i have copied the code from frame 2 to frame 3, and changed the "names" so it wouldn't interferer with the code from frame 2. This also works great when i test it. - Now i have the subnavigation to Button 1 and Button 2.
    When i test this, and i press the button 1 first and the button 2 second (Frame 2 first, then Frame 3) there is no problem. If i press button 2 first and button 1 second (Frame 3 first, then Frame 2), then button 2 doesn't work, and i get the error:
    TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at test_fla::SubNavBar_1/frame3()
    at flash.display::MovieClip/gotoAndStop()
    at test_fla::MainTimeline/animateIn()
    at Function/ h t t p://adobe.com/AS3/2006/builtin::apply()
    at com.greensock.core::TweenCore/complete()
    at com.greensock::TweenLite/renderTime()
    at com.greensock.core::SimpleTimeline/renderTime()
    at com.greensock::TweenLite$/updateAll()
    Button 1 still work though, and if i press the button 2 afterwords it work again.
    I hope this was understandable? s:
    Jonas Philippon

    click file/publish settings/flash and tick "permit debugging".  retest.  the problematic line number will be in the error message.
    if you don't know how to fix the error with that additional info, copy and paste that line of code here.

  • IDM Reconciliation Pending Error

    Hi all,
    I am supporting IDM Application and I have an issue where the Reconciliation process for almost all the resources are in "Recon:Pending" Status and Last Reconciled date and time shows as "never".
    For few resources, there seems to be no error but the process has got stopped immediately or in a second or so and therefore only few accounts have been processed but still in pending status.
    For other resources, there are errors like:
    Abnormal disconnect from SSH Server: Could not connect to Resource: Auth fail (OR)
    ksh: sudo: not found (OR)
    The wait for a response exceeded the configured timeout while fetching account from resource, etc
    Can someone please help me know and understand why the Reconciliation process doesnt seem to work fine and what can be done. This is the second time I am facing the issue, last time was a month back. We had rebooted IDM webservers as part of our resolution to run the process properly as the next scheduled reconciliations also would not start.
    Please help...Thanks in advance...
    Priyanka.

    Hello Experts,
    Could you someone update the fix regarding the issue.
    Thanks and Regards
    Thirumal.
    Edited by: Thirumalai Malai on Jun 3, 2009 4:09 AM

  • Preventing Form Calc Runtime Error Message Dialog

    When there is an runtime error in a script written in JavaScript, Adobe Reader "swallows" the error (if it is not caught). I mean, it may write the error to the console, but the user isn't warned of the fact, through a message box.
    So, for the user, everything is well.
    For the programmer, because he can use a top level try/catch/finally statement, if he is interested in knowing of the fact, this behaviour is a good compromise.
    If there is a syntax error in a script written in JavaScript Adobe Reader also does not alert the user of the fact.
    If you write code in FormCalc the behaviour is the exact opposite.
    Syntax errors show up to the user. This may be admissible because, with thorough testing, it will happen in development-time.
    But runtime errors always show up to the user. A big dialog, as tall as your code, shows the code to the user, and, at the bottom, possibly already off the screen, the description of runtime error. This may be an ugly description, depending on what failed.
    As far as I know, there is no construct in the Form Calc language that allows catching errors, so you're stuck.
    To make things worse not every FormCalc function is available in JavaScript. Many useful functions only exist in FormCalc.
    I tried calling FormCalc scripts from JavaScript scripts, using the field.execEvent('...') and it works, appart from a lot of dificulties in passing parameters to, and returning results from, using fields' values as intermediaries of this interaction.
    Yet, a try/catch/finally block in the calling JavaScript script does not catch FormCalc errors...so we're back again to the same problem.
    All this, imho, is an absurd, and can only be understood as some market-like feature.
    Is there ANY undocumented way or dirty trick to prevent FormCalc error messages from displaying to the user?
    Or
    Is there ANY undocumented way or dirty trick to catch FormCalc error messages, in FormCalc code?

    Duarte:
    You cannot catch exceptions in FormCalc -- it doesn't have that language feature. If this is important to you, you need to stay with JavaScript. Of course there are certain functions that are available only in FormCalc. There is a way to get at those functions from JavaScript. See my blog post at:
    http://blogs.adobe.com/formfeed/2009/02/calling_formcalc_functions_fro.html
    John

  • IDOC : navigation to the errored segment ...IMPORTANT

    Hello all...
    In transaction BD87 ...if a user selects a particular errored out IDOC (with status 51) with some error ina segment ( lets say segment 3) and  clicks on it..
    I need to take him directly to the errored SEGMENT  3 screen(<b>Display data record</b> <b>for IDOC screen</b>)  ...
    i need to skip all the screens in between,which he has to navigate to reach the segment...
    how can i do it?
    I had to copied RBDMON00 program( BD87) into my z program...now i need to find out the way to go to errored segment directly based on segment number displayed skipping the navigation screens in between....
    Hope u got my question...
    Thanks...

    Hi Aday,
    Please check this FM EDI_DOCUMENT_TREE_DISPLAY.
    I am afraid there is no standard FM available to get the error segment of an IDoc. Perhaps you may want to write your own codes to go to table EDID4 to get the corresponding segment.
    Regards,
    Ferry Lianto
    Message was edited by:
            Ferry Lianto

Maybe you are looking for

  • Error when trying to receive an encrypted AS/2 message

    Hello all, I'm currently working on an AS/2 implementation (my first BizTalk project) and I'm facing an issue with certificates. I've checked numerous websites, blogs, MSDN and until now, I don't get it working. Here's the scenario: From a specific p

  • Exporting avi to mpeg4 for ipod

    my problem is similar to some previously stated. When I open my a vi it plays the whole thing fine. When I export to mpeg4 though it produces a file that will not open in quick time or anything else and isn't and mpeg4. When I split the movie into 2

  • WEB ADI Error with Excel - Compile Error

    I am trying to export data to Excel. The process works until the data is loaded to Excel whereupon I get a Microsoft Visual Basic error "Compile Error: User-defined type not defined. Behind the error message is several screens from VB with the follow

  • WeCenter Workflows in Mobile Devices

    Hi, Our client would like to access workflows of WebCenter in Mobile devices like IPhone, Android devices, Blackberry, Nokia etc. Is there any generic way we can develop workflows for all devices or should we develop it specific for each devices. An

  • Device software compatibility with server software

    We are currently in a beta mode syncing BlackBerry devices with an Exchange server using BlackBerry Manager 4.1.  One of our users wants to upgrage his device software from v4.3 to v4.5.  We are trying to determine if that will create any compatibili