Problem faced in form while deleting a record-urgent
we r in the testing stage of our project. we are facing a major problem. In one of the forms deletion is not working.
we did migration from 6i to 10g. we migrated using migration assistant.
in 6i code was working fine.
in 10g record is not getting deleted from database and an error is shown as FRM_40510.
We used the following code.
if :BLK1_OBLIGOR.OBL_TNX_TYPE = 'D' then
delete_record;
kcheck_failure;
else
DO_APPRV;
end if;
commit_form;
kcheck_failure;
can u pls point out the mistake
Hi,
Code exists in pre-delete trigger as follows
DELETE FROM grr_OBLGR_DATA
WHERE grr_OBLGR_DATA.OBL_CAGID = :BLK1_OBLIGOR.OBL_CAGID AND
grr_OBLGR_DATA.OBL_cntry_code = :blk1_OBLIGOR.obl_cntry_code;
The delete allowed property for that block is set to 'YES'.
Pls do help me to find out the problem. The issue is that the same code is working fine in 6i. The trouble is in 10g. Pls do advice me.
Similar Messages
-
FRM-40654 error in master-detail form while deleting record in detail block
Hi,
I am facing an issue in a custom form which is a Master-detail form while deleting a record in detail block. It is giving an error "FRM-40654 Record has been Updated by another user. Re-query to see change". I have checked the record is matching with that in database.
Can anyone help on this.
Thanks In Advance,
MidhunHi jan,
master block is based on Table "A" and detail block is based on a View "X".
View "X" definitions includes the tables "A","B","C" etc..
Now I have tried removing table"A" from view "X", even then the same error is ocuuring but the lock is happening on table "B" instead of "A"
Thanks,
Midhun -
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, -
Why it is necessary to make red while deleting a record?
somecase we have to do it forcibly
in case of full load making red while deleting is not compulsory
but in case of delta it is mandetoryHi ,
If there si a delta load from source to target system then as soon as the records are read from source and transferred to target to target the data mart status of that particular request(which contains the records) is set to the transferred and next delta is read after wards from that request. However if the request is not made red before delting it the system thins that the data has already reached the target and the next delta load will miss those records which actually have not reached the target.
Hence for delta loads its compulsory to make the request RED bfore deleting it. However in the Full Load case every timem the data load is done all the records are transferred from source to target. Hence even if the records are erroneous in the target they get overwritten by the new correct records. So its not mandatory in this case(but in some special scenarios we may require to mark it red before deleting it like if teh request being deleted is the old request of the cube).
Navesh -
Urgent: FORMS-III Deleting Multiple Records By Marking X
Deleting Multiple Records By Marking X
In Forms III, i need to delete multiple records by marking X (in non database Item)
i.e.
========================
D Empno Ename Deptno
========================
X 10001 ABC 10
10002 DEF 10
X 10003 GHI 20
X 10004 JKL 20
=======================
How To Do????????????
Rgds,
RashadCreate a button say lable "delete" in a block other than the block from where u want to delete records.
suppose the block's name is emp_blk
now create a WHEN-BUTTON-PRESS trigger for delete button and write the following code
begin
go_block('emp_blk');
first_record;
loop
if :emp_blk.d ='X' then
delete_record;
end if;
if :system.last_record='TRUE' then
exit;
end if;
next_record;
end loop;
end;
filnally commit on save. -
Problem in Smart form while printing it in POLISH language
Hi All,
I am facing a problem in SMARTFORM and SAP SCRIPT.
I have developed a form in EN language and converted that in POLISH language using SE63 . When the form is printed in the POLISH language "#" is coming for some special characters of POLISH Language . ( e.g. 'Length' should get printed as 'DŁUGOŚĆ' ' but it is coming as 'D#UGO##'')
Please tell me how to handle these special characters in POLISH Language.
ThanksHi,
To solve this Basis need to create a new output device type which supports Latin-2 character set (Device type to I2HP4) or change the existing one to support Latin-2 character set.
Thanks
Edited by: dipesh kothari on May 6, 2008 5:33 PM
Edited by: dipesh kothari on May 6, 2008 5:34 PM -
Change Pointer while deleting a record
Hi everyone,
My question is: Suppose that the change pointers have been enabled for cost center message type. The sender sent a set of cost center data to recx. Now one of those cost center records in sender is deleted; will that cost center in recx also get deleted?
Thanks in advance !Hi All,
Thank you very much for your answers. I have the same understanding.
I have an issue though; in my sender a particulat cost center was deleted but it still exits in the recx. I checked first thing if the change pointers were enabled (tcodes BD61, BD50 and BD52. With respect to the cost center field in the idoc everything is enabled. So I am wondering why it dint get deleted in the recx.
all suggestions are welcome ! thanks a lot once again -
Problem in message mapping while generating multiple record
Hi experts,
I am doing an idoc to file scenario in which E1FISEG SEGMENT is coming multiple time and if it contains two field ebeln & sgtxt then only it has to create corresponding data record I used following logic ..............
eibeln[change context to one level upper] --->Exist
> AND-> Createif Target
sgtxt[change context to one level upper] -
>Exist
and achived creation of data record but the problem is that if EIFISEG occurs five time and only two time it contains eibeln& sgtxt then its creating only two data record but its taking data from first and second E1FISEG segment instead of corresponding E1FISEG which satisfy the condition......Plz help its bit urgent
Regards
NehaFirst take out the Context Change for each element EIBELN and SGTEXT and do the maping . Before the Createif Use the remove context node function. It will work fine.
So EIBELn and SGTXT exist pass after If condition it will pass the elements with context change inside. Now use the remove context method to combined those values then definetly it wil work out
Warm Regards,
Vijay
Message was edited by:
Gangisetty Vijaya Bhaskarudu -
Problem in Russian Forms while printing
Hi All,
when i'm printing Russian forms with TimesNewRoman Font,printer is printing some junk texts..but if i am using cyrlicCourier Font,it prints well.
I need to print the form in TimesNewRoman Font.where i have to change the settings???
Thanks
MerlinNote, to print double digit characters( on uni-code enabled printer) we have to use cyrillic fonts.. Ordinary fonts may give junk values most of the time... Use TIMECYR (it is times font for unicode printer)
close thread once your question is answered.
Regards,
SaiRam -
Problem with decode function while dispaly the data ( urgent )
Hi friends ,
I want the output like this.
sample:
CLIENT CODE: 00027
PLAN CODE: 01
SSN Last Name First Name TYPE Frequency Amount
123-45-6036 Perrault Julia D M 250.00
123-45-6036 Perrault Julia D Q 400.00
CLIENT CODE: 00027
PLAN CODE: 02
SSN Last Name First Name TYPE Frequency Amount
123-45-6036 Perrault Julia D S 1000.00
123-45-7042 Testaverde Alexander D B 50.00
this is my query:
SELECT distinct pln.plan_code,
ind.ssn,
ind.last_name,
ind.first_name,
pln.clt_client_id,
DECODE(rp.account_code,'AMNT',rp.userid,NULL) amount,
DECODE(rp.account_code,'FREQ',rp.userid,NULL) frequence,
DECODE(rp.account_code,'TYPE',rp.userid,NULL) type
FROM rp_extract_recon rp,
plan pln,
indicative ind
where ind.indicative_id in ( select distinct
rp1.ind_indicative_id
from rp_extract_recon rp1
where rp1.rp_extract_recon_id =
rp.rp_extract_recon_id )
and ind.clt_client_id = pln.clt_client_id
and pln.plan_id = rp.pln_plan_id
and rp.bat_batch_info_id = 14078
and rp.rp_report_type_code = 'TEST'
output for above query:
PLAN_C SSN LAST_NAME FIRST_NAME CLT_C AMOUNT
FREQUENCE TYPE
01 123456036 Perrault Julia 00027 250.00
01 123456036 Perrault Julia 00027 400.00
01 123456036 Perrault Julia 00027 M
01 123456036 Perrault Julia 00027 Q
01 123456036 Perrault Julia
00027 D
02 123456036 Perrault Julia 00027 1000.00
02 123456036 Perrault Julia 00027 S
02 123456036 Perrault Julia
00027 D
02 123457042 Testaverde Alexander 00027 50.00
02 123457042 Testaverde Alexander 00027 B
02 123457042 Testaverde Alexander
00027 D
11 rows selected.
11 rows selected.
how can i get the above ouput .
i want the type,frequency,amount values in one line.
thanks for u r kind help
sriniHi Srini,
Add Max in the begining and group by at the end of statement.
Please let me know in both cases if it works or not.
thanks
for example
SELECT distinct pln.plan_code,
ind.ssn,
ind.last_name,
ind.first_name,
pln.clt_client_id,
MAX(DECODE(rp.account_code,'AMNT',rp.userid,NULL) amount,
DECODE(rp.account_code,'FREQ',rp.userid,NULL) frequence,
DECODE(rp.account_code,'TYPE',rp.userid,NULL) type )
FROM rp_extract_recon rp,
plan pln,
indicative ind
where ind.indicative_id in ( select distinct
rp1.ind_indicative_id
from rp_extract_recon rp1
where rp1.rp_extract_recon_id =
rp.rp_extract_recon_id )
and ind.clt_client_id = pln.clt_client_id
and pln.plan_id = rp.pln_plan_id
and rp.bat_batch_info_id = 14078
and rp.rp_report_type_code = 'TEST'
GROUP BY
pln.plan_code,
ind.ssn,
ind.last_name,
ind.first_name,
pln.clt_client_id, -
Error Message AM057 while deleting contact person
Hi,
Recently, our company consolidated the SAP platforms for two regions and it is single instance now. The data is migrated to the new system by SLO. After this we are facing an issue while deleting the contact person in customer master. When we select the contact person and delete, we get a message saying "Specify a valid person use (PERSON_REFERENCE)". When we press enter, another entry (above the intended entry) gets deleted.
The performance assistant shows nothing but message no. AM057.
Based on the couple of OSS notes I have searched, I checked the table ADRVP entries and found two entries for that contact person. Both entries have the client number appearing in the field APPL_KEY.
The first record is having old client number and the second record is having the new client number. I presume, we are seeing two records because the data was migrated by SLO. But what is confusing is, both are having same addr.no. and marked as X for Owner (Flag: Adress owner object reference).
Data in table ADRVP looks as under.
Cl. Person Seq. No. Table Field Application table key pers.addr. Key Addr. no. Owner
300 0200591046 1 KNVK PRSNR 2000000093060 BP 0200026699 X
300 0200591046 45333695 KNVK PRSNR 3000007093060 BP 0200026699 X
Can there be more than one entry with same addr. no. in table ADRVP for the same person number? Can someone share what is wrong with deleting the contact person in customer master?
Thanks,
BalajiDear Balaji
You have asked same question In Different places
Re: Error Message AM057 while deleting contact person in customer master -
Error Message AM057 while deleting contact person in customer master
Hi,
Recently, our company consolidated the SAP platforms for two regions and it is single instance now. The data is migrated to the new system by SLO. After this we are facing an issue while deleting the contact person in customer master. When we select the contact person and delete, we get a message saying "Specify a valid person use (PERSON_REFERENCE)". When we press enter, another entry (above the intended entry) gets deleted.
The performance assistant shows nothing but message no. AM057.
Based on the couple of OSS notes I have searched, I checked the table ADRVP entries and found two entries for that contact person. Both entries have the client number appearing in the field APPL_KEY.
The first record is having old client number and the second record is having the new client number. I presume, we are seeing two records because the data was migrated by SLO. But what is confusing is, both are having same addr.no. and marked as X for Owner (Flag: Adress owner object reference).
Data in table ADRVP looks as under.
Cl. Person Seq. No. Table Field Application table key pers.addr. Key Addr. no. Owner
300 0200591046 1 KNVK PRSNR 2000000093060 BP 0200026699 X
300 0200591046 45333695 KNVK PRSNR 3000007093060 BP 0200026699 X
Can there be more than one entry with same addr. no. in table ADRVP for the same person number? Can someone share what is wrong with deleting the contact person in customer master?
Thanks,
BalajiBalaji Srinivasan wrote:
Based on the couple of OSS notes I have searched,
You should share the OSS note which you got from market place.
Have you checked this note Note 445825 - Error message AM057 when deleting a contact person ?
It has the reason and solution. -
Error in html Page while deleting record.
Hi all
Can any one help me out in solving this problem
Actually i am getting some error while deleting record in html page created usin OAF.
Error.
Exception Details.
oracle.apps.fnd.framework.OAException: oracle.jbo.DMLException: JBO-26080: Error while selecting entity for xxPersonDetailsEOP
at oracle.apps.fnd.framework.OAException.wrapperInvocationTargetException(Unknown Source)
at oracle.apps.fnd.framework.server.OAUtility.invokeMethod(Unknown Source)
at oracle.apps.fnd.framework.server.OAUtility.invokeMethod(Unknown Source)
at oracle.apps.fnd.framework.server.OAApplicationModuleImpl.invokeMethod(Unknown Source)
at xxt.oracle.apps.ak.webui.xxPersonMainCO.processFormRequest(xxPersonMainCO.java:54)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(Unknown Source)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(Unknown Source)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(Unknown Source)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(Unknown Source)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.beans.OABodyBean.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.OAPageBean.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(Unknown Source)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(Unknown Source)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(Unknown Source)
at OA.jspService(_OA.java:71)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:462)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:713)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
## Detail 0 ##
java.sql.SQLException: ORA-00911: invalid character
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:138)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:316)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:282)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:639)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:185)
at oracle.jdbc.driver.T4CPreparedStatement.execute_for_describe(T4CPreparedStatement.java:503)
at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:1029)
at oracle.jdbc.driver.T4CPreparedStatement.execute_maybe_describe(T4CPreparedStatement.java:535)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1126)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3001)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3043)
at oracle.jbo.server.OracleSQLBuilderImpl.doEntitySelect(OracleSQLBuilderImpl.java:730)
at oracle.jbo.server.EntityImpl.doSelect(EntityImpl.java:5594)
at oracle.apps.fnd.framework.server.OAEntityImpl.doSelect(Unknown Source)
at oracle.jbo.server.EntityImpl.lock(EntityImpl.java:3847)
at oracle.apps.fnd.framework.server.OAEntityImpl.lock(Unknown Source)
at oracle.jbo.server.EntityImpl.beforePost(EntityImpl.java:4328)
at oracle.jbo.server.EntityImpl.postChanges(EntityImpl.java:4472)
at oracle.apps.fnd.framework.server.OAEntityImpl.postChanges(Unknown Source)
at oracle.jbo.server.DBTransactionImpl.doPostTransactionListeners(DBTransactionImpl.java:2996)
at oracle.jbo.server.DBTransactionImpl.postChanges(DBTransactionImpl.java:2807)
at oracle.jbo.server.DBTransactionImpl.commitInternal(DBTransactionImpl.java:1971)
at oracle.jbo.server.DBTransactionImpl.commit(DBTransactionImpl.java:2173)
at oracle.apps.fnd.framework.server.OADBTransactionImpl.commit(Unknown Source)
at xxt.oracle.apps.ak.server.xxPersonAMImpl.deletePersonMethod(xxPersonAMImpl.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at oracle.apps.fnd.framework.server.OAUtility.invokeMethod(Unknown Source)
at oracle.apps.fnd.framework.server.OAUtility.invokeMethod(Unknown Source)
at oracle.apps.fnd.framework.server.OAApplicationModuleImpl.invokeMethod(Unknown Source)
at xxt.oracle.apps.ak.webui.xxPersonMainCO.processFormRequest(xxPersonMainCO.java:54)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(Unknown Source)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(Unknown Source)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(Unknown Source)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(Unknown Source)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.beans.OABodyBean.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.OAPageBean.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(Unknown Source)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(Unknown Source)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(Unknown Source)
at OA.jspService(_OA.java:71)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:462)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:713)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
java.sql.SQLException: ORA-00911: invalid character
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:138)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:316)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:282)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:639)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:185)
at oracle.jdbc.driver.T4CPreparedStatement.execute_for_describe(T4CPreparedStatement.java:503)
at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:1029)
at oracle.jdbc.driver.T4CPreparedStatement.execute_maybe_describe(T4CPreparedStatement.java:535)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1126)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3001)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3043)
at oracle.jbo.server.OracleSQLBuilderImpl.doEntitySelect(OracleSQLBuilderImpl.java:730)
at oracle.jbo.server.EntityImpl.doSelect(EntityImpl.java:5594)
at oracle.apps.fnd.framework.server.OAEntityImpl.doSelect(Unknown Source)
at oracle.jbo.server.EntityImpl.lock(EntityImpl.java:3847)
at oracle.apps.fnd.framework.server.OAEntityImpl.lock(Unknown Source)
at oracle.jbo.server.EntityImpl.beforePost(EntityImpl.java:4328)
at oracle.jbo.server.EntityImpl.postChanges(EntityImpl.java:4472)
at oracle.apps.fnd.framework.server.OAEntityImpl.postChanges(Unknown Source)
at oracle.jbo.server.DBTransactionImpl.doPostTransactionListeners(DBTransactionImpl.java:2996)
at oracle.jbo.server.DBTransactionImpl.postChanges(DBTransactionImpl.java:2807)
at oracle.jbo.server.DBTransactionImpl.commitInternal(DBTransactionImpl.java:1971)
at oracle.jbo.server.DBTransactionImpl.commit(DBTransactionImpl.java:2173)
at oracle.apps.fnd.framework.server.OADBTransactionImpl.commit(Unknown Source)
at xxt.oracle.apps.ak.server.xxPersonAMImpl.deletePersonMethod(xxPersonAMImpl.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at oracle.apps.fnd.framework.server.OAUtility.invokeMethod(Unknown Source)
at oracle.apps.fnd.framework.server.OAUtility.invokeMethod(Unknown Source)
at oracle.apps.fnd.framework.server.OAApplicationModuleImpl.invokeMethod(Unknown Source)
at xxt.oracle.apps.ak.webui.xxPersonMainCO.processFormRequest(xxPersonMainCO.java:54)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(Unknown Source)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(Unknown Source)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(Unknown Source)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(Unknown Source)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.beans.OABodyBean.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.OAPageBean.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(Unknown Source)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(Unknown Source)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(Unknown Source)
at OA.jspService(_OA.java:71)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:462)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:713)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)Paste your code.
-Anand -
Interesting scenario- user facing error while deleting a sales order
Hello All,
I have one interesting scenario and want feedback from your side as soon as possible
Scenario-
One of my clients is facing a problem while deleting a sales order.
the sales order he is trying to delete is the old order created in 2007.
when i see the document flow the user has created the export order, then delivered it, invoiced and sent it to accounting, accounting document is also cleared. then he cancelled the invoice, reverse PGI and deleted the delivery. the status of the sales order system is showing is being processed. but please note in this case after reversing PGI and deleting a delivery the delivery document disappears from the document flow.
document flow looks like this
Order - 200004715 Being processed
invoice- 700005310 completed
accounting 700005311 cleared
Cancel Invoice 700005315 completed
Accounting 700005316 cleared
Now, in 2008 user is trying to delete the sales order but he is unable to do the same. system is giving him message "unable to delete sales order because of subsequent document 70005310 (which is invoice number)"
Can somebody please throw some light on this problem.
Thanks in advance.Hi,
As fas as I know, this is standard system behaviour. The reason - you have done PGI (which has created a material document as well as accounting doc) and invoiced & reversed (which again has created accounting documents & rversal documents). All these documents are referencing the sales order.
If you delete sales order, sales order number gets deleted from VBAK /VBAP tables.
Hence, in relational data base scenario (meanin SAP in this context), deletion of sales order after creation of subsequent documents is not feasible.
Hope it clarifies the issue.
Regards
Murali -
Problem while inserting a record to infotype 416
Iam facing a problem while inserting a record to the infotype 416 for a personnel no using the FM 'HR_INFOTYPE_OPERATION'.I have created a FM to insert a record to the infotype 416.In that FM iam using the FM 'HR_INFOTYPE_OPERATION' to create a record for infotype 416.while executing my FM the FM 'HR_INFOTYPE_OPERATION' is returning the return value 0.But when i check in PA30 for the infotype 416,there is no record created for that personnel no.Also in the table PA0416 the record is not get created.SO what might be the problem.can anyone please provide me help on this.
I have attached the code of my FM for ur reference.
FUNCTION Y_ESS_FL_ENCASH.
DATA: G_COMPENSATION_AMOUNT LIKE PA0416-AMONT,
G_RETURN TYPE BAPIRETURN1.
DATA T_PA0416 LIKE P0416 OCCURS 0 WITH HEADER LINE.
CALL FUNCTION 'HR_READ_INFOTYPE'
EXPORTING
TCLAS = 'A'
PERNR = '00000014'
INFTY = '0416'
BEGDA = sy-datum
ENDDA = sy-datum
BYPASS_BUFFER = 'X'
LEGACY_MODE = ' '
IMPORTING
SUBRC =
TABLES
INFTY_TAB = T_PA0416
EXCEPTIONS
INFTY_NOT_FOUND = 1
OTHERS = 2
LOOP AT T_PA0416
WHERE SUBTY = '1002'.
ENDLOOP.
IF SY-SUBRC <> 0.
CALL FUNCTION 'BAPI_EMPLOYEE_ENQUEUE'
EXPORTING
NUMBER = '00000014'
IMPORTING
RETURN = G_RETURN.
IF SY-SUBRC <> 0.
MESSAGE I016(RP) WITH ' RECORD IS ALREADY LOCKED'.
ENDIF.
T_PA0416-PERNR = '00000014'.
T_PA0416-SUBTY = '1002'.
T_PA0416-INFTY = '0416'.
T_PA0416-OBJPS = ''.
T_PA0416-SPRPS = ''.
T_PA0416-SEQNR = ''.
T_PA0416-AEDTM = SY-DATUM.
T_PA0416-UNAME = SY-UNAME.
T_PA0416-ENDDA = SY-DATUM.
T_PA0416-BEGDA = SY-DATUM.
T_PA0416-NUMBR = '10'.
T_PA0416-WGTYP = '1530'.
T_PA0416-AMONT = '15000'.
T_PA0416-WAERS = 'INR'.
T_PA0416-QUONR = '1'.
APPEND T_PA0416.
CALL FUNCTION 'HR_INFOTYPE_OPERATION'
EXPORTING
INFTY = '0416'
NUMBER = '00000014'
SUBTYPE = '1002'
OBJECTID =
LOCKINDICATOR =
VALIDITYEND = '31129999'
VALIDITYBEGIN = SY-DATUM
RECORDNUMBER = ''
RECORD = T_PA0416
OPERATION = 'INS'
TCLAS = 'A'
DIALOG_MODE = '0'
NOCOMMIT = 'X'
VIEW_IDENTIFIER =
SECONDARY_RECORD =
IMPORTING
RETURN = G_RETURN.
KEY =
IF G_RETURN+0(1) EQ 'E'.
MESSAGE I086(ZHR) WITH 'Record is not inserted in IT416'.
ELSE.
COMMIT WORK.
ENDIF.
CALL FUNCTION 'BAPI_EMPLOYEE_DEQUEUE'
EXPORTING
NUMBER = '00000014'
IMPORTING
RETURN = G_RETURN.
ENDIF.
ENDFUNCTION.Hi Murthy
With a first glance, I think you have given a wrong parameter value to "validityend". It should be '99991231' not '31129999' .
If your problem still persists, try inserting the data online from PA30. If your input causes no errors, then please state what the return parameter contains.
Regards
*--Serdar <a href="https://www.sdn.sap.com:443http://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.sdn.businesscard.sdnbusinesscard?u=qbk%2bsag%2bjiw%3d">[ BC ]</a>
Maybe you are looking for
-
I can't play a song on my iPod touch?
Well, I transferred a song from iTunes to my iPod touch, and the lettering is grey, I can't select it to play!
-
SAP Inbox t code sbwp is not working properly
Hi, In our SAP server the SAP mail box t code SBWP is not working at a particular time between 11 AM to 12 AM. If we send internal mails between SAP users in t code SBWP we are able to receive all the time but at a particular time of 11 AM to 12 AM w
-
How to save appropriate images and then discard the saved images after using.
Hi, The attached program is used for gesture recognition and playing the corresponding audio file for each recognized pattern. It is saving all the images that are captured and is using in pattern matching. if pattern for "A" is captured ,then almost
-
Broken SWF icon...
...when I'm working in Dreamweaver (CS5.5), on 3 (relevant) pages I haven't altered in over a year. BUT all appears fine on same pages in my website. (Also, I had created this rudimentary website using an older version of DW. Maybe that makes a diffe
-
Help needed related oracle streams
Can Oracle Streams do column change detection? If so, can the changed column be identified in the replicated output? · What kinds of flexibility are there in the replicated output? Can we select rows related to a changed row from the same table; from