JBO-35007: Row currency has changed error fixes

Posted: July 18, 2008 in HowTo, Oracle, Tips, WebProgramming
Tags: , , ,

When developing JSF pages using Oracle ADF Faces 10.1.3.3, I encountered the error that is reported at the top of the page as: JBO-35007 indicated that the row currency has changed since last visit or something. This was so annoy that it is repeatedly occurred everytimes I hit the back button. Sometimes it disappear when I press Refresh.
Googling around, I found two working solutions for the error:

1.Go to page definition of jsp or jspx by right click on page.
2.Select Iterator of page by using structure window or definition page
3.Go to the Inspector window and change the StateValidation property as false.

“And as can be seen from the JDev doco note, the row currency token mechanism can be turned off per page through the pageDef for your page, setting the EnableTokenValidation to false. (Be warned you should not flippantly turn this off for pages, or blanket turn it off for all pages, as the mechanism is an important one)

So enjoy your programming…

Minh-Tran

Comments
  1. Hamda says:

    Hi

    I have this error and I found the same solution
    my question is:
    Does setting those properties to false affect the client side validation on my page?

    Thank you 🙂
    Hamda

  2. […] – bookmarked by 4 members originally found by sludgely on 2008-07-23 JBO-35007: Row currency has changed error fixes https://oldlight.wordpress.com/2008/07/18/jbo-35007-row-currency-has-changed-error-fixes/ – […]

  3. oldlight says:

    Hamda,
    I am not sure, you should try out and let me know if there is something new… 😉

  4. Anthony says:

    I had the same problem and found what seems to be a cleaner solution. Select the appropriate PageDef and in the Structure window, navigate to the table (view) iterator. Then, in Properties window, under Common, change Refresh from (Deferred) to ifNeeded. The refresh should clean everything up (it seems to have for me).

  5. Jason says:

    This is a total hack, but you can suppress the message by removing it from the list. Create a boolean function (that returns true) in a Managed Bean and associate it with the rendered attribute of the message tag:

    public boolean getSuppress35007Error(){

    Iterator messages = facesContext.getMessages();

    while (messages.hasNext()) {
    FacesMessage message = messages.next();
    if (message.getSeverity() == message.SEVERITY_ERROR){
    if (message.getDetail().contains(“Row currency has changed”)){
    messages.remove();
    }
    }
    }

    return true;

    }

Leave a comment