Deleting duplicated records by date

Hi,
what could I do to delete duplicated records from test1 table
the test1 table have the next columns that I describe below:
code
operator
phone
init_date
end_date The records are duplicated by code, operator, phone, init_date
and I need to delete the records with min(end_date)
thanks in advanced...

/* Formatted on 1/12/2012 7:28:44 AM (QP5 v5.149.1003.31008) */
CREATE TABLE data
AS
   (SELECT 'A' code,
           'Bob' operator,
           '111-2222' phone,
           ADD_MONTHS (SYSDATE, -1) init_date,
           SYSDATE end_date
      FROM DUAL
    UNION ALL
    SELECT 'A',
           'Bob',
           '111-2222',
           ADD_MONTHS (SYSDATE, -1) init_date,
           SYSDATE + 1 end_date
      FROM DUAL);
DELETE FROM data
      WHERE (code, operator, phone, init_date, end_date) IN
               (SELECT code,
                       operator,
                       phone,
                       init_date,
                       end_date
                  FROM (SELECT data.*,
                               COUNT (
                               OVER (
                                  PARTITION BY code,
                                               operator,
                                               phone,
                                               init_date)
                                  cnt,
                               ROW_NUMBER ()
                               OVER (
                                  PARTITION BY code,
                                               operator,
                                               phone,
                                               init_date
                                  ORDER BY end_date)
                                  rn
                          FROM data)
                 WHERE cnt > 1 AND rn = 1);

Similar Messages

  • 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.setFormP

    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,

  • How to delete the duplicated records, not just surpress the records?

    I am new to CR. Right now I am doing a project which needs CR get query from Oracle. I got the query from Oracle. There are records with duplicated fields. For example (the following only show part of fields):
    ID    body_code  
    1            10            
    2             10            
    3             15            
    4              15           
    5              15           
    6              16           
    I need to only select records (not surpress, because I will do some caluculate later) like following:
    ID         body_code        
    1             10         
    2              15
    3               16   
    I tried to creat selection fomula in fomula workshop, shown as follows:
    onlastrecord;
    <>next
    but CR said next can be evaluated. I think it must have something to do with the print-time. So what show I do to delete the duplicated records.Thank you very much.

    Ting,
    Try this:
    Insert a group on body_code.  Then create a running total called Distinct Count.  Field to summarize -> ID, Evaluate on change of group Group # 1 Body Code, and Never Reset.
    Then insert a chart in the report header:
    In the advanced layout, select body_code on change of and select Distinct Count running total in the Show values.
    I hope I understood what you're looking to accomplish.
    Z

  • Deleting a record from Master data

    Hi all,
    I need some help with deleting a record from the master data.I did go to the master dta maintenance screen and selected the record to be deleted. I saved it. I received the message, "master Data record cannot be deleted".
    I then went into transaction slg1 to check for the details of the record. A message stating " Master data record XXX is being used in the cube /BIC/Dzzzyyy312.
    This record is no longer needed by the end user and was requested to be deleted. Could some one tell me if there is a possibility to delete this unused masterdata record. Your suggestions are appreciated.
    Regards!

    Hi Sumana,
       Check this...Similar Post..
    MAster data deletion throws a dump
    Hope it helps
    Srini

  • Duplicated records on infoobect data load

    Hi,
    I have a problem when loading dato to 0UCINSTALLA infoobject.
    It goes to Red flga and It reports duplicated records in /BI0/QUCINSTALLA and /BI0/YUCINSTALLA tables.
    I checked the infopackage and the "PSA only" checkbox is selected, and "Continuing..." and "Ingnore dup records" checkboxes are selected, too.
    If the "Ignore duplicated records" is selected, why is reporting the error?
    I don't know what to do with this problem.
    any ideas?
    thanks for the help.
    Mauricio.

    In transfer structure write a start routine that delete duplicate record like that:
    sort DATAPAK by /BIC/filed1 descending /BIC/filed2
    /BIC/filed3.
    delete adjacent duplicates from DATAPAK comparing /BIC/filed1 /BIC/filed2.
    Hope it helps.
    Regards

  • Deadlock when deleting a not linked data record in a parent table

    Hello, who knows about this problem with Oracle 10g:
    Our installation of Oracle 10.2g behaves different from Oracle 9.2 concerning locking of data records:
    To prevent that different users edit a complex data record at the same time and store it, the user has to put
    the data record into the "edit mode" and we lock it with "Select CharFieldZ from TableX where ID = 1 for UPDATE NOWAIT".
    In this data record references (= foreign keys) to other tables are used; with foreign key constraints we
    prevent those data records of these tables from being deleted, which are used in data records of tableX: on
    deleting such a record Oracle gives an error message ORA-02292, which the application translates for the
    user: "You cannot delete this record, because it is used somewhere else".
    Now when locking data record A under Oracle 10.2g, which contains a foreign Key upon data record 1 of tableF,
    and trying to delete data record 2 of tableF, a deadlock appears, even when this data record is not used
    anywhere else.
    Further conditions:
    - Data record 2 was created before locking of data record A.
    - In the same session tableF was opened for reading before.
    Is there a parameter, which leads Oracle 10.2g to return to the former behavoir ?
    or: how is it possible to prevent a deadlock anyhow else ?
    Thanks in advance
    Lothar Weidl-Walther
    Germany
    Edited by: schatzag on 04.02.2009 14:22
    for easier demonstration the SQL-scripts:
    Installation:
    DELETE TableF;
    DELETE TableX;
    CREATE TABLE TableF
    ( ID INTEGER NOT NULL,
    NAME VARCHAR2(30 BYTE) NOT NULL);
    CREATE UNIQUE INDEX PK_TableF ON TableF(ID);
    ALTER TABLE TableF ADD CONSTRAINT PK_TableF PRIMARY KEY(ID);
    INSERT INTO TableF VALUES (1, 'Record1');
    INSERT INTO TableF VALUES (2, 'Record2');
    commit;
    CREATE TABLE TableX
    ( ID INTEGER NOT NULL,
    NAME VARCHAR2(30 BYTE) NOT NULL,
    CharFieldZ VARCHAR2(100 BYTE),
    TableF_ID INTEGER);
    ALTER TABLE TableX ADD (
    CONSTRAINT FK_TableX_TableF
    FOREIGN KEY (TableF_ID)
    REFERENCES TableF (ID));
    INSERT INTO TableX VALUES (1, 'ComplexRecord1', 'User1', 1);
    commit;
    Session1:
    SELECT CharFieldZ FROM TableX WHERE ID = 1 FOR UPDATE NOWAIT;
    SELECT * FROM TableF;
    Session2:
    DELETE FROM TableF WHERE ID = 2;
    Edited by: schatzag on 04.02.2009 14:26

    I'm not aware that the locking mechanism did change between Oracle 9i and 10g. Can you provide a simple and reproducable example?
    You current description is very "uncomplete", e.g. this statement would lock the full table, but I think that is not what your application does.
    Select CharFieldZ from TableX for UPDATE NOWAITAs Peter already mentioned you should check if there are any other differences between the databases. Let me mention just a few points that I can think of at the moment:
    * indexes
    * FK constraints with DELETE CASCADE
    * higher oracle block size (can lead to more ITL locks)
    Edited by: Sven W. on Feb 4, 2009 2:18 PM

  • Delete the records which have the Data values are NULL before load data to BPC model

    Hi Everyone,
    I am loading the data from flat file to BPC Model (10.0 Version).
    Source data (Flat file) looks like below:
    RP_Employee RPT_Currency Data
    Test                USD                   8
    Test1              USD
    Test2              USD                    6
    My user requirement is that to delete the records which have the Data values are NULL before load data to BPC model.
    So,Please let me know how can i meet to this requirement.
    I am thinking that,it is possible by using start routine BADi. If i am correct please let me know process like creation of class and BADi implementation.
    Thanks in advance!!

    Hi Nilanjan,
    Please see my source data below:
    Account      Client       Employee     Time                Data
    123              XYZ            Vishu            2014.01               300
    456                                                       2014.01
    789              ABC         Alexander      2014.02               200
    If you see the second record,
    If data value is ZULL,  then the Employee or another dimension is also NULL.
    So I want to delete second records.
    If it is Start routine please share the code and steps to do.
    Thanks in advance!!
    Regards,
    Viswanath

  • Prevent auto data deletion of records from gl_interface table after success

    Hello All,
    I currently developing the journal conversion.
    I have successfully imported some sample journal data.
    But the problem here is i am not able find the successfully uploaded journal data in the gl_interface table.It is getting deleted after successful import.
    How to prevent this deleted, i want that data to be available in the gl_interface table.
    Any setup needs to be done for this?
    Oracle ebs version : 12.1.1
    Thanks & Regards
    aboothahir

    any suggessions on the above query?
    Thanks & regards
    Aboo

  • Delete record No data found exception

    Hi,
    I have a query like this in a procedure:
    Select c_on_file into v from table1 where id =pid;
    If(v =0 ) then
    Delete from table1 where id=pid;
    If passed id not exist in table1 then there is no value for the c_on_file so I am getting No_data found exception. How to overcome this?
    Here my requirement is if c_on_file =1 for the specific id I don't want to delete the record from the table else delete that record.
    Thanks

    Why don't you write something like this:
    Delete from table1
    where id = pid
    and c_on_file = 0;
    Message was edited by:
    RPuttagunta
    --zero not one.                                                                                                                                                                                                                                                                                                                                                   

  • Error while updating or deleting a record

    Hi to all...
    i have created atable group_master with 2 fields Group_id and Group_name
    the user will specify a group_name in a text box and press save. Before commiting a seq number will be generated
    inside the form procedure and it will be inserted.
    The insert is working fine.
    But when i select a record i.e a group_name and change it contents and commit it, it is not commiting.
    when i checked the display error it showed Ora-01400 cannot insert null values into the table.
    Iam not inserting a value here iam updating the group name only.
    even when i delete a record it shows same error....
    can any one help to solve this....
    thanx in advance........

    I have when button pressed trigger whick helps to show the lov which contains the group_id and group_name;
    a := show_lov('lov27');
    if a then
    go_block('group_master');
    execute_query;
    end if;
    it is correctly fetching the delected data. but propmpts a message box asking Do u want to save the record?
    if i ignore it n modify the group_name and save it,still it shows unable to insert null value.
    i jus want a simple way to solve this....
    i want to fetch that particular record and modify or delete it.
    group_id n group_name cannot be null.
    i will be using Buttons for add,delete,update and save record. i will be using lov to fetch records for modification or deletion.
    how to avoid the message box which prompts when i call lov with execute_query.....
    * I tried Key-listval...but i didnt get any solution. i will try again....
    thanx for ur replies....

  • A better way to delete IT2001 records in batch.,

    Hi Gurus,
    A little problem here. Due to data source error, I need to delete IT2001 records in batch.
    Currently I am using standard report RPUREOPN to do this. But RPUREOPN will not update those deduction in IT2006 quota. So I've to delete & reupload cooresponding IT2006 quota data which is inconvenient.
    Is there a better way to do this job? I mean deleting IT2001 in batch and also update the deductions in IT2006.
    Thanks in adv!
    Br,Kee

    After running the report you mentioned above to delete absences/attn you can try running the report RPTUPD00 to revaluate the attendance and absence.
    Regards,
    Divya

  • How to refresh after delete the records in ALV report ?

    Hi Friends,
    How to refresh after delete the records in ALV report.
    I am deleting records in ALV report .
    After successful delete the screen should refresh.
    u201C Deleted records should not appear in the screen u201C.
    Please guide me.
    Regards,
    Subash

    Hi subhash,
    FORM user_command USING r_ucomm LIKE sy-ucomm      rs_selfield TYPE slis_selfield.
    WHEN 'BACK'.
    Refresh the internal table from the ALV grid
          PERFORM update_alv_tab.
    ENDFORM.                    "user_command
    FORM update_alv_tab .
      DATA :  e_grid TYPE REF TO cl_gui_alv_grid.
      CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
        IMPORTING
          e_grid = e_grid.
      CALL METHOD e_grid->check_changed_data.
      "update_alv_tab
      CALL METHOD e_grid->refresh_table_display.
    ENDFORM.                    " UPDATE_ALV_TAB
    Then see in Debug mode is it updating or not..
    Please confirm .
    And please paste the code if you can.
    Regards.

  • Regarding how to delete the record in internal table

    Hi experts ,
    how to delete the record in intarnal table after validating the data,
    if record contains invalid fields?
    i am giving my code see this and give me the answer?
    loop at it_data into wa_data .
    Validate  Cost Center
        READ TABLE it_kostl INTO wa_kostl WITH KEY kostl = wa_data-kostl BINARY SEARCH.
        IF sy-subrc NE 0.
          PERFORM update_error_log USING wa_data
                                         text-004.
        ENDIF.
    Validate source file material ( material number )
    loop at it_mara into wa_mara .
      read table it_ausp into wa_ausp with key atwrt = wa_data-i_matnr .
               if sy-subrc NE 0 .
       PERFORM update_error_log USING wa_data
                                           text-002.
    delete it_data-objek .
         else.
      read table it_mara into wa_mara with key  matnr = wa_ausp-objek .
           if sy-subrc EQ 0 .
           wa_data-objek = wa_mara-matnr.
           wa_data-matkl = wa_mara-matkl.
         ENDIF.
         Modify it_data from wa_data  .
      endif.
    *endloop.
    Validate unit of measure (unit)
        READ TABLE it_t006 INTO wa_t006 WITH KEY msehi = wa_data-unit .
        IF sy-subrc NE 0.
          PERFORM update_error_log USING wa_data
                                         text-003.
        endif.
    Validate delivery location ( storage location )
        READ TABLE it_lgort INTO wa_lgort WITH KEY del_loc = wa_data-del_loc.
        IF sy-subrc NE 0.
          PERFORM update_error_log USING wa_data
                                         text-001.
             if wa_data-flag ='x' .
          delete it_data from  wa_data .
        endif.
        ENDIF.
    endloop.

    Hi Naren,
    First get the index number of the IT_data table and store it in one variable whose declaration like this.
    data: tabix type sy-tabix.
    while reading the internal table it_data set the tabix variable.
    tabix = sy-tabix.
    Instead of  the above use below one.
    Delete it_data-objek
    Use the Below statement it will delete  the row from the internal table.
    Delete it_data-objek index tabix
    Thanks,
    Chidanand

  • How to delete the records

    Hi,
            I am having one scenario like,in one database table one field like payment run date is there it is up dated when the payment made.from based on this date we need  calculate the no of days to system date.if the days is greater than 125 days i need to be delete that record from db table.could you please provide the logic please.
    Thanks.
    harinath

    hi Hari,
    do this way..
    loop at itab.
      lv_tabix = sy-tabix.
       if itab-field1 GT '125'.
         delete <table> index lv_tabix.
       else.
        < Do Something>
       endif.
    endloop.

  • How to delete duplicate records in 10 G.

    how to delete duplicate records in 10 G.

    --Here is one way to do it using a second table 
    create table temp1
    (col1 char(1));
    --Table created.
    insert into temp1 (col1) values('A');
    insert into temp1 (col1) values('B');
    insert into temp1 (col1) values('B');
    --1 row created.
    --1 row created.
    --1 row created.
    create table temp2 as select distinct * from temp1;
    --Table created.
    --now you have a second table with no duplicates
    --truncate your old table
    truncate table temp1;
    --Table truncated.
    --and reload it with data from the new table
    insert into temp1 select * from temp2;
    --2 rows created.
    --then drop the temp2 table
    drop table temp2

Maybe you are looking for

  • COnnecting to two different powered speakers in two different rooms???

    I have a Linksys router with iTunes running on my PC which I can send a signal out to my living room AP express to recieve my iTunes @ my powered speaker. I now have added another AP express in my bedroom along with another powered speaker. Is it pos

  • Save as using input data of a form

    Hi, I know that it's possible to write javascript which runs after pressing 'save' in a PDF. So I wonder if the following would be also possible for an existing pdf file which contains forms (Name, Address,...): - fill out forms - press save - acroba

  • Online Price List

    Hello, One of our client has E-Commerce 5.0 and TREX 7.1 integrated and web shop is working fine. They are looking forward to integrate online price list. Current scenario - They have a Z table (50,000 records) which has all the pricing relevant reco

  • UnicastRemoteObject slows me down!

    hi ... i created a small RMI Server this this setup code: public static void main(String[] args) { try { LocateRegistry.createRegistry(2001) ; final Compute engine = new ComputeImpl(); Naming.rebind("//localhost:2001/Compute",engine); System.out.prin

  • CST t

    posted PO with V0 tax code and CST, other taxes at item conditions but in MIRO only CST tax condition value is not reflecting, why?