JBO-35007: Row currency has changed since the user interface was rendered.

Hello,
I have made a search page. And from the search page I select an item and then update it. After updating I come back to the search page. When I again try to search I get this error (JBO-35007) on the page. No error is displayed in the console (Jdeveloper). I have set EnableTokenValidation="false" in the page definition page.
Can someone please tell me what happens when I click the search button? Does the Entity Object cache also gets updated or checked? I am badly stuck at this place.
Thanks,
Sanjay

Hi Sanjay,
I hope this and this can help you!
Regards,
Samba

Similar Messages

  • Row currency has changed since the user interface was rendered.

    Hi All,
    we have developed and deployed an Application in Production, before four months,
    Suddenly for the past two days we are getting an error after the page being idle for 2- 3 minutes.
    Row currency has changed since the user interface was rendered. The expected row key was oracle.jbo.Key[3259 ]Once we get the error, the session scoped beans are resetting the values, and all the vo's cache are getting cleared(All the buttons in the page will get disabled and the menu will disappear).
    but the same EAR is working perfectly in UAT and QA environments.
    We have changed the "Enabletokenvalidation" as false and tested again, but the page itself is not loading after the change .
    We have checked the Production and UAT weblogic server settings , but didn't find anything wrong.
    WebLogic Server Version: 10.3.3.0
    Studio Edition Version 11.1.1.2.0
    if any ideas,
    please help us...
    Regards,
    Ranjith

    Hi All,
    We have checked the error "Row currency has changed since the user interface was rendered. The expected row key was oracle.jbo.Key[3259 ]", we tuned the view objects, we changed the application page flows, and it is found that once we turn off the statevalidation (statevalidation =false), the error is not popping up, but it is getting fired in the server side as
    oracle.jbo.JboException: JBO-35007: Row currency has changed since the user interface was rendered. The expected row key was oracle.jbo.Key[3259 ]
         at oracle.adf.model.binding.DCBindingContainerState.throwRowNotFoundException(DCBindingContainerState.java:318)
         at oracle.adf.model.binding.DCBindingContainerState.validateIterator(DCBindingContainerState.java:341)
         at oracle.adf.model.binding.DCBindingContainerState.validateStateFromString(DCBindingContainerState.java:482)
         at oracle.adf.model.binding.DCBindingContainerState.validateStateFromString(DCBindingContainerState.java:492)
         at oracle.adf.model.binding.DCBindingContainerState.validateToken(DCBindingContainerState.java:602)
         at oracle.adf.model.binding.DCBindingContainer.validateToken(DCBindingContainer.java:4852)
         at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.prepareModel(PageLifecycleImpl.java:117)
         at oracle.adf.controller.v2.lifecycle.Lifecycle$2.execute(Lifecycle.java:137)
         at oracle.adfinternal.controller.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:192)
         at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener.access$400(ADFPhaseListener.java:21)
         at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener$PhaseInvokerImpl.startPageLifecycle(ADFPhaseListener.java:231)
         at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener$1.after(ADFPhaseListener.java:269)
         at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener.afterPhase(ADFPhaseListener.java:72)
         at oracle.adfinternal.controller.faces.lifecycle.ADFLifecyclePhaseListener.afterPhase(ADFLifecyclePhaseListener.java:54)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:364)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:177)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:191)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:97)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:421)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:421)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:94)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:138)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
         at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:160)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
         at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:330)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.doIt(WebAppServletContext.java:3684)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3650)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2268)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1446)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)No Difference in server side configurations of prod and UAT
    we are not using back button press or any other rowItearation in these pages and we are not changing the row key through code.
    Simple Master page, with inline edit , add and delete with thousands of records.
    Error is popping up after the page is being idle for 2- 3 mins. on the next request after the idle time, the error will pop up .
    once the row currency error came, the current state of the view objects will get reset to the initial state(First row).
    we don't know how to fix this issue, this issue is coming in production server only...
    if any body comes across such an issue, please help us to resolve this issue..
    Regards,
    Ranjith C

  • JBO-33035: Row currency has changed since the user interface was rendered

    First - Yes I have read a number of the postings regarding this error - HOWEVER - there seems to be a 'rather' serious side effect that I need to get fixed.
    Am dropping on a a UIX datapage a datacontrol VO component as a Search Form. I have added Delete/Commit/Rollback buttons to this form. When the app is run and I am on the initial Results page and I select the Delete button I get the 33035 error. When I select it a second time it works as it should and I then select the Commit or the Rollback button. If, from the Results page I select the Find button - I am taken to the Search Criteria page where I can enter the appropriate Edit Criteria, select the Execute button and I get the proper results on the Result page. The Delete button then behaves as previously described.
    After looking at Steve Munch's article at http://www.oracle.com/technology/products/jdev/tips/muench/paging/index.html I then changed the Enable Token Validation property to False. Now when I am on the initial Results page the Delete button works as it should - no 33035 error. HOWEVER - when I go to the Search Criteria page, enter the appropriate Edit Criteria, and select the Execute button - the screen simply refreshes the Search Criteria form and NO results are returned!
    Thanks for any help - Casey

    Issue resolved
    Problem was - accessing a remote database. When selected a record then immediately selected the Delete button - the remote access did not have enough time to refresh the 'RowSet'. Select the row to be deleted and give the remote database time to refresh and no issues.
    Casey

  • ADF error-"Row currency has changed since the user interface was rendered"

    Hi,
    I have created a ADf page and then created entity and view object for a table.
    I have created fields which are binded to the the view object .
    when i open the page after deploying it i get the following error
    "Row currency has changed since the user interface was rendered. The expected row key was oracle.jbo.Key[]"
    Please help me
    Edited by: 798554 on Sep 28, 2010 10:45 PM

    That's a common exception in ADF. If you click the browser back button, you can get this message. You could search for a solution in other posts, perhaps like that:
    JBO-35007: Row currency has changed.. when Rollback fom a Dialog page
    http://cn.forums.oracle.com/forums/thread.jspa?messageID=3913201
    http://programming.itags.org/development-tools/68191/
    You should also mention your JDev version!
    NA
    http://nickaiva.blogspot.com/

  • Row currency has changed since the user interface was rendered on create

    Hi all,
    I am getting "Row currency has changed since the user interface was rendered. The expected row key was oracle.jbo.Key" error on create action. Use case is simple. There is view table and a create button. When I click to the create button i am getting this error. Browser back button is never used.
    The strange thing is i am not getting this error when i run my application on local envirionment. However after i had deployed it to the real development environment, it started to throw this error and i am not getting this error on other pages.
    JDeveloper Version: 11.1.2.2.0 (JSF 2.0)
    Development environment Weblogic Version: 11.1.1.6
    Regards,
    Anil

    Hi Timo,
    I changed my create button to create insert. The "Row Currency" error has gone and page is opened properly. However when i open a LOV (inputComboboxListOfValues and inputListOfValues), it throws an exception. I checked WLS logs and it logged the following error which i was never encounter.
    javax.servlet.ServletException: java.lang.NoSuchMethodError: oracle.jbo.uicli.binding.JUSearchBindingCustomizer.rebuildVCTree(Loracle/adf/model/binding/DCBindingContainer;)V
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:342)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:125)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
    at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:293)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:199)
    at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
    at java.security.AccessController.doPrivileged(Native Method)
    at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
    at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
    at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
    at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
    at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3730)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3696)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2273)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
    Caused by: java.lang.NoSuchMethodError: oracle.jbo.uicli.binding.JUSearchBindingCustomizer.rebuildVCTree(Loracle/adf/model/binding/DCBindingContainer;)V
    at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding$AdfConjunctionCriterion._loadCriterionList(FacesCtrlSearchBinding.java:3342)
    at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding$AdfConjunctionCriterion.getCriterionList(FacesCtrlSearchBinding.java:3250)
    at oracle.adfinternal.view.faces.renderkit.rich.query.QueryBehavior.shouldShowInstructionText(QueryBehavior.java:58)
    at oracle.adfinternal.view.faces.renderkit.rich.QueryRenderer._createInfoFacet(QueryRenderer.java:1810)
    at oracle.adfinternal.view.faces.renderkit.rich.QueryRenderer.renderContentRow(QueryRenderer.java:720)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelHeaderRenderer.encodeAll(PanelHeaderRenderer.java:248)
    at oracle.adfinternal.view.faces.renderkit.rich.QueryRenderer.encodeAll(QueryRenderer.java:427)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1681)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
    at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:641)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelHeaderRenderer.renderChildrenAfterHelpAndInfo(PanelHeaderRenderer.java:637)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelHeaderRenderer._renderContentCell(PanelHeaderRenderer.java:1169)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelHeaderRenderer.renderContentRow(PanelHeaderRenderer.java:575)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelHeaderRenderer.encodeAll(PanelHeaderRenderer.java:248)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1681)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
    at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer._encodeChild(PanelGroupLayoutRenderer.java:447)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer.access$1500(PanelGroupLayoutRenderer.java:30)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer$EncoderCallback.processComponent(PanelGroupLayoutRenderer.java:734)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer$EncoderCallback.processComponent(PanelGroupLayoutRenderer.java:637)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:187)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:318)
    at org.apache.myfaces.trinidad.component.UIXComponent.encodeFlattenedChildren(UIXComponent.java:283)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer.encodeAll(PanelGroupLayoutRenderer.java:360)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1681)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
    at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:641)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelWindowRenderer.encodeContent(PanelWindowRenderer.java:689)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelWindowRenderer.encodeAll(PanelWindowRenderer.java:534)
    at oracle.adfinternal.view.faces.renderkit.rich.DialogRenderer.encodeAll(DialogRenderer.java:143)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1681)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
    at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:641)
    at oracle.adf.view.rich.render.RichRenderer.encodeAllChildrenInContext(RichRenderer.java:3062)
    at oracle.adfinternal.view.faces.renderkit.rich.PopupRenderer.encodeAll(PopupRenderer.java:845)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1681)
    at oracle.adfinternal.view.faces.renderkit.rich.SimpleInputListOfValuesRendererBase._renderPopup(SimpleInputListOfValuesRendererBase.java:886)
    at oracle.adfinternal.view.faces.renderkit.rich.SimpleInputListOfValuesRendererBase.renderElementContent(SimpleInputListOfValuesRendererBase.java:452)
    at oracle.adfinternal.view.faces.renderkit.rich.FormInputRenderer.encodeAllAsElement(FormInputRenderer.java:152)
    at oracle.adfinternal.view.faces.renderkit.rich.FormElementRenderer.encodeAll(FormElementRenderer.java:164)
    at oracle.adf.view.rich.render.RichRenderer.delegateRenderer(RichRenderer.java:1700)
    at oracle.adfinternal.view.faces.renderkit.rich.LabeledInputRenderer.renderFieldCellContents(LabeledInputRenderer.java:228)
    at oracle.adfinternal.view.faces.renderkit.rich.LabelLayoutRenderer.renderFieldCell(LabelLayoutRenderer.java:528)
    at oracle.adfinternal.view.faces.renderkit.rich.LabelLayoutRenderer.encodeAll(LabelLayoutRenderer.java:305)
    at oracle.adfinternal.view.faces.renderkit.rich.LabeledInputRenderer.encodeAll(LabeledInputRenderer.java:215)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1681)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
    at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer._encodeFormItem(PanelFormLayoutRenderer.java:1088)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer.access$100(PanelFormLayoutRenderer.java:50)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer$FormColumnEncoder.processComponent(PanelFormLayoutRenderer.java:1604)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer$FormColumnEncoder.processComponent(PanelFormLayoutRenderer.java:1523)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:187)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:318)
    at org.apache.myfaces.trinidad.component.UIXComponent.encodeFlattenedChildren(UIXComponent.java:283)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer._encodeChildren(PanelFormLayoutRenderer.java:420)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer.encodeAll(PanelFormLayoutRenderer.java:208)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1681)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
    at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
    at oracle.adf.view.rich.render.RichRenderer.encodeStretchedChild(RichRenderer.java:2194)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelBoxRenderer.access$500(PanelBoxRenderer.java:40)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelBoxRenderer$ChildEncoderCallback.processComponent(PanelBoxRenderer.java:2413)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelBoxRenderer$ChildEncoderCallback.processComponent(PanelBoxRenderer.java:2396)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:187)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:318)
    at org.apache.myfaces.trinidad.component.UIXComponent.encodeFlattenedChildren(UIXComponent.java:283)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelBoxRenderer._encodeAllChildren(PanelBoxRenderer.java:1510)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelBoxRenderer._renderContentRow(PanelBoxRenderer.java:1440)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelBoxRenderer.encodeAll(PanelBoxRenderer.java:381)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1681)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
    at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
    at oracle.adf.view.rich.render.RichRenderer.encodeStretchedChild(RichRenderer.java:2194)
    at oracle.adfinternal.view.faces.renderkit.rich.RegionRenderer.access$400(RegionRenderer.java:50)
    at oracle.adfinternal.view.faces.renderkit.rich.RegionRenderer$ChildEncoderCallback.processComponent(RegionRenderer.java:707)
    at oracle.adfinternal.view.faces.renderkit.rich.RegionRenderer$ChildEncoderCallback.processComponent(RegionRenderer.java:692)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:187)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:318)
    at org.apache.myfaces.trinidad.component.UIXComponent.encodeFlattenedChildren(UIXComponent.java:283)
    at oracle.adfinternal.view.faces.renderkit.rich.RegionRenderer._encodeChildren(RegionRenderer.java:297)
    at oracle.adfinternal.view.faces.renderkit.rich.RegionRenderer.encodeAll(RegionRenderer.java:186)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
    at oracle.adf.view.rich.component.fragment.UIXRegion.encodeEnd(UIXRegion.java:323)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1681)
    at oracle.adfinternal.view.faces.taglib.region.IncludeTag$FacetWrapper.encodeAll(IncludeTag.java:547)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
    at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelStretchLayoutRenderer.encodeCenterFacet(PanelStretchLayoutRenderer.java:879)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelStretchLayoutRenderer._encodeCenterPane(PanelStretchLayoutRenderer.java:1294)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelStretchLayoutRenderer._encodeMiddlePanes(PanelStretchLayoutRenderer.java:351)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelStretchLayoutRenderer.encodeAll(PanelStretchLayoutRenderer.java:316)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1681)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
    at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:641)
    at oracle.adf.view.rich.render.RichRenderer.encodeAllChildrenInContext(RichRenderer.java:3062)
    at oracle.adfinternal.view.faces.renderkit.rich.PageTemplateRenderer.encodeAll(PageTemplateRenderer.java:68)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1681)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
    at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:641)
    at oracle.adf.view.rich.render.RichRenderer.encodeAllChildrenInContext(RichRenderer.java:3062)
    at oracle.adfinternal.view.faces.renderkit.rich.FormRenderer.encodeAll(FormRenderer.java:274)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1681)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
    at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:641)
    at oracle.adf.view.rich.render.RichRenderer.encodeAllChildrenInContext(RichRenderer.java:3062)
    at oracle.adfinternal.view.faces.renderkit.rich.DocumentRenderer.encodeAll(DocumentRenderer.java:1275)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1681)
    at oracle.adfinternal.view.faces.context.PartialViewContextImpl._processRender(PartialViewContextImpl.java:321)
    at oracle.adfinternal.view.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:152)
    at javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:974)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1674)
    at oracle.adfinternal.view.faces.component.AdfViewRoot.encodeAll(AdfViewRoot.java:91)
    at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:399)
    at org.apache.myfaces.trinidadinternal.application.ViewDeclarationLanguageFactoryImpl$ChangeApplyingVDLWrapper.renderView(ViewDeclarationLanguageFactoryImpl.java:350)
    at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
    at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:273)
    at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:165)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:1032)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:339)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:237)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:509)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
    ... 33 more
    Edited by: AnilA on 15.Nis.2013 16:36

  • JBO-29000: JBO-33035: Row currency has changed since the user interface....

    I've a problem related to ADF that I don't understand very well:
    JBO-29000: JBO-33035: Row currency has changed since the user interface was rendered. The expected row key was null
    I read that is due to the Token and the functionality "Enable Token Validation" set to true (http://www.oracle.com/technology/products/jdev/tips/muench/paging/index.html)
    this error appears rarely, and try again to do the same operation it work correctly.
    Could be this problem related to the slow performances of the system(i.e. network problems, as performances, db performances that reduce speed of the system)?
    thank you
    Francesca

    This error is not related to performance.
    It can only be caused by submitting a page whose current row token contains the value of a key which does not match the key of the current row in the corresponding iterator when the server processes the request.
    Often, it can occur if the user uses the browser back button to go back to a page whose current row token now no longer matches the actual current row in the iterator.

  • [Master-Detail] JBO-35007: Row currency has changed since...

    Hi,
    I have a very annoying problem in ADF Faces with row currency:
    I have a "Master table - Detail table" relationship on a very simple test page based on the SRDemo's PRODUCTS and SERVICE_REQUESTS tables. Everything was done automatically: create Entities from Tables, create the SLSB facade, and create the tables on the page via dragging the accessor.
    Then I added a "Refresh" button on the page whose action handler is:
        public String btnRefresh_action() {
            DCIteratorBinding iterMaster = (DCIteratorBinding)bindings.get("findAllProductsIter");
            String rowKeyStrMaster = iterMaster.getCurrentRowKeyString();
            DCIteratorBinding iterDetail = (DCIteratorBinding)bindings.get("serviceRequestListIterator");
            String rowKeyStrDetail = iterDetail.getCurrentRowKeyString();
            iterMaster.executeQuery();
            iterMaster.setCurrentRowWithKey(rowKeyStrMaster);
            iterDetail.setCurrentRowWithKey(rowKeyStrDetail);
            return null;
        }And here's where the problem kicks in:
    1. I select the product with ID=100 (because it has multiple details).
    2. I select some detail. Say, the second one.
    3. I click on the "Refresh" button.
    4. The button's handler re-executes the iterator and restores the current rows on the tables. The page loads okay and the rows that were selected prior to clicking on the button continue to be selected appropriately.
    5. Now I click on the "Refresh" button again. And I get the error: "JBO-35007: Row currency has changed since the user interface was rendered. The expected row key was oracle.jbo.Key[1 ]".
    Please, help. What should I do to prevent this error from happening? It it a bug in my code or a bug in the framework? When I only have one table (and not a Master-Detail relationship), everything works. The problem comes from the Detail table.
    We use EJB3 + JPA + ADF Faces. I tested the problem on JDev 10.1.3.3.0.4157 and JDev 10.1.3.2.0.4066.
    Best regards
    Bisser

    no post......
    Edited by: BaiG on Nov 2, 2010 2:21 PM

  • 15 concurrent users and JBO-35007 row currency has changed

    Hi!
    Something for the weekend :)
    I have an ADF/BC 10.1.3.3. application on 10.1.3.3. Oracle AS. I use a jazn security with users and roles stored in database tables. While testing with one or two users I never ran into the same problem as we had this week when testing with 15 users. I have an entity and VO with a whole attributes that are edited in a couple of jspx pages that composed with process train control. There are also a couple of detail data edited on this page. I'm using ProcessScope quite a lot to pass some information between the pages.
    Well, to get to the point: when testing with 15 users we had A LOT of JBO-35007 row currency has changed since the user interface was rendered errors in this process. Every user was editing it's own data row. The error appeared every time a user left the application inactive for a couple of seconds, entered some data and clicked commit. I'm not aware of the security settings of the browser on the testing computers and I can't get them now to see if something like this could be the problem.
    When I checked the log files, there are a lot of errors or warnings in them. I'll try to sum the ones that might be important for this issue. These errors appear a lot's of times in these log files that is why I'm assuming some of these are connected to my issue.
    application.log file in application-deployments logs:
    08/04/23 09:58:42.443 MyViewControllerArchive: Servlet error
    java.io.IOException: An existing connection was forcibly closed by the remote host
    08/04/23 11:31:47.980 MyViewControllerArchive: Servlet error
    java.io.IOException: An established connection was aborted by the software in your host machine
    08/04/23 11:31:49.402 MyViewControllerArchive: Servlet error
    java.lang.IndexOutOfBoundsException: SelectOne submittedValue's index 0 is out of bounds. It should be between 0 and -1
    08/04/23 11:33:19.104 MyViewControllerArchive: An established connection was aborted by the software in your host machine
    08/04/23 11:33:19.104 MyViewControllerArchive: Servlet error
    java.io.IOException: An established connection was aborted by the software in your host machine
    A whole lot of these kind of errors:
    08/04/23 11:24:06.80 MyViewControllerArchive: Servlet error
    oracle.jbo.common.ampool.ApplicationPoolException: JBO-30019: An unavailable cookie state was detected while attempting to use a cookie. applicationId: 54ffe51d30d5c84e0cb1979645a196749529aeb674d8, sessionId: MyModuleDataControl.
    08/04/24 08:39:22.424 MyViewControllerArchive: Servlet error
    java.lang.IllegalStateException: Response has already been committed
    log.xml file in oc4j folder:
    <MESSAGE>
              <HEADER>
                   <TSTZ_ORIGINATING>2008-04-23T09:53:49.165+02:00</TSTZ_ORIGINATING>
                   <COMPONENT_ID>adfinternal</COMPONENT_ID>
                   <MSG_TYPE TYPE="WARNING"/>
                   <MSG_LEVEL>1</MSG_LEVEL>
                   <HOST_ID>my_AS</HOST_ID>
                   <HOST_NWADDR>my_IP</HOST_NWADDR>
                   <MODULE_ID>view.faces.model.binding.FacesCtrlRangeBinding</MODULE_ID>
                   <THREAD_ID>10</THREAD_ID>
                   <USER_ID>SYSTEM</USER_ID>
              </HEADER>
              <CORRELATION_DATA>
                   <EXEC_CONTEXT_ID>
                        <UNIQUE_ID>1208937229:my_IP:3020:1764:630</UNIQUE_ID>
                        <SEQ>1</SEQ>
                   </EXEC_CONTEXT_ID>
              </CORRELATION_DATA>
              <PAYLOAD>
                   <MSG_TEXT>rowIterator is null</MSG_TEXT>
              </PAYLOAD>
         </MESSAGE>
    <MESSAGE>
              <HEADER>
                   <TSTZ_ORIGINATING>2008-04-23T09:48:30.903+02:00</TSTZ_ORIGINATING>
                   <COMPONENT_ID>j2ee</COMPONENT_ID>
                   <MSG_ID>J2EE DS-00265</MSG_ID>
                   <MSG_TYPE TYPE="WARNING"/>
                   <MSG_LEVEL>1</MSG_LEVEL>
                   <HOST_ID>my_AS</HOST_ID>
                   <HOST_NWADDR>my_IP</HOST_NWADDR>
                   <MODULE_ID>datasource</MODULE_ID>
                   <THREAD_ID>12</THREAD_ID>
                   <USER_ID>SYSTEM</USER_ID>
              </HEADER>
              <CORRELATION_DATA>
                   <EXEC_CONTEXT_ID>
                        <UNIQUE_ID>my_IP:57162:1208526415373:226</UNIQUE_ID>
                        <SEQ>0</SEQ>
                   </EXEC_CONTEXT_ID>
              </CORRELATION_DATA>
              <PAYLOAD>
                   <MSG_TEXT>Unclosed connection detected : 'oracle.oc4j.sql.spi.ConnectionFinalizer@f67148' : ''.</MSG_TEXT>
              </PAYLOAD>
         </MESSAGE>
    <MESSAGE>
              <HEADER>
                   <TSTZ_ORIGINATING>2008-04-23T09:53:54.165+02:00</TSTZ_ORIGINATING>
                   <COMPONENT_ID>adf</COMPONENT_ID>
                   <MSG_TYPE TYPE="WARNING"/>
                   <MSG_LEVEL>1</MSG_LEVEL>
                   <HOST_ID>my_AS</HOST_ID>
                   <HOST_NWADDR>my_IP</HOST_NWADDR>
                   <MODULE_ID>controller.faces.lifecycle.FacesPageLifecycle</MODULE_ID>
                   <THREAD_ID>13</THREAD_ID>
                   <USER_ID>SYSTEM</USER_ID>
              </HEADER>
              <CORRELATION_DATA>
                   <EXEC_CONTEXT_ID>
                        <UNIQUE_ID>1208937232:my_IP:3020:508:635</UNIQUE_ID>
                        <SEQ>299</SEQ>
                   </EXEC_CONTEXT_ID>
              </CORRELATION_DATA>
              <PAYLOAD>
                   <MSG_TEXT>JBO-35007: My 35007 JBO message since I overwritten the message text</MSG_TEXT>
              </PAYLOAD>
         </MESSAGE>
    The problem is I can't reproduce this behaviour any more in my environment. If someone could maybe point me to the errors that are important and could be the cause of this errors. Could this be an internet browser security settings issue? What about those errors about aborted connections?
    If you can't provide me an answer (which I know it would be very difficult by the information provided), maybe you could explain the cause of some of the errors described above?
    I'd appreciate any tips on this since I don't have e an idea how and where to start to at least reproduce and find out the cause of this. Than I'll worry about the solution :).
    Thank you in advance,
    BB

    Hi,
    I am also facing the same issue JBO-30019: An unavailable cookie state is detected while attempting to use a cookie from application {0}, session {1}.
    Is there anyone who has been able to reproduce this. If yes can you please update the following bug which is logged for the issue: [9507310|https://bug.oraclecorp.com/pls/bug/webbug_edit.edit_info_top?report_title=&rptno=9507310&query_id=814000&rptno_count=1&pos=1]
    It will be of much help.
    I have found the following page referring the problem: page, if this helps.
    Please update.
    Regards,
    Ashis
    글 수정: user9546421

  • JMeter ThreadGroup Looping cause error- JBO-35007: Row currency has changed

    Hi all,
    Still Stress testing ADF Faces with JMeter,
    I try to simulate each user inserting multiple rows by setting Loop Count = nn on a JMeter Thread Group :
    Test Plan
    Thread Group
    Http Cookie Manager
    Once Only Controller
    1) MainMenu.jspx
    2) Login
    3) SalesMenu
    ***** end of Once Only Controller
    4) Add New Order -> this will open a blank Form after a new row is Inserted
    5) Submit the Form -> this will do entity validation
    6) Press Commit
    7) Back to SalesMenu
    *** end of test plan
    As you see, by using Once Only Controller, I want the looping of inserting new Order starts from step 4)
    But on step 5) I get the error :
    JBO-35007: Row currency has changed since the user interface was rendered.
    The expected row key was oracle.jbo.Key[-3649]
    Is ther any work around for this ?
    Thank you for your help,
    xtanto

    Hi Chris,
    Thank you for your reply
    A) is it the first iteration of the loop it fails? If not which iteration?
    No, first iteration is successfull, error occured on iteration-2.
    B) number 7, when you say back to the sales menu, by what means? Via browser back button?
    Not via back button, I do it using Global Navigation rule from action propeerty of <af:commandMenuItem
    C) your sales menu, does it use af:command controls or af:go controls?
    From SalesMenu to AddOrderPage -> using <af:commandMenuItem
    D) the number -3469. Is it familiar to you? A number you're generating via I'm curious to know why it's negative.
    Yes, negative is expected, its because I use DBSequence as PK, and on entering the AddOrderPage, a new Row is created, when created by ADF the PK is negative,
    then using a DB Before Insert Trigger I update it with a normal sequence.
    Does iteration / looping work in your case ?
    Thank you very much,
    xtanto.

  • Intermittent JBO-35007 (Row currency has changed...) and coordination

    I get an intermittent JBO-35007: Row currency has changed since the user interface was rendered. It is not repeatable - ie. if the user leaves the application and starts it again, whatever they were doing works ok. It happens about every hour when the user is doing constant testing. It is somewhat repeatable if you go into one of the screens it happens on, then leave the application open and do something else entirely for 30 - 40 minutes, when you come back and select a different record (using select radio button) it occurs, but even this is not always repeatable. It happens on our screens where we have master and details displayed on the one screen and both master and details are displayed as tables (ie. multiple records). The user says it happens most often when he is using the drop down on the master list that lets you see the next ten records.
    When the problem happens the master and detail records no longer coordinate, so the user can add a detail record to a master different from the one it appears to be adding too. I have told him to logout after a JBO-35007, but he doesn't think that the users will always remember to do that.
    We've just disabled the back button, although the tester is sure he wasn't using that. We've changed session timeout on web.xml so that it will timeout after 20 minutes of inactivity, so it can no longer occur after 30 minutes of inactivity, but it's still happening after that.
    Any suggestions would be greatly appreciated. Thanks.

    I've been assisting Anita and her team in tracking down this issue with JBO-35007 and then JBO-25013. Her team has done an excellent job in nailing this issue down, the problem is surprisingly simple to replicate once you know how, and can now be reproduced consistently.
    Anita and I would like ask for some assistance and advice from potentially the JDev crew and others on have they found a solution to this, and potentially strategies to reduce the issue. Anita has raised an SR, but as getting through 1st level support can be a pain in the butt, I'd thought we'd try a 2 pronged attack and see if we can get assistance from OTN.
    This is the scenario:
    1) There are 2 simple ADF Faces web pages, the 1st with a table, record selector and "edit" submit button to navigate to the 2nd screen. The 2nd screen is an input form for editing the record selected from the 1st page and a submit button to return to the 1st screen. Let's call these pages "view" and "edit" for simplicity.
    2) On the view page, the table selector has autoSubmit="true". This is important.
    3) On the view page there are multiple records showing. For simplicity we'll refer to three records X, Y and Z. By default on entry to the screen, record X is selected.
    4) The user on the view screen selects record Y via the table record-selector, and then presses the edit submit button. A side affect of selecting record Y with the autoSubmit is the underlying iterator row currency is updated, now pointing at Y.
    5) Today, the internet is running a bit slow for whatever reason, and the ADF Faces application doesn't reply instantly by showing the edit page. The user, a bit frustrated with the experience, changes their mind, and still with the view page showing because it hasn't updated yet, decides to pick record Z via the table record-selector, and presses the edit submit button again.
    6) This is actually two actions, as the table-selector's autosubmit results in another request to the midtier to update the iterator's row currency, and then the edit button to navigate to the edit page.
    7) Eventually the application responds, and it shows the edit page for record Y.
    It's a bit hard to guess here if it should actually show record Y or record Z. I don't mean this is a bug, but rather should it logically show record Y because that was the first user's action, or record Z because that's what the user selected. No matter, lets just accept the user sees record Y (possibly incorrectly thinking they're seeing record Z) and start updating the record.
    8) The user then presses the submit button on the edit page showing record Y, and JBO-35007 and JBO-25013 is thrown.
    Why is JBO-35007 thrown? I'd suggest that the selecting of record Z in step 5 & 6 is successfully updating the iterator's row currency, even though the edit page has yet to be fully rendered on the client's browser. It appears that the midtier has no way of knowing that the client has yet received the edit page, so it blindly accepts new requests from the client.
    This is actually similar to the back button problem, in terms of communications with the midtier. The solution to the back button problem at this stage appears to be "user education". However our problem is worse than the back button issue, as slow internet connections are a reality beyond their control, and expecting the users not to double click is stretching the "user education" solution thing a bit too far IMHO.
    A couple of separate points I'd like to raise:
    1) As for point 2 above, the table has autoSubmit set to true. This is the route of the problem and as such could be set to false. However when generating master-table-detail-table pages in JDev, typically you want the master's autoSubmit = true such that the detail table automatically refreshes when a new master record is selected. If we say no to autoSubmit, this means no to master-table-detail-table and is that reasonable as that is a feature in JDev.
    2) However, if the autoSubmit is set to false, the problem is not reproducible. I'd suggest when the user clicks on the submit button on the edit page in this case, the submit button has some sort of functionality to stop the user selecting the button twice until the midtier responds. Is this correct? Potentially there is Javascript functionality doing this? I'm aware on other Web-developer forums of discussions on the <body> tag onload & unload Javascript events to enable/disable buttons to stop multiple submit calls to the midtier. Does the ADF Faces command buttons do this? If such a feature exists, cannot this same functionality be added to the autoSubmit?
    3) We could turn off the tokenValidation in both pageDef, or a combination, but I think this a case where we do want the tokenValidation as the midtier and client are confused.
    4) JDev's HTTP Analyzer can assist in showing what's flowing between the browser and midtier, in particular that you can see the additional autoSubmit of step 5 & 6 sent from the browser.
    5) This issue becomes more prevalent on a slow internet connection. It is hard to produce "naturally" on a fast JDev install. However it can be reproduced by placing a breakpoint on the <afh:html> tag of the edit page and running the test in debug mode. When the breakpoint is reached on first navigating to the edit page, you can return to your browser, which is still showing the view page, select another record and submit, return to the debugger, and press continue.
    As mentioned if anybody could lend support with this issue it would be appreciated. Is there a solution to this? Is this is a bug? Any other thoughts appreciated.
    Thanks & regards,
    CM.
    PS. Anita, if you could add any clarifications if needed please.

  • JBO-35007: Row currency has changed.. when Rollback fom a Dialog page

    Hi All,
    From a page with an ADF Readonly table, I press 'Edit' button to edit some fields (not all) in an edit page as a Dialog page. Both page use same View Object Instance. Edit page has Commit and Rollback button.
    Since it is a dialog page , I add af:returnActionListener to the Rollback button
    If I press Commit its fine. But If I press Rollback, when I back to originating page I get this error :
    1. JBO-29000: Unexpected exception caught: oracle.jbo.JboException, msg=JBO-35007: Row currency has changed since the user interface was rendered. The expected row key was oracle.jbo.Key[IV 2107 SIU01 ]
    2. JBO-35007: Row currency has changed since the user interface was rendered. The expected row key was oracle.jbo.Key[IV 2107 SIU01 ]
    How to solve this problem ?
    Thank you for your help,
    xtanto

    Doing a rollback by default clears the caches. This causes view objects to be requeried the next time they are needed, and causes the current row to be reset to the first row in the view object instance's default row set.
    This error means that the row that was current when the browse page was rendered is now no longer the current row. Token validation is set on the page definition for a JSF page. By default, token validation is on.
    To adjust the setting for token validation:
    1. Open the page definition file for the page.
    2. In the Structure window, select the root node for the page definition itself.
    3. In the Property Inspector, use the dropdown list for the
    EnableTokenValidation attribute to set validation to true to turn on token
    validation, or false to turn off token validation.
    Alternatively, if you cause a partial-page update on the base page, it should update it's notion of the current row and that is another way to avoid this error.

  • JBO-35007: Row currency has changed

    I have a search page that returns result to the same page. Result iterator is:
    <iterator id="SearchPersonsIterator" RangeSize="10"
    Binds="SearchPersons" DataControl="AppModuleDataControl"
    RefreshCondition="${adfFacesContext.postback}"
    Refresh="renderModelIfNeeded"/>
    After I get result to result table, I select any result and go to View person details page.
    If I click Back button and re-execute the query, I get:
    JBO-35007: Row currency has changed since the user interface was rendered. The expected row key was oracle.jbo.Key[268012 ]
    IF I hit Search again, error disappears
    This was discussed extensively in the forum and I understand the conceptual reason of this error and I think I need to reexecute the Iterator just when Search button is pressed. I try to use:
    RefreshCondition="${bindings.ExecuteWithParams}"
    Refresh="ifNeeded"
    or
    RefreshCondition="${bindings.ExecuteWithParams.execute}"
    Refresh="ifNeeded"
    Which in my opinion should work because bindings.ExecuteWithParams is action listener to my Search button?
    I also try:
    RefreshCondition="${adfFacesContext.postback == false}"
    Refresh="renderModelIfNeeded"/>
    RefreshCondition="${adfFacesContext.postback == false}"
    Refresh=" prepareModel"/>
    RefreshCondition="${tue}"
    Refresh="prepareModel"/>
    AND
    Refresh="ifNeeded"/> with no condition at all
    Nothing is working

    Ok, I didn’t sow the whole picture (usual stuff). I have another iterator
    <iterator id="PersonInformationIterator" Binds="PersonInformation"
    RangeSize="10" DataControl="AppModuleDataControl">
    PersonInformationIterator, after SearchPersonsIterator refresh, was in no-synchronization with SearchPersonsIterator. After setting refresh for bouth:
    RefreshCondition="${adfFacesContext.postback == false}"
    Refresh="renderModelIfNeeded"
    error disappears.
    I still don’t exactly understand why…but ecerything now works just fine

  • PBS !!! JBO-35007 row currency has changed

    Hello,
    I have a simple DB Table Person with 2 columns "FirstName", "LastName" which are required (not Null).
    I create a VO "PersonQuery" based on a VE "PersonneEntity", this last one is associated to the DB Table "Person".
    So, i use a create form based on the VO "PersonQuery". When i commit my form with at most one field leaves "blank" (the field is required and the client validation is to false), after second commit, i have JBO-35007 row currency has changed... After, i can't commit the form with values for all fields, because jdeveloper has a wrong row key !!! I have an error for each field which is blank for jdeveloper !!!
    If the row currency token mechanism is be turned off through the pageDef for my page, by setting the EnableTokenValidation to false, my initial creation form isn't blank but associated with the first record of the DB Table.
    Thank for your help !
    Bob

    Hi,
    Ok, i don't ignore the validation error. By switching off client validation, i want to use the server side validation for required fields. So, by using the server side validation for required fields, i obtain JBO-35007 error after the second submit (no commit) of my form which contents blank field. In this simple case, i don't understand why the VO is out of synch with the data displayed on the screen.
    More, why the row currency token mechanism is be turned off through the pageDef for my page, by setting the EnableTokenValidation to false, my initial creation form isn't blank but associated with the first record of the DB Table???
    Bob

  • JBO-35007 row currency has changed - can timeouts cause this?

    A user of mine (JDev 10.1.3.1 ADF BC/ADF Faces) is experiencing the famed JBO-35007 row currency has changed error message after a period of inactivity (~35 minutes).
    Suspiciously sounds like a timeout to me. Can the row currency validation be invalidated by a timeout in the ADF framework? What side of the framework tracks the row currency? I'm guessing it's ADF Business Components. Can the timeout of the AM cause JBO-35007?
    Any help appreciated.
    Regards,
    CM.

    Hi John,
    it depends on the fact the failover feature is enabled or not (jbo.dofailover).
    When enabled, the HttpSession cookie that is stored in the HttpSession will also be stored on the browser (browser cookie), so that the framework can re-establish the link between a new HttpSession and the pending session state.
    As 35 minutes is the default of the HTTP session timeout, I suppose that Chris is working in failover mode, and that BC4J has some problem to re-activate the current row (maybe its key ?) correctly.
    Regards,
    Didier.

  • JBO 35007 Row Currency has changed - Master Detail Table

    Hi,
    I have a one master table and one detailed table. I can create rows in the master table with no errors. However, when I try to insert rows in the detailed table, I receive JBO-35007 error, Row currency has changed.
    How do I fix this?
    thank you

    We also has exact same error in Hyperion 11.1.1.3 on Windows 2003 with Oracle 11.1.7.0 database .. can someone advise please?
    Regards
    -Naveed-

Maybe you are looking for

  • Free software to convert video on mac?

    When looking for free software to convert some MTS and WMV files to play on my blackberry Z10, I found two software talked about most by people online, Handbrake and MacX Video Converter Free Edition. Handbrake, I know it is popular among people, cou

  • On the top of any web page, the hot spots will not work. It seems like the links in the header part of a page is turned off.

    On any web page (Facebook, Yahoo, this page) the links on the top of the page will not work. The hot spots seem dead. For this page the Desktop/Mobile/Firefox Home links will not work.

  • Unable to create spatial index

    I have a spatial table called ROAD11 in that table I have a MDSYS.SDO_GEOMETRY column named "GEOMETRY". after creating that table, I inserted a row, in the USER_SDO_GEOM_METADATA. Here is what is present in USER_SDO_GEOM_METADATA SQL> SELECT * FROM U

  • Suspending USB Device [SOLVED]

    I had 2.6.32 a while ago and wrote a script that allowed me to turn a certian usb device on and off (I used my usb mouse as a demo). When I upgraded to 2.6.33, the way I was doing this stopped working. I was using this (with $port being something lik

  • Serial Number not accepted CS4

    I have a Macbook Air and tried to install CS4 Design Standard, but the downloaded installer does not accept my serial number (marked as invalid). I purchased the CS4 Design Standard (Education) in 2009. What can I do to install the CS 4 on my Mac tha