Stale data error while opening a multiple OAF page .
Dear Friends ,
I have a OAF page developed and deployed in server , its basically a search page , it also has several links to
go to create page and update page . when the user opens the multiple page using different tabs in the browser
like for example
ex :
from search page click on create page open it as new tab . if such multiple table are being opened
and do some operation like search a record , it gives and error (stale data : Developer's mode exception ) .
How to over come this exception , could you please share you ideas
Thanks in Advance,
Keerthi.k
Hi friend ,
In Search page i didn't do any update. and also search page is not a problem it's working fine. create page only the problem. In this page only throwing Stale data error exception.
Please give me more suggestion.
Thanks in advance,
Similar Messages
-
Stale data error while submitting the form(before that opening the popup )
I am using OAURL to open a pop-up in my oaf page
passing my page to this class.And at the time of loading the base page
the pop up window url is like this
OA.jsp?page=/myfolder/webui/NumberColumnsPG&retainAM=Y&"+"fndOAJSPinEmbeddedMode=Y&addBreadCrumb=S&_ti=55514227&oapc=10
now i click on the link to open the pop-up
its opening the pop-up.
Closing that pop-up.
Saving the details entered in the base page.
Now it is executing again from the processRequest() of base page
now the URL like this...
OA.jsp?page=/myfolder/webui/NumberColumnsPG&retainAM=Y&"+"fndOAJSPinEmbeddedMode=Y&addBreadCrumb=S&_ti=55514227&oapc=11
Now i am getting stale data error
The number of displayed records, 2, exceeds the actual number of records, 1, in view object SampleAM.SampleVO1. Some of the displayed records may have been deleted.
Here i am observing that the parameter OAPC is different in these two URLs.
can you please tell me how to come out of this error while i am submitting the base page.
ThanksHi Pratap,
Thanks for your information.But there i didn't get any information related to my issue. can you please tell me a way to proceed further in order to solve this issue.
Thanks
Satya -
Stale data error while deleting a record
Hi
My design of this development is as follow...
1. Search Page in which users give some search criteria and results will be displayed in the results region on the same page. For each results record I have two buttons like 'Update' and 'Delete' so that users can delete the record or can update the record. For update i created a one more page where users can able to edit and save the data. I have two AM one for Search Page and one for Update Page.
Please find more details below.
intfEO based on PO_REQUISITIONS_INTERFACE_ALL
errorEO based on PO_INTERFACE_ERRORS
updateEO based on PO_REQUISITIONS_INTERFACE_ALL
VOs
intfVO based on intfEO and errorEO
updateVO based on updateEO
AM
intfAM based on intfVO
updateAM based on updateVO
Pages
searchPG based on intfAM
updatePG based on updateAM
Suppose I have one record in interface table with corresponding error record in error table.When users given the search criteria and hit enter they found a record. It means i have one record in the interface having one error record in the error table and both tables have same transaction id (primary key). So here user first try to update the record and it is working. After update he try to delete a record then I am getting below error. Please note that I am not getting this error when if i directly delete the record with out doing any update before delete. When ever users click on update icon then update PG will open and when users click on Apply button then data is getting updated in the database and page will forward to the search page.
Unable to perform transaction on the record.
Cause: The record contains stale data. The record has been modified by another user.
Action: Cancel the transaction and re-query the record to get the new data.
My UpdatePage Controller
/*===========================================================================+
| Copyright (c) 2001, 2005 Oracle Corporation, Redwood Shores, CA, USA |
| All rights reserved. |
+===========================================================================+
| HISTORY |
+===========================================================================*/
package powl.oracle.apps.xxpowl.po.requisition.webui;
import com.sun.java.util.collections.HashMap;
import com.sun.rowset.internal.Row;
import java.io.Serializable;
import oracle.apps.fnd.common.MessageToken;
import oracle.apps.fnd.common.VersionInfo;
import oracle.apps.fnd.framework.OAApplicationModule;
import oracle.apps.fnd.framework.OAException;
import oracle.apps.fnd.framework.OAViewObject;
import oracle.apps.fnd.framework.webui.OAControllerImpl;
import oracle.apps.fnd.framework.webui.OADialogPage;
import oracle.apps.fnd.framework.webui.OAPageContext;
import oracle.apps.fnd.framework.webui.OAWebBeanConstants;
import oracle.apps.fnd.framework.webui.beans.OAWebBean;
import oracle.apps.fnd.framework.webui.beans.form.OASubmitButtonBean;
import oracle.apps.fnd.framework.webui.beans.message.OAMessageDateFieldBean;
import oracle.apps.fnd.framework.webui.beans.message.OAMessageTextInputBean;
//import oracle.apps.fnd.oam.diagnostics.report.Row;
import oracle.apps.icx.por.common.webui.ClientUtil;
import powl.oracle.apps.xxpowl.po.requisition.server.xxpowlPOReqIntfUpdateAMImpl;
import powl.oracle.apps.xxpowl.po.requisition.server.xxpowlPOReqIntfUpdateEOVOImpl;
* Controller for ...
public class xxpowlPOReqIntfAllUpdatePageCO extends OAControllerImpl
public static final String RCS_ID="$Header$";
public static final boolean RCS_ID_RECORDED =
VersionInfo.recordClassVersion(RCS_ID, "%packagename%");
* Layout and page setup logic for a region.
* @param pageContext the current OA page context
* @param webBean the web bean corresponding to the region
public void processRequest(OAPageContext pageContext, OAWebBean webBean)
super.processRequest(pageContext, webBean);
xxpowlPOReqIntfUpdateAMImpl am = (xxpowlPOReqIntfUpdateAMImpl)pageContext.getApplicationModule(webBean);
xxpowlPOReqIntfUpdateEOVOImpl UpdateVO =(xxpowlPOReqIntfUpdateEOVOImpl)am.findViewObject("xxpowlPOReqIntfUpdateEOVOImpl");
String newvalue = (String)pageContext.getSessionValue("testValue");
System.out.println("Transaction ID from processRequest UpdateCO from testValue field:"+newvalue);
String transactionid = pageContext.getParameter("HashmapTransacitonid");
System.out.println("Transaction ID from processRequest Hash Map in UpdateCO :"+transactionid);
String errorcolumn = pageContext.getParameter("HashmapErrorcolumn");
System.out.println("Error Column Name from processRequest Hash Map in UpdateCO :"+errorcolumn);
String errormsg = pageContext.getParameter("HashmapErrormessage");
System.out.println("Error Message from processRequest Hash Map in UpdateCO :"+errormsg);
String readyonly = pageContext.getParameter("HashmapReadonly");
System.out.println("Read Only value from processRequest Hash Map in UpdateCO :"+readyonly);
if (transactionid !=null & !"".equals(transactionid)) {
/* Passing below four parameters to the Update Page */
Serializable amParams[] = new Serializable[]{transactionid,readyonly,errorcolumn,errormsg} ;
pageContext.getRootApplicationModule().invokeMethod("executexxpowlPOReqIntfUpdateEOVO", amParams);
* Procedure to handle form submissions for form elements in
* a region.
* @param pageContext the current OA page context
* @param webBean the web bean corresponding to the region
public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
super.processFormRequest(pageContext, webBean);
OAApplicationModule am = pageContext.getApplicationModule(webBean);
if (pageContext.getParameter("ApplyButton") != null)
System.out.println("Inside ApplyButton method in UpdatePageCO");
OAViewObject vo = (OAViewObject)am.findViewObject("xxpowlPOReqIntfUpdateEOVO");
String transactionid = pageContext.getParameter("HashmapTransacitonid");
System.out.println("Transaction ID from processFormRequest Hash Map in UpdateCO-ApplyButton method :"+transactionid);
am.invokeMethod("apply");
pageContext.forwardImmediately("OA.jsp?page=/powl/oracle/apps/xxpowl/po/requisition/webui/xxpowlPOReqIntfAllPG",
null,
OAWebBeanConstants.KEEP_MENU_CONTEXT,
null,
null,
true,
OAWebBeanConstants.ADD_BREAD_CRUMB_NO);
else if (pageContext.getParameter("CancelButton") != null)
am.invokeMethod("rollback");
pageContext.forwardImmediately("OA.jsp?page=/powl/oracle/apps/xxpowl/po/requisition/webui/xxpowlPOReqIntfAllPG",
null,
OAWebBeanConstants.KEEP_MENU_CONTEXT,
null,
null,
true,
OAWebBeanConstants.ADD_BREAD_CRUMB_NO);
UpdatePageAMImpl.java
package powl.oracle.apps.xxpowl.po.requisition.server;
import oracle.apps.fnd.common.MessageToken;
import oracle.apps.fnd.framework.OAException;
import oracle.apps.fnd.framework.OARow;
import oracle.apps.fnd.framework.server.OAApplicationModuleImpl;
import oracle.apps.fnd.framework.OAViewObject;
import oracle.apps.inv.appsphor.order.server.XxapOrderHeaderVOImpl;
import oracle.jbo.Transaction;
// --- File generated by Oracle ADF Business Components Design Time.
// --- Custom code may be added to this class.
// --- Warning: Do not modify method signatures of generated methods.
public class xxpowlPOReqIntfUpdateAMImpl extends OAApplicationModuleImpl {
/**This is the default constructor (do not remove)
public xxpowlPOReqIntfUpdateAMImpl() {
/**Container's getter for xxpowlPOReqIntfUpdateEOVO
public xxpowlPOReqIntfUpdateEOVOImpl getxxpowlPOReqIntfUpdateEOVO() {
return (xxpowlPOReqIntfUpdateEOVOImpl)findViewObject("xxpowlPOReqIntfUpdateEOVO");
/**Sample main for debugging Business Components code using the tester.
public static void main(String[] args) {
launchTester("powl.oracle.apps.xxpowl.po.requisition.server", /* package name */
"xxpowlPOReqIntfUpdateAMLocal" /* Configuration Name */);
/* // Added by
public void execute_update_query(String TransactionID) {
xxpowlPOReqIntfUpdateEOVOImpl vo = getxxpowlPOReqIntfUpdateEOVO();
vo.initQuery(TransactionID);
// Added by , this will not call bec changed the logic and so now the update button enabled on search results page
// and this method will not called
public void pageInEditMode (String transactionID, String readOnlyFlag, String ErrorColumn,
String ErrorMessage)
System.out.println("Transaction Id from pageInEditMode in UpdatePGAMImpl.java: "+transactionID);
System.out.println("xxReadOnly from pageInEditMode in UpdatePGAMImpl.java: "+readOnlyFlag);
// Get the VO
xxpowlPOReqIntfUpdateEOVOImpl updateVO = getxxpowlPOReqIntfUpdateEOVO();
//Remove the where clause that was added in the previous run
updateVO.setWhereClause(null);
//Remove the bind parameters that were added in the previous run.
updateVO.setWhereClauseParams(null);
//Add where clause
// updateVO.addWhereClause(" TRANSACTION_ID = :1 ");
//Bind transactionid to the where clause.
// updateVO.setWhereClauseParam(1, transactionID); // this will not work bec it will start with zero from from 1
updateVO.setWhereClauseParam(0, transactionID);
//Execute the query.
updateVO.executeQuery();
xxpowlPOReqIntfUpdateEOVORowImpl currentRow = (xxpowlPOReqIntfUpdateEOVORowImpl)updateVO.next();
// Assiging the transient varaibles
currentRow.setxxErrorMessage(ErrorMessage);
currentRow.setxxErrorColumn(ErrorColumn);
if ("N".equals(readOnlyFlag))
/* Make the attribute to 'False so that all fields will be displayed in Edit Mode because we used this
xxReadOnly as SPEL */
currentRow.setxxReadOnly(Boolean.FALSE);
public void executexxpowlPOReqIntfUpdateEOVO(String transactionID, String xxReadyOnly, String ErrorColumn,
String ErrorMessage)
System.out.println("Transaction Id from executexxpowlPOReqIntfUpdateEOVO in UpdatePGAMImpl.java: "+transactionID);
System.out.println("xxReadOnly from executexxpowlPOReqIntfUpdateEOVO in UpdatePGAMImpl.java: "+xxReadyOnly);
System.out.println("Error Message from executexxpowlPOReqIntfUpdateEOVO in UpdatePGAMImpl.java: "+ErrorColumn);
System.out.println("Error Column from executexxpowlPOReqIntfUpdateEOVO in UpdatePGAMImpl.java: "+ErrorMessage);
// Get the VO
xxpowlPOReqIntfUpdateEOVOImpl updateVO = getxxpowlPOReqIntfUpdateEOVO();
//xxpowlPOReqIntfUpdateEOVORowImpl updaterowVO = xxpowlPOReqIntfUpdateEOVO();
//not working
// OARow row = (OARow)updateVO.getCurrentRow();
// row.setAttribute("xxReadOnly", Boolean.TRUE);
// updateVO.putTransientValue('XXXXX',x);
//Remove the where clause that was added in the previous run
updateVO.setWhereClause(null);
//Remove the bind parameters that were added in the previous run.
updateVO.setWhereClauseParams(null);
//Add where clause
// updateVO.addWhereClause(" TRANSACTION_ID = :1 ");
//Bind transactionid to the where clause.
// updateVO.setWhereClauseParam(1, transactionID); // this will not work bec it will start with zero from from 1
updateVO.setWhereClauseParam(0, transactionID);
// updateVO.setWhereClauseParam(1, ErorrColumn);
//Execute the query.
updateVO.executeQuery();
/* We want the page should be read only initially so after executing the VO with above command
and if you use next() it will go to the first record among the
fetched records. If you want to iterate for all the records then use iterator */
/* Using Iterator
while(updateVO.hasNext()) { // this will check after execute Query above command if it has any rows
xxpowlPOReqIntfUpdateEOVORowImpl currentRow = (xxpowlPOReqIntfUpdateEOVORowImpl)updateVO.next();
/* above line next() will take the control of the first record */
/* currentRow.setxxErrorMessage(ErrorMessage);
currentRow.setxxErrorColumn(ErrorColumn);
if ("Y".equals(xxReadyOnly))
currentRow.setxxReadOnly(Boolean.TRUE);
} // this while loop will loop till end of all the fetched records
xxpowlPOReqIntfUpdateEOVORowImpl currentRow = (xxpowlPOReqIntfUpdateEOVORowImpl)updateVO.next();
// Assiging the transient varaibles
currentRow.setxxErrorMessage(ErrorMessage);
currentRow.setxxErrorColumn(ErrorColumn);
/* Make the attribute to 'TRUE' so that all fields will be displayed as READ ONLY because we used this
xxReadOnly as SPEL
if ("Y".equals(xxReadyOnly))
currentRow.setxxReadOnly(Boolean.TRUE);
//Added by and this methiod will get called from UpdatePG Process Form Request controller
public void rollback()
Transaction txn = getTransaction();
if (txn.isDirty())
txn.rollback();
public void apply()
//OAViewObject vo1 = (OAViewObject)getxxpowlPOReqIntfUpdateEOVO();
//Number chargeAccountID = vo1.get
getTransaction().commit();
OAViewObject vo = (OAViewObject)getxxpowlPOReqIntfUpdateEOVO();
if (!vo.isPreparedForExecution())
vo.executeQuery();
SearchPG AM
package powl.oracle.apps.xxpowl.po.requisition.server;
import oracle.apps.fnd.framework.OAViewObject;
import oracle.apps.fnd.framework.server.OAApplicationModuleImpl;
import oracle.jbo.RowSetIterator;
import oracle.jbo.Transaction;
import oracle.jbo.domain.Number;
import powl.oracle.apps.xxpowl.po.requisition.lov.server.xxpowlErrosLovVOImpl;
import powl.oracle.apps.xxpowl.po.requisition.lov.server.xxpowlInterfaceSouceCodeLovVOImpl;
import powl.oracle.apps.xxpowl.po.requisition.lov.server.xxpowlItemSegment1LovVOImpl;
import powl.oracle.apps.xxpowl.po.requisition.lov.server.xxpowlOrgLovVOImpl;
import powl.oracle.apps.xxpowl.po.requisition.lov.server.xxpowlReferenceNumberLovVOImpl;
import powl.oracle.apps.xxpowl.po.requisition.lov.server.xxpowlRequestIdLovVOImpl;
import powl.oracle.apps.xxpowl.po.requisition.lov.server.xxpowlRequisitionTypeLovVOImpl;
// --- File generated by Oracle ADF Business Components Design Time.
// --- Custom code may be added to this class.
// --- Warning: Do not modify method signatures of generated methods.
public class xxpowlPOReqIntfAllAMImpl extends OAApplicationModuleImpl {
/**This is the default constructor (do not remove)
public xxpowlPOReqIntfAllAMImpl() {
/**Container's getter for xxpowlPOReqIntfAllVO
public xxpowlPOReqIntfAllVOImpl getxxpowlPOReqIntfAllVO() {
return (xxpowlPOReqIntfAllVOImpl)findViewObject("xxpowlPOReqIntfAllVO");
/**Sample main for debugging Business Components code using the tester.
public static void main(String[] args) {
launchTester("powl.oracle.apps.xxpowl.po.requisition.server", /* package name */
"xxpowlPOReqIntfAllAMLocal" /* Configuration Name */);
/**Container's getter for xxpowlRequestIdLovVO
public xxpowlRequestIdLovVOImpl getxxpowlRequestIdLovVO() {
return (xxpowlRequestIdLovVOImpl)findViewObject("xxpowlRequestIdLovVO");
/**Container's getter for xxpowlErrosLovVO
public xxpowlErrosLovVOImpl getxxpowlErrosLovVO() {
return (xxpowlErrosLovVOImpl)findViewObject("xxpowlErrosLovVO");
/**Container's getter for xxpowlOrgLovVO
public xxpowlOrgLovVOImpl getxxpowlOrgLovVO() {
return (xxpowlOrgLovVOImpl)findViewObject("xxpowlOrgLovVO");
//Start Adding by Lokesh
//This method wil get invoked from the search results page Process Request
public void rollbackItem()
Transaction txn = getTransaction();
if (txn.isDirty())
txn.rollback();
//This method will invoked from Controller page when user click Yes on delete confirmtion page from Search Results Page
public void deleteItem(String trasnsactionID)
Number rowToDelete = new Number(Integer.parseInt(trasnsactionID));
OAViewObject vo = (OAViewObject)getxxpowlPOReqIntfAllVO();
xxpowlPOReqIntfAllVORowImpl row = null;
int fetchedRowCount = vo.getFetchedRowCount();
// System.out.print(fetchedRowCount);
System.out.println("No of row fetched on delete method :"+fetchedRowCount);
RowSetIterator deleteIter = vo.createRowSetIterator("deleteIter");
System.out.println("1 :");
if (fetchedRowCount > 0)
System.out.println("2 :");
deleteIter.setRangeStart(0);
System.out.println("3 :");
deleteIter.setRangeSize(fetchedRowCount);
System.out.println("4 :");
for (int i = 0; i < fetchedRowCount; i++)
System.out.println("5 :");
row = (xxpowlPOReqIntfAllVORowImpl)deleteIter.getRowAtRangeIndex(i);
System.out.println("6 :");
Number PK = row.getTransactionId();
System.out.println("7 :");
if (PK.compareTo(rowToDelete) == 0)
System.out.println("8 :");
row.remove();
System.out.println("9 :");
getTransaction().commit();
System.out.println("10 :");
break;
//System.out.println("11 :");
System.out.println("11 :");
deleteIter.closeRowSetIterator();
System.out.println("12 :");
/**Container's getter for xxpowlInterfaceSouceCodeLovVO
public xxpowlInterfaceSouceCodeLovVOImpl getxxpowlInterfaceSouceCodeLovVO() {
return (xxpowlInterfaceSouceCodeLovVOImpl)findViewObject("xxpowlInterfaceSouceCodeLovVO");
/**Container's getter for xxpowlRequisitionTypeLovVO
public xxpowlRequisitionTypeLovVOImpl getxxpowlRequisitionTypeLovVO() {
return (xxpowlRequisitionTypeLovVOImpl)findViewObject("xxpowlRequisitionTypeLovVO");
/**Container's getter for xxpowlReferenceNumberLovVO
public xxpowlReferenceNumberLovVOImpl getxxpowlReferenceNumberLovVO() {
return (xxpowlReferenceNumberLovVOImpl)findViewObject("xxpowlReferenceNumberLovVO");
/**Container's getter for xxpowlItemSegment1LovVO
public xxpowlItemSegment1LovVOImpl getxxpowlItemSegment1LovVO() {
return (xxpowlItemSegment1LovVOImpl)findViewObject("xxpowlItemSegment1LovVO");
Search Page Controller
/*===========================================================================+
| Copyright (c) 2001, 2005 Oracle Corporation, Redwood Shores, CA, USA |
| All rights reserved. |
+===========================================================================+
| HISTORY |
+===========================================================================*/
package powl.oracle.apps.xxpowl.po.requisition.webui;
import com.sun.java.util.collections.HashMap;
//import com.sun.java.util.collections.Hashtable;
import java.util.Hashtable;
//import java.util.HashMap;
import java.io.Serializable;
import javax.servlet.jsp.PageContext;
import oracle.apps.fnd.common.MessageToken;
import oracle.apps.fnd.common.VersionInfo;
import oracle.apps.fnd.framework.OAApplicationModule;
import oracle.apps.fnd.framework.OAException;
import oracle.apps.fnd.framework.webui.OAControllerImpl;
import oracle.apps.fnd.framework.webui.OADialogPage;
import oracle.apps.fnd.framework.webui.OAPageContext;
import oracle.apps.fnd.framework.webui.OAWebBeanConstants;
import oracle.apps.fnd.framework.webui.TransactionUnitHelper;
import oracle.apps.fnd.framework.webui.beans.OAWebBean;
* Controller for ...
public class xxpowlPOReqIntfAllSearchPageCO extends OAControllerImpl
public static final String RCS_ID="$Header$";
public static final boolean RCS_ID_RECORDED =
VersionInfo.recordClassVersion(RCS_ID, "%packagename%");
* Layout and page setup logic for a region.
* @param pageContext the current OA page context
* @param webBean the web bean corresponding to the region
public void processRequest(OAPageContext pageContext, OAWebBean webBean)
super.processRequest(pageContext, webBean);
//Added by Lokesh
OAApplicationModule am = pageContext.getApplicationModule(webBean);
if (TransactionUnitHelper.isTransactionUnitInProgress(pageContext, "updateRecord", false)) {
am.invokeMethod("rollbackItem");
TransactionUnitHelper.endTransactionUnit(pageContext, "updateRecord");
* Procedure to handle form submissions for form elements in
* a region.
* @param pageContext the current OA page context
* @param webBean the web bean corresponding to the region
public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
super.processFormRequest(pageContext, webBean);
String userClicked = pageContext.getParameter("event");
System.out.println("Event from processFormRequest in SearchPageCO :"+userClicked);
System.out.println("Parametere Names are :- \t" + pageContext.getParameter("UpdateImage"));
System.out.println("Parametere Names are :- \t" + pageContext.getParameter("event"));
if (pageContext.getParameter("event") != null &&
pageContext.getParameter("event").equalsIgnoreCase("Update")) {
String ReqTransactionId=(String)pageContext.getParameter("transacitonidParam");
String errorcolumn=(String)pageContext.getParameter("errorcolumnParam");
String errormsg=(String)pageContext.getParameter("errormessageParam");
String readyonly="Y"; //(String)pageContext.getParameter("readonlyParam");
System.out.println("Requisition Transaction Id : "+ReqTransactionId);
System.out.println("Error Column : "+errorcolumn);
System.out.println("Error Message : "+errormsg);
System.out.println("Read Only : "+readyonly);
HashMap params = new HashMap(4);
params.put("HashmapTransacitonid",ReqTransactionId);
params.put("HashmapErrorcolumn",errorcolumn);
params.put("HashmapErrormessage",errormsg);
params.put("HashmapReadonly",readyonly);
pageContext.putSessionValue("testValue",ReqTransactionId);
//System.out.println("Transaction Id passing through HashMap :- \t" + ReqTransactionId);
pageContext.setForwardURL("OA.jsp?page=/powl/oracle/apps/xxpowl/po/requisition/webui/xxpowlPOReqIntfAllUpdatePG",
null,
OAWebBeanConstants.KEEP_MENU_CONTEXT,
null,
params,
true,
OAWebBeanConstants.ADD_BREAD_CRUMB_YES,
OAWebBeanConstants.IGNORE_MESSAGES) ;
else if (pageContext.getParameter("event") != null &&
pageContext.getParameter("event").equalsIgnoreCase("Delete")) {
System.out.println("Inside Delete method in SearchCO");
String deleteTransactionID=(String)pageContext.getParameter("deleteTransactionIDParam");
System.out.println("Transaction Id in Delete Method :- \t" + deleteTransactionID);
// deleteTransactionID =""; //Makeing Null because dont want to show the transaction id bec users dont know about it
//MessageToken[] tokens = { new MessageToken("MESSAGE_NAME", deleteTransactionID) };
MessageToken[] tokens = { new MessageToken("MESSAGE_NAME", "") };
OAException mainMessage = new OAException("FND", "FND_MESSAGE_DELETE_WARNING", tokens);
OADialogPage dialogPage = new OADialogPage(OAException.WARNING,mainMessage, null, "", "");
String yes = pageContext.getMessage("AK", "FWK_TBX_T_YES", null);
String no = pageContext.getMessage("AK", "FWK_TBX_T_NO", null);
dialogPage.setOkButtonItemName("DeleteYesButton");
dialogPage.setOkButtonToPost(true);
dialogPage.setNoButtonToPost(true);
dialogPage.setPostToCallingPage(true);
dialogPage.setOkButtonLabel(yes);
dialogPage.setNoButtonLabel(no);
Hashtable formParams = new Hashtable(1);
formParams.put("transactionIdDeleted", deleteTransactionID);
dialogPage.setFormPHi friend ,
In Search page i didn't do any update. and also search page is not a problem it's working fine. create page only the problem. In this page only throwing Stale data error exception.
Please give me more suggestion.
Thanks in advance, -
Stale data error while updating record on extending standard OAF pages
We are on Oracle R12. I have a standard oracle shipped page to enter attributes of an inventory item. This page has an APPLY and CANCEL buttons to post the changes to DB. There is one attribute called FORMULA. To create a formula , I created a new custom page.
I added a custom controller and AM to the standard page and added a new button, "Create Formula" . When the user clicks this button, he can navigate to the new custom page and create a formula. When the user clicks APPLY on this new page, I am navigating him back to the original page , looping through the Entity Object of that page and setting the formula attribute using method
EO.SetATTRIBUTE.
This works fine the first time. Then I click the apply button on the original page, the change is saved on teh DB. Now if I click the formula button again and try to modify the formula, on returning to the original page, the formula is updated but I also get the following error :
Unable to perform transaction on the record.
Cause: The record contains stale data. The record has been modified by another user.
Action: Cancel the transaction and re-query the record to get the new data.
I tried getTransaction().setClearCacheOnCommit(true); after the setattribute but I still get this error . Not sure why this is happening, what I need to do.
Please help . I did not modify any oracle shipped VOs or EOs.
thanks
Satyayou can also release transaction by using
pageContext.releaseRootApplicationModule();
--Prasanna -
Stale data error while trying to update row.
Hi,
I have a search page, from where i would like to select a particular record and update some of its attributes. But when i try to commit the transaction, i get the error below:
Unable to perform transaction on the record. \nCause: The record contains stale data. The record has been modified by another user. \nAction: Cancel the transaction and re-query the record to get the new data.
My Results table, based on VO1(based on EO), has an image item which submits the page and opens another page with the details of the current record, and provides the user with an option to update one of the attributes. The second page, where the user updates the attributes is based on another VO (say VO2, which again is based on the same EO as VO1).
Behind the Apply button, i call a method in the AM which simply commits the transaction and then re-directs to the original search page and displays the confirmation message.
Pseudo Code:
In the controller for VO1 (search page).
if <update> then
params = config_id ;
am.invokeMethod("initSketchDetails,params) ;
In AM
public void initSketchDetails(String config_id)
vo = getVO2 ;
vo.initQuery ;
In VO2Impl
public void initQuery(String config_id) {
<convert string to jbo.domain.number>
setWhereClause("config_id = :1);
setWhereClauseParams(null) ;
SetWhereClauseParam(0,config_id);
executeQuery();
In the PFR of Controller for the Update Page
if ("apply" != null)
am = pageCOntext.getAM ;
am.invokeMethod("apply") ;
pageCOntext.forwardImmediately to results page ..
AMImpl
public void apply() {
getTransaction.commit();
Where am i going wrong?
Thanks
AshishHi,
I noticed that this error is occuring only under certain conditions.
In my application a particular record can have 4 statuses (Draft, Submitted, Cancelled and Technical Query). But when a record is being updated, it can only be updated to Draft, Technical Query or Cancelled.
The error occurs ONLY when i am trying to update a record which is in Submitted Status to any other status. If i update a record from Draft -> Technical Query/Cancelled, there are no issues!!!
I cant figure out where the problem lies.
The poplist picks up values from a lookup.
Any idea how to debug this situation?
Thanks
Ashish -
Stale data error while updating record
Hi,
While updating page getting below error.
++++++++++++++++++
Error
Unable to perform transaction on the record.
Cause: The record contains stale data. The record has been modified by another user.
Action: Cancel the transaction and re-query the record to get the new data.
++++++++++++++++++
- In page navigation, the setForwardURL is done without retaining the AM
- There is no other user trying to change the values that are just created.
- Doing pageContext.releaseRootApplicationModule(); before commit.
- ObjectVersionNumber attribute of entity object, check the Change Indicator checkbox for this attribute.
Still it is NOT working getting same error.
Any idea, why this error coming.
Thanks,
SrikanthOA Framework updates the ObjectVersionNumber attribute in the generic OAEntityImpl Java class. That is, the createObjectVersionNumber(), and updateObjectVersionNumber() methods perform automatic initialization and update of these values.
Read more in Dev Guide
Thanks
--Anil -
Error while opening modal (skillbuilder plugin) page on page load
Hi all,
I'm using 4.2.1. ( on 11GR2 ), theme 25.
Skillbuilder Modal page plugin v2
Modal pages are working great, on all kinds of events, but if I try to open one via a D.A. on page load it fails with "Uncaught TypeError: Object load has no method 'stopImmediatePropagation' " error (in the browser console).
<edit>
just found that this error is caused by the "cancel event" DA action which should be fired after the open modal dialog action. If I ommit this cancel event the modal page is not loaded but also no error is shown.
</edit>
Any ideas on how to fix this? In the end I just want to open a modal window after the page is loaded depending on the value of an item set when loading the page ( the branch sets an item value to indicate that the modal window should be opend ).
Regards
Bas
Edited by: Bas de Klerk on 11-apr-2013 7:43Narrowed it down to change in behaviour between APEX 4.1 and APEX 4.2
Page source for both versions is alsmost similar, besides the different APEX js libraries being loaded, so probably the source of the problem is somehow in there.
Apex 4.1 generates code below :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="nl" xmlns="http://www.w3.org/1999/xhtml" xmlns:htmldb="http://htmldb.oracle.com" xmlns:apex="http://apex.oracle.com">
<head>
<title>sdfsdfsf</title>
<link rel="stylesheet" href="/i/css/apex_4_1.min.css" type="text/css" />
<!--[if IE]><link rel="stylesheet" href="/i/css/apex_ie_4_1.css" type="text/css" /><![endif]-->
<link rel="stylesheet" href="/i/libraries/jquery-ui/1.8.14/themes/base/jquery-ui.min.css" type="text/css" />
<script type="text/javascript">var apex_img_dir = "/i/", htmldb_Img_Dir = apex_img_dir;</script><script src="/i/javascript/apex_4_1.min.js" type="text/javascript"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="/i/themes/theme_2/css/theme_4_0.css" type="text/css" />
<!--[if IE]><link rel="stylesheet" href="/i/themes/theme_2/css/theme_4_0_ie.css" type="text/css" /><![endif]-->
<!--[if IE 6]><link rel="stylesheet" href="/i/themes/theme_2/css/theme_4_0_ie6.css" type="text/css" /><![endif]-->
<!--[if IE 7]><link rel="stylesheet" href="/i/themes/theme_2/css/theme_4_0_ie7.css" type="text/css" /><![endif]-->
</head>
<body >
<!--[if lte IE 6]><div id="outdated-browser">You are using an outdated web browser. For a list of supported browsers, please reference the Oracle Application Express Installation Guide.</div><![endif]-->
<form action="wwv_flow.accept" method="post" name="wwv_flow" id="wwvFlowForm">
<input type="hidden" name="p_flow_id" value="101" id="pFlowId" /><input type="hidden" name="p_flow_step_id" value="3" id="pFlowStepId" /><input type="hidden" name="p_instance" value="3963167387744880" id="pInstance" /><input type="hidden" name="p_page_submission_id" value="1130499891713056" id="pPageSubmissionId" /><input type="hidden" name="p_request" value="" id="pRequest" />
<div id="header">
<div id="app-logo"><a href="f?p=101:1:3963167387744880"><span style="font-family:Arial; color:green; font-size:18; white-space:nowrap; font-weight:bold;">SoMStudie v1.06 - Productie</span></a></div>
<div id="navbar">
<div class="navbar-entry"><a href="javascript:{if (confirm('Applicatie uitloggen ? Niet opgeslagen wijzigingen gaan verloren !')) redirect('wwv_flow_custom_auth_std.logout?p_this_flow=101&p_next_flow_page_sess=101:1');}" class="navbar-link">Uitloggen</a></div>
<div class="app-user">Welcome: ADMIN</div>
</div>
</div>
<div id="tabs">
<div class="frame">
<div class="bg">
<div class="tab-holder">
</div>
</div>
</div>
</div>
<div id="topbar"></div>
<div id="messages"></div>
<div id="body">
<table class="tbl-body" cellspacing="0" cellpadding="0" border="0" summary="">
<tbody>
<tr>
<td class="tbl-main" width="100%"><div class="rounded-corner-region" id="R9719141085411482" >
<div class="rc-blue-top"><div class="rc-blue-top-r">
<div class="rc-title">sdfsdf</div>
<div class="rc-buttons"></div>
</div></div>
<div class="rc-body"><div class="rc-body-r"><div class="rc-content-main"><table id="apex_layout_9719141085411482" border="0" class="formlayout" summary="" role="presentation" datatable=0 ><tr><td nowrap="nowrap" align="right"><label for="P3_X" tabindex="999"><a class="optional-w-help" href="javascript:popupFieldHelp('9719940026416952','3963167387744880')" tabindex="999">X</a></label></td>
<td colspan="1" rowspan="1" align="left" valign="middle"><input type="hidden" name="p_arg_names" value="9719940026416952" /><input type="text" id="P3_X" name="p_t01" value="" size="30" maxlength="4000" class="text_field" /></td></tr>
</table>
</div></div></div>
<div class="rc-bottom"><div class="rc-bottom-r"></div></div>
</div></td>
<td class="tbl-sidebar"></td>
</tr>
</tbody>
</table>
</div><div id="footer"><div class="content">
<div id="customize"></div>
</div></div>
<input type="hidden" name="p_md5_checksum" value="" /></form>
<script type="text/javascript">
apex.da.initDaEventList = function(){
apex.da.gEventList = [
{"triggeringElement":"document","triggeringElementType":"DOM_OBJECT","bindType":"bind","bindEventType":"ready",actionList:[{"eventResult":true,"executeOnPageInit":false,"stopExecutionOnError":true,javascriptFunction:function(){
if (this.browserEvent !== 'load'){
apex.jQuery(document).apex_modal_page('openPageFromApexThis', this);
},"attribute02":"STATIC","attribute03":"f?p=101:21:3963167387744880::21:::","attribute05":"data-url","attribute06":"div#success-message","attribute07":"AUTO","action":"PLUGIN_COM_SKILLBUILDERS_MODAL_PAGE"},{"eventResult":true,"executeOnPageInit":false,"stopExecutionOnError":true,javascriptFunction:apex.da.cancelEvent,"action":"NATIVE_CANCEL_EVENT"}]}];
</script>
<link rel="stylesheet" href="#PLUGIN_PREFIX#plugins/modal-page/server/TEST.css" type="text/css" />
<script type="text/javascript" src="wwv_flow_file_mgr.get_file?p_plugin_id=34423998056404065675&p_security_group_id=4874907161072557&p_file_name=jquery.colorbox-min.js"></script>
<script type="text/javascript" src="wwv_flow_file_mgr.get_file?p_plugin_id=34423998056404065675&p_security_group_id=4874907161072557&p_file_name=apex_modal_page.min.js"></script>
<script type="text/javascript">
<!--
apex.jQuery(document).ready(function(){
(function(){apex.jQuery(document).apex_modal_page({
"transition":"none",
"draggable":true,
"initialHeight":100,
"initialWidth":300,
"overlayOpacity":.5,
"scrolling":true,
"loadingImageSrc":""
(function(){apex.da.initDaEventList();})();
(function(){apex.da.init();})();
//-->
</script></body>
</html>Apex 4.2 on same server etc, after upgrade generates code below :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="nl" xmlns="http://www.w3.org/1999/xhtml" xmlns:htmldb="http://htmldb.oracle.com" xmlns:apex="http://apex.oracle.com">
<head>
<title>sdfsdfsf</title>
<link rel="stylesheet" href="/i/css/apex.min.css?v=4.2.0.00.27" type="text/css" />
<!--[if IE]><link rel="stylesheet" href="/i/css/apex_ie.min.css?v=4.2.0.00.27" type="text/css" /><![endif]-->
<link rel="stylesheet" href="/i/libraries/jquery-ui/1.8.22/themes/base/jquery-ui.min.css" type="text/css" />
<script type="text/javascript">
var apex_img_dir = "/i/", htmldb_Img_Dir = apex_img_dir;
</script>
<script src="/i/libraries/apex/minified/desktop_all.min.js?v=4.2.0.00.27" type="text/javascript"></script>
<script src="/i/libraries/apex/minified/legacy.min.js?v=4.2.0.00.27" type="text/javascript"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="/i/themes/theme_2/css/theme_4_0.css" type="text/css" />
<!--[if IE]><link rel="stylesheet" href="/i/themes/theme_2/css/theme_4_0_ie.css" type="text/css" /><![endif]-->
<!--[if IE 6]><link rel="stylesheet" href="/i/themes/theme_2/css/theme_4_0_ie6.css" type="text/css" /><![endif]-->
<!--[if IE 7]><link rel="stylesheet" href="/i/themes/theme_2/css/theme_4_0_ie7.css" type="text/css" /><![endif]-->
</head>
<body >
<!--[if lte IE 6]><div id="outdated-browser">You are using an outdated web browser. For a list of supported browsers, please reference the Oracle Application Express Installation Guide.</div><![endif]-->
<form action="wwv_flow.accept" method="post" name="wwv_flow" id="wwvFlowForm" novalidate >
<input type="hidden" name="p_flow_id" value="101" id="pFlowId" /><input type="hidden" name="p_flow_step_id" value="3" id="pFlowStepId" /><input type="hidden" name="p_instance" value="2102738057213" id="pInstance" /><input type="hidden" name="p_page_submission_id" value="6687700944614" id="pPageSubmissionId" /><input type="hidden" name="p_request" value="" id="pRequest" />
<div id="header">
<div id="app-logo"><a href="f?p=101:1:2102738057213"><span style="font-family:Arial; color:green; font-size:18; white-space:nowrap; font-weight:bold;">SoMStudie v1.06 - Productie</span></a></div>
<div id="navbar">
<div class="navbar-entry"><a href="javascript:{if (confirm('Applicatie uitloggen ? Niet opgeslagen wijzigingen gaan verloren !')) redirect('wwv_flow_custom_auth_std.logout?p_this_flow=101&p_next_flow_page_sess=101:1');}" class="navbar-link">Uitloggen</a></div>
<div class="app-user">Welcome: ADMIN</div>
</div>
</div>
<div id="tabs">
<div class="frame">
<div class="bg">
<div class="tab-holder">
</div>
</div>
</div>
</div>
<div id="topbar"></div>
<div id="messages"></div>
<div id="body">
<table class="tbl-body" cellspacing="0" cellpadding="0" border="0" summary="">
<tbody>
<tr>
<td class="tbl-main" width="100%"><div class="rounded-corner-region" id="R9719141085411482" >
<div class="rc-blue-top"><div class="rc-blue-top-r">
<div class="rc-title">sdfsdf</div>
<div class="rc-buttons"></div>
</div></div>
<div class="rc-body"><div class="rc-body-r"><div class="rc-content-main"><table id="apex_layout_9719141085411482" border="0" class="formlayout" summary="" role="presentation"><tr><td nowrap="nowrap" align="right"><label for="P3_X" tabindex="999"><a class="optional-w-help" href="javascript:popupFieldHelp('9719940026416952','2102738057213')" tabindex="999">X</a></label></td><td align="left" valign="middle"><input type="hidden" name="p_arg_names" value="9719940026416952" /><input type="text" id="P3_X" name="p_t01" class="text_field" value="" size="30" maxlength="4000" /></td></tr></table></div></div></div>
<div class="rc-bottom"><div class="rc-bottom-r"></div></div>
</div></td>
<td class="tbl-sidebar"></td>
</tr>
</tbody>
</table>
</div><div id="footer"><div class="content">
<div id="customize"></div>
</div></div>
<input type="hidden" name="p_md5_checksum" value="" /><input type="hidden" name="p_page_checksum" value="E08AB8A6D69B3450572EC2E89A528B29" id="pPageChecksum" /></form>
<script type="text/javascript">
apex.da.initDaEventList = function(){
apex.da.gEventList = [
{"bindEventType":"ready",actionList:[{"eventResult":true,"executeOnPageInit":false,"stopExecutionOnError":true,javascriptFunction:function(){
if (this.browserEvent !== 'load'){
apex.jQuery(document).apex_modal_page('openPageFromApexThis', this);
},"attribute02":"STATIC","attribute03":"f?p=101:21:2102738057213::21:::","attribute05":"data-url","attribute06":"div#success-message","attribute07":"AUTO","action":"PLUGIN_COM_SKILLBUILDERS_MODAL_PAGE"},{"eventResult":true,"executeOnPageInit":false,"stopExecutionOnError":true,javascriptFunction:apex.da.cancelEvent,"action":"NATIVE_CANCEL_EVENT"}]}];
</script>
<link rel="stylesheet" href="#PLUGIN_PREFIX#plugins/modal-page/server/TEST.css" type="text/css" />
<script type="text/javascript" src="wwv_flow_file_mgr.get_file?p_plugin_id=34423998056404065675&p_security_group_id=4874907161072557&p_file_name=jquery.colorbox-min.js"></script>
<script type="text/javascript" src="wwv_flow_file_mgr.get_file?p_plugin_id=34423998056404065675&p_security_group_id=4874907161072557&p_file_name=apex_modal_page.min.js"></script>
<script type="text/javascript">
apex.jQuery( document ).ready( function() {
(function(){apex.jQuery(document).apex_modal_page({
"transition":"none",
"draggable":true,
"initialHeight":100,
"initialWidth":300,
"overlayOpacity":.5,
"scrolling":true,
"loadingImageSrc":""
(function(){apex.da.initDaEventList();})();
(function(){apex.da.init();})();
});</script>
</body>
</html>Any suggestions why this plugin does not load on page load in 4.2 would be great ( a fix would be even better :) ).
Regards -
Getting Stale Data error in show/hide of Advance table
Hi,
Am using hide/show in advance table.If open the hide/show in 1st row then it shows correct data ,if i click the next row's show hide then its shows the same result as ist row, and i try to use show/hide link more thann three times then it throws stale data error given below.
The requested page contains stale data. This error could have been caused through the use of the browser's navigation buttons (the browser Back button, for example).
Cause:
The record with primary key values {1400} could not be found in view object MisForecastHeadOfiiceAM.InnerTableVO_OuterInnerVL_InnerTableVO.
To proceed, please select the Home link at the top of the application page to return to the main menu. Then, access this page again using the application's navigation controls (menu, links, and so on) instead of using the browser's navigation controls like Back and Forward.
This problem doen't exsist when i deplo it to the server.
But recently i marked if open a show/hide link of a row and add then add another row to the table and save.Then the same problem reflects in the instance also.
What may be the possible cause.
Thanksif i click the next row's show hide then its shows the same result as ist row, and i try to use show/hide link more thann three times then it throws stale data error given below.
>>> Seems like your VO linking is not proper. Does your VO have primary keys defined? Do you have any custom code on these VO?
--Shiv -
Hi Experts,
I am getting following Error while opening ESR from Home Page
Unable to load resource: http://host:56000/rep/repository/com.sap.xpi.ibrep.client.jar...
Any Ideas
Regards
R.RaguThe checklist should be the same for PI7.1 : /people/shabarish.vijayakumar/blog/2006/02/13/unable-to-open-iresrid-xipipi-71-updated-for-pi-71-support
Your JAVA should be 1.5.0.xx or higher
Regards,
Abhishek. -
I have a WL 9.2.1 running on Sun solaris o/s .....it is failing to start thowing the following exception
<Mar 19, 2009 5:21:17 PM EDT> <Critical> <WebLogicServer> <BEA-000362> <Server failed. Reason:
There are 1 nested errors:
weblogic.diagnostics.lifecycle.DiagnosticComponentLifecycleException: weblogic.store.PersistentStoreException: java.io.IOException: [Store:280021]There was a
n error while opening the file store file "WLS_DIAGNOSTICS000000.DAT"
at weblogic.diagnostics.lifecycle.ArchiveLifecycleImpl.initialize(ArchiveLifecycleImpl.java:44)
at weblogic.diagnostics.lifecycle.DiagnosticFoundationService.start(DiagnosticFoundationService.java:107)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
Caused by: weblogic.store.PersistentStoreException: java.io.IOException: [Store:280021]There was an error while opening the file store file "WLS_DIAGNOSTICS0
00000.DAT"
at weblogic.store.io.file.Heap.open(Heap.java:166)
at weblogic.store.io.file.FileStoreIO.open(FileStoreIO.java:85)
at weblogic.store.internal.PersistentStoreImpl.open(PersistentStoreImpl.java:350)
at weblogic.store.PersistentStoreManager.createFileStore(PersistentStoreManager.java:202)
at weblogic.diagnostics.archive.DiagnosticStoreRepository.getStore(DiagnosticStoreRepository.java:61)
at weblogic.diagnostics.lifecycle.ArchiveLifecycleImpl.initialize(ArchiveLifecycleImpl.java:42)
... 4 more
Caused by: java.io.IOException: [Store:280021]There was an error while opening the file store file "WLS_DIAGNOSTICS000000.DAT"
at weblogic.store.io.file.StoreDir.throwIOException(StoreDir.java:213)
at weblogic.store.io.file.StoreDir.open(StoreDir.java:103)
at weblogic.store.io.file.Heap.open(Heap.java:164)
... 9 more
Caused by: java.io.IOException: Error from fcntl() for file locking, Resource temporarily unavailable, errno=11
at weblogic.store.io.file.direct.DirectIONative.open(Native Method)
at weblogic.store.io.file.direct.DirectFileChannel.<init>(DirectFileChannel.java:51)
at weblogic.store.io.file.direct.DirectIOManager.open(DirectIOManager.java:138)
at weblogic.store.io.file.StoreFile.openInternal(StoreFile.java:112)
at weblogic.store.io.file.StoreFile.open(StoreFile.java:142)
at weblogic.store.io.file.StoreDir.open(StoreDir.java:95)
... 10 more
i went ahead and checkd the file and the privs on the file they look correct -rw-r--r-- ...but when i just restart it ..it starts with no errors the next time......What could be the issue.....please help
Then only reason i could think of is the size of the file is 35MB now...is this the problem....if yes....is there a way to automaticaly rotate this file ....The root cause appears to be right in the stack trace:
Caused by: java.io.IOException: Error from fcntl() for file locking, Resource temporarily unavailable, errno=11I think this indicates that either the file was either locked (because another instance of WebLogic had it opened), or that the file was unavailable for some reason. WebLogic locks files as a safety precaution to prevent misconfigured setups (multiple domains sharing the same directory and store name) from attempting to share the same file.
I don't think that this message necessarily means there is a file corruption.
As for rotation, the file store automatically adds new files as needed (I think its 1 file for every 2GB of data). The "diagnostics" file store is generated by the optional diagnostics feature, and I think that this feature has options for controlling the amount of stored data.
Tom -
Stale Data error when invoking seeded OAF from a custom OAF page
Hi All,
We have a requirement in OAF where we have to open a Seeded OAF Page (Install Base) from our Custom Page. We are using the javascript function “openWindow()” to open the page in a new window. When we close the seeded page by clicking seeded page window using the Window-close button and then perform any event on the custom page, we get the Stale Data error as given below.
Error: Stale Data
The requested page contains stale data. This error could have been caused through the use of the browser's navigation buttons (the browser Back button, for example).
Cause:
The number of displayed records, 2, exceeds the actual number of records, 1, in view object OwqAM.IKNCICOWQDetailVO1. Some of the displayed records may have been deleted.
Here is the part of code we have tried.
String destination = "/OA_HTML/RF.jsp?function_id="+Func_Id+"&"+"resp_id="+Resp_id+"&"+"resp_appl_id="+Application_id+"&security_group_id=0&lang_code=US";
String testDest = "javascript:openWindow(top,'"+destination+"',null,{width:750, height:550},false,'document',null);void(0);";
OABodyBean bodyBean = (OABodyBean)pageContext.getRootWebBean();
bodyBean.setOnLoad(testDest);
Also this issue is encountered only when we open an OAF page in a new window. We also have a functionality where a JSP page is opened on similar lines, but above said navigations do not result in the same error.
If anyone has come across such a issue and have a resolution, please let me know. Any pointers would be of great help.
Thanks,
MrugeshHi,
We had tried passing RetainAM = Y and then bouncing apache. Still we were getting the same error.
We are not facing the STALE DATA issue when we invoke JSP page and oracle forms. It is only when we launch a seeded OAF page from our custom OAF page that we are getting this error.
Regards,
Mrugesh -
Stale data error: OA page opened by different users
Hi,
An OA Page which is basically use to query order details and update certain custom tables based on the order details has been developed.
The first page which is a search page perfoms the search based on the "Custom Name", "Order Status" --> Bith LOV fields
When this page is opened by multiple users we get a "Stale Data" error.
Kindly help to resolve this issue.
Thanks.Hi ,
Please check root AM that you have created the variable in Custom Properties (RETENTION_LEVEL ,MANAGE_STATE)
Thanks
Pratap -
Error while opening a Data base view
Iam getting error while opening a database view saying view is not maintained at the database level.
what i should doIf the object is not "Active" in SE11, then activate it.
If the object is "Active" in SE11, then go to SE14, and enter the name of the view and click "Edit". On the next screen, I would assume that it says something like, "Does NOT exist in the database". If that is the case, you could probably click the "Create Database View" button near the bottom of the screen. This will then create the view at the DB level. You should always have to do this, sometimes things have problems when creating the object in SE11, and you have to do the SE14.
Regards,
Rich Heilman -
Error while opening site studio designer
Hi,
We are getting error while opening the site studio Desiner in Server. It gives unexpected error with three options, view log, close and continue, then program just get closed.
Yesterday we have upgraded site studio component and designer -
Site studio designer from 10gR3(10.1.3.3.2) to 10gR3(10.1.3.5.0)
Site studio component from 7.7.2.405 to 8.0.0.645
This issue is not coming for the user who have installed the site studio component and designer but rest all user are facing the problem while opening site studio designer in the server.
Below mentioned is the scanrio -
A) All the users(UserA,UserB,UserC) have the admin access to the server.This installation has been done by UserA. UserA only able to open the SS-D and remaining all are getting error
B) The issue is on the same machine on which site studio designer is installed.
C) Multiple users are using same SS-Designer
D) Error occured as soon as the userB,UserC went to select site studio designer from start menu on the same server and getting the same error.
E) UserB who is also having admin access has tried this option of un install and re-install SS-D,but he is also not able to open the SS-D. Still only UserA is able to access the SS-D.
Any kind of resolution much appriciated.
Thanks and Regards,
SumitHi,
Thanks for the suggestions, Yes userB and userC are able to edit regedit.
I have tried to install SS-D with userB and userC but then too both of them getting the same error, but userA is able to open SS-D.
Error --
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="SSDesignerLogFile.xsl"?>
<LOGFILE>
<LOG SOURCE="Site Studio Designer" TYPE="INFO" DATE="02/02/11" TIME="05:39:32">Site Studio Designer Logfile Initialized</LOG>
<LOG SOURCE="SSLoggerEngine" TYPE="WARNING" DATE="02/02/11" TIME="05:39:32">Loaded language specific resource library (C:\Program Files\Oracle\Universal Content Management\Site Studio\Designer\10gR3(10.1.3.5.0)\resources\en\SSLoggerEngineRes.dll)</LOG>
<LOG SOURCE="SSCommonMfc" TYPE="WARNING" DATE="02/02/11" TIME="05:39:32">Failed to load language specific resource library (C:\Program Files\Oracle\Universal Content Management\Site Studio\Designer\10gR3(10.1.3.5.0)\resources\en\BCGCBProRes.dll)</LOG>
<LOG SOURCE="SSCommonMfc" TYPE="WARNING" DATE="02/02/11" TIME="05:39:32">Loaded language specific resource library (C:\Program Files\Oracle\Universal Content Management\Site Studio\Designer\10gR3(10.1.3.5.0)\resources\en\SSCommonMfcRes.dll)</LOG>
<LOG SOURCE="Site Studio Designer" TYPE="WARNING" DATE="02/02/11" TIME="05:39:32">Loaded language specific resource library (C:\Program Files\Oracle\Universal Content Management\Site Studio\Designer\10gR3(10.1.3.5.0)\resources\en\SiteStudioDesignerRes.dll)</LOG>
<LOG SOURCE="SSHtmlTidy Control" TYPE="WARNING" DATE="02/02/11" TIME="05:39:34">Loaded language specific resource library (C:\Program Files\Oracle\Universal Content Management\Site Studio\Designer\10gR3(10.1.3.5.0)\resources\en\SSHtmlTidyRes.dll)</LOG>
</LOGFILE>
Regards,
Sumit -
Error while opening a datafile in dataprep editor
Hi
Error while opening a datafile in dataprep editor
"opening the datafile failed see the message panel for details"
"server.com.DEV.Perf Read data file September 17, 2009 8:31:51 AM EDT Failed : 1030001"
can anyone help me through this error..
right i am trying to load data by creating a rules file..but could not open the file in dataprep editor..
Thanks,
RamIn some cases restarting the EAS service has fixed this error for me.
Maybe you are looking for
-
(re)pushing and removing network printers deployed through GP
Hi, We're deploying our printers through Print Management, "Deploy with Group Policy" per user. All seems to be working pretty well, but I have a few questions: 1. How can a client remove the printers that were pushed? I've tried a batch script that
-
[SOLVED] cannot connect to wireless networks
I started this topic some time ago. I no longer have access to the WPA network I was troubleshooting on, but now I have access to an unencrypted wireless network at a library and I still can't get wireless to work. This time it's not dropping my conn
-
Capturing Excise Duty in Stock Transfer - Project Critical
Hi All, I am facing a problem in SAP B1. The situation is presented below: "We have an Excisable Item, Excisable Warehouse and Non-Excisable Warehouse. I want to capture the Excis Duty when I transfer the Stock from the Excisable Warehouse to an Non-
-
Rotate view, but keep guides vertical/horizontal?
hi all curious if there's any way to keep guides vertical / horizontal when using the rotate view feature? thanks for your tips! LML
-
Cursors don't change - ButtonMode=true - CS6 Mac Projector
Hi All, The problem is that in a Flash Projector created from CS6, the hand / finger cursor does not appear when rolling over buttons, only when in Full Screen mode. I have created a test FLA here to demonstrate the problem (you have to compile as MA