Duplicates in a database table

Hi !
I have a database table. It has 4 fields. 3 of them are key.
Table (f1,f2,f3,f4)
f1,f2,f3: key
f4: numeric field.
From a ABAP program, I can insert (using insert sentence) two records with the same key. why ???
Then, if I try ....
select f1 f2 f3 sum(f4)
from table
group by f1 f2 f3
... it doesn´t work. This sentence returns two records. Why ?
(some fields of the key can be nulls)
Thanks.

HI,
From a ABAP program, I can insert (using insert sentence) two records with the same key. why ???
first of all It is not at all possible. There should be atleast one key value different for 2 data-row in database table. It is the fundamental concept of key. Your above statement holds for nonkey vaule or partial key field view/selection only.
for next query,
Instead of
select f1 f2 f3 sum(f4)
from table
group by f1 f2 f3........
use
select distinct f1 f2 f3 sum(f4)
from table
group by f1 f2 f3............
Regards,
Anirban

Similar Messages

  • How to delete duplicate records in all tables of the database

    I would like to be able to delete all duplicate records in all the tables of the database. Many of the tables have LONG columns.
    Thanks.

    Hello
    To delete duplicates from an individual table you can use a construct like:
    DELETE FROM
        table_a del_tab
    WHERE
        del_tab.ROWID <> (SELECT
                                MAX(dups_tab.ROWID)
                          FROM
                                table_a dups_tab
                          WHERE
                                dups_tab.col1 = del_tab.col1
                          AND
                                dups_tab.col2 = del_tab.col2
                          )You can then apply this to any table you want. The only differences will be the columns that you join on in the sub query. If you want to look for duplicated data in the long columns themselves, I'm pretty sure you're going to need to do some PL/SQL coding or maybe convert them to blobs or something.
    HTH
    David

  • Updating database table with DUPLICATE keys

    i have an internal table having data as follows.
    emp_id     name     date           proj_id  activity_id    Hours  Remarks
    101     Pavan    09.10.2007      123     1         2.00       Coding
    101     Pavan     09.10.2007   124     2         1.00        Documentation
    102     Raj     09.10.2007   123        3         6.00     Testing
    Now i need to update a Ztable with above mentioned data.
    The structure of the Ztable is as follows.
    Mandt     emp_id  name    date    proj_id   activity_id   Hours   Remarks
    NOte: i have ticked both check boxes for the field MANDT in table.
    Rest didnt select the check boxes.
    I believe now the field MANDT alone is a primary key for the z-table.
    NOw i have tried with UPDATE/INSERT statments to update the database table.
    But instead of inserting all the rows, the system is over writing on the same emp_id row.
    Even tried with the statments like INSERT INTO <Ztable> values <Internal table> ACCEPTING DUPLICATE KEYS.
    But its not getting inserted as a separate row in the table.
    Requirement is to insert the multiple rows in the database table without any over writing activity.
    Can anyone give me the code to do this?
    Regards
    Pavan

    Hi Pavan,
        Please let me know what are the key fields in your Ztable. Try with below code it may help you. change the "Ztablename" as your database table name and I_INTERNAL TABLE  as your internal table name. still you are facing the problem please let me know.
    lock the custom table before updating the table.
      CALL FUNCTION 'ENQUEUE_E_TABLE'
       EXPORTING
      MODE_RSTABLE         = 'E'
         TABNAME              = 'ZTABLENAME'
      VARKEY               =
      X_TABNAME            = ' '
      X_VARKEY             = ' '
      _SCOPE               = '2'
      _WAIT                = ' '
      _COLLECT             = ' '
       EXCEPTIONS
         FOREIGN_LOCK         = 1
         SYSTEM_FAILURE       = 2
         OTHERS               = 3
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ELSE.
        INSERT  ZTABLENAME FROM TABLE I_INTERNALTABLE ACCEPTING DUPLICATE KEYS.
        COMMIT WORK.
      ENDIF.
    unlock after updating the custom table After updation is done.
      CALL FUNCTION 'DEQUEUE_E_TABLE'
       EXPORTING
        MODE_RSTABLE       = 'E'
         TABNAME            = 'ZTABLENAME'
        VARKEY             =
        X_TABNAME          = ' '
        X_VARKEY           = ' '
        _SCOPE             = '3'
        _SYNCHRON          = ' '
        _COLLECT           = ' '

  • No data in Portal Database tables for Activity Report

    Hi experts,
    I've developed an Activity Report application in SAP Portal 7.0, which went live but the report shows no data.
    We are pulling data from 2 portal database tables: WCR_WEBCONTENTSTAT and WCR_USERPAGEUSAGE
    In non production environment there is data in the report but there is no data in the production environment.
    The Activity Report service is already activated/started and set to true.
    What could have caused this? And what should we check now?
    What other configurations/setup should be done?
    Regards,
    Greg

    Hi Greg,
    Those are the aggregated tables. If they are not filled with data although the Portal Activity Report is activated, you should check whether the aggregation finished successfully.
    In the older SPs there were some problems that were fixed in later SPs of 7.0.
    In order to have the latest version of Portal Activity report, you can check SAP note 1084379 - Portal Activity Report - Latest Version (SDA file).
    You can compare the SP via the MANIFAST file, as it contains the version and SP number.
    In order to troubleshoot problems in Activity Report, you can follow SAP note: 1690023 - Portal Activity Report - Component-specific Note
    Some basic checks that you can do:
    Run query on the raw data tables to check since when there is data in those tables:
    select min(timestamphour) from SAP<SystemID>DB.WCR_WEBCNODESTAT;
    If there is too much data from long time ago, then you should delete the old data, and leave only the new data (there is anyways retention time for the data to be kept).
    If there is no data, then it means that the Portal Activity Report does not collect data, and not really activated (usually this is not the case).
    The aggregation runs every top of the hour, so you can check in the default traces for an error during that time.
    In most of the cases something went wrong while aggregating the data.
    As a result the aggregation is not finished, so the transaction is not being committed, and the aggregated tables stay empty.
    If there is a DuplicateKeyException in the trace, you can follow SAP note 1054145 - Duplicate Key Exception.
    If you have any more questions, please don't hesitate to ask.
    I hope this information helps,
    Thanks & regards,
    Michal Zilcha-Lang

  • How to change a field of type CHAR of a database table to DATS

    Dear ABAP experts,
    I have a database table: ZLT_aztnew with fields M1, M2, K1, K2, A1, A2, P1, P2, S2, D1, D2,  STD, BES. All these fields are of type 'Character'.  except D2 which is of type DATS. The field D1 is date and is in format DD.MM.YYYY.
    I want to convert this field D1 to type DATS so that I can use a date range through 'selection option' to select other  data of other fields (M1, M2, K1, K2, A1, A2, P1, P2, S2, D1, STD, BES.) related to field D1 from the database table Zlt_aztnew.
    How should I introduce this change (CONVERSION OF D1 CHAR to DATS in the .AZT file upload code itself.
    Problem: If I define D1 as Type  DATS in database table ZLT_AZTNEW then the UPLOAD fails.
    The AZT file upload code is:
    Data  it_string   type stringtab.
    Data  lv_string    type string.
    DATA:  itab  TYPE STANDARD TABLE OF zlt_aztnew.
    DATA:  wa_tab    TYPE zlt_aztnew.
    DATA: file_str1 type string.
    Data: it_tab TYPE STANDARD TABLE OF file_table,
            lw_file LIKE LINE OF it_tab,
            gd_subrc TYPE i.
    SELECTION-SCREEN begin of block blk with frame title text-100.
      SELECTION-SCREEN SKIP 2.
        parameters : p_file like rlgrap-filename .
    SELECTION-SCREEN end of block blk.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
    CALL METHOD cl_gui_frontend_services=>file_open_dialog
        EXPORTING
        window_title = 'Select only Text File'
        default_filename = '.azt'
        multiselection = 'X'
        CHANGING
        file_table = it_tab
        rc = gd_subrc.
    READ TABLE it_tab INTO lw_file INDEX 1.
       p_file = lw_file-FILENAME.
    Start-of-Selection.
      file_str1 = P_file.
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        filename                      = file_str1
    *    filename                      = '\\10.10.1.92\Volume_1\_projekte\Zeiterfassung-SAP\test.azt'
      tables
        data_tab                      = it_string
    IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    LOOP AT it_string  INTO lv_string.
    clear wa_tab.
    SPLIT lv_string AT ';' INTO  wa_tab-M2   wa_tab-k2   wa_tab-A2   wa_tab-P2  wa_tab-S2   wa_tab-D1  wa_tab-STD  wa_tab-BES.
    Append wa_tab to itab.
    Write: sy-uline(120),
              / sy-vline,
                2 wa_tab-M2,
               11 sy-vline,
               13 wa_tab-k2,
               25 sy-vline,
               27 wa_tab-A2,
               32 sy-vline,
               34 wa_tab-P2,
               39 sy-vline,
               41 wa_tab-S2,
               46 sy-vline,
               48 wa_tab-D1,
               60 sy-vline,
               62 wa_tab-STD,
               72 sy-vline,
               74 wa_tab-BES,
              120 sy-vline.
    ENDLOOP.
    DATA: Answer.
    UPDATE zlt_aztnew From Table itab.
    * INSERT ZLT_aztnew From Table itab accepting duplicate keys.
    If sy-subrc NE 0.
    CALL FUNCTION 'POPUP_TO_CONFIRM'
      EXPORTING
       TITLEBAR                    = 'TITLE '
    *   DIAGNOSE_OBJECT             = ' '
        text_question               = 'Wollen Sie die vorhandenen Inhalte ändern'
       TEXT_BUTTON_1               = 'Ja'(001)
    *   ICON_BUTTON_1               = ' '
       TEXT_BUTTON_2               = 'Nein'(002)
    *   ICON_BUTTON_2               = ' '
       DEFAULT_BUTTON              = '1'
       DISPLAY_CANCEL_BUTTON       = 'X'
    *   USERDEFINED_F1_HELP         = ' '
    *   START_COLUMN                = 25
    *   START_ROW                   = 6
    *   POPUP_TYPE                  =
    *   IV_QUICKINFO_BUTTON_1       = ' '
    *   IV_QUICKINFO_BUTTON_2       = ' '
    IMPORTING
       answer                      = answer
    * TABLES
    *   PARAMETER                   =
    EXCEPTIONS
       TEXT_NOT_FOUND              = 1
       OTHERS                      = 2
    *IF sy-subrc <> 0.
    ** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    **         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    *ENDIF.
    IF Answer = '1'.
    WRITE: / 'Die vorhandenen Inhalte war geändernt'.
    MODIFY zlt_aztnew From Table itab.
    ENDIF.
    ENDIF.
    TO introduce a date range and pull data from the database table Zlt_AZTNEW--> I wrote the BELOW code SEPARATELY,
    but after execution, the error I am getting is: Enter a valid Date (for example, 31.03.2014).
    TABLES:   ZLT_aztnew.
    TYPES:  Begin OF ty_AZTN,
             M2   TYPE Zlt_AZTNEW-M2,
             K2   TYPE Zlt_AZTNEW-K2,
             A2   TYPE Zlt_AZTNEW-A2,
             P2   TYPE Zlt_AZTNEW-P2,
             S2   TYPE Zlt_AZTNEW-S2,
             D1   TYPE Zlt_AZTNEW-D1,
             STD  TYPE Zlt_AZTNEW-STD,
             BES  TYPE Zlt_AZTNEW-BES,
           END OF ty_AZTN.
    DATA:   gv_datum  TYPE d.
    DATA:   it_aztn TYPE STANDARD TABLE OF ty_aztn with  header line.
    CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'
      EXPORTING
        date_external                  = zlt_aztnew-D1
    *   ACCEPT_INITIAL_DATE            =
    IMPORTING
       DATE_INTERNAL                  = gv_datum
    * EXCEPTIONS
    *   DATE_EXTERNAL_IS_INVALID       = 1
    *   OTHERS                         = 2
    IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
           SELECT-OPTIONS: s_datum FOR gv_datum.
          INITIALIZATION.
            s_datum-low  = sy-datum.
            s_datum-high  = sy-datum.
            APPEND s_datum.
    ********** After this further code follows with "SELECT"  wherein I want to use the gv_datum as Where condition.
    SELECT   M2
                      K2
                      A2
                      P2
                      S2
                      D1
                      STD
                      BES
             FROM     ZLt_AZTNEW
             INTO     TABLE it_AZTN
             Where    D1 = gv_datum.
    Please provide me your valuable suggestion to correct any flaw in my code above.
    Looking forward for your reply.
    Best regards
    Chandan Kumar

    Dear Rama,
    Plz refer the following difference in naming conventions as compared to your suggestion:
    it_flat_file --> itab, (internal table for AZT fiel upload and split)
    ls_flat_file ---> wa_itab,
    Ztable --> Zlt_aztnew2,    (Dbase file)
    it_ztable ---> it_zlt_aztnew2, (internal table)
    ls_ztable --> wa_aztnew2,
    I wrote the following code but it is not working. Please also refer the attached screen shot of the database table : ZLT_AZTNEW2.
    Data  it_string   type stringtab.
    Data  lv_string   type string.
    DATA: file_str1 type string.
    Data: it_tab TYPE STANDARD TABLE OF file_table,
          lw_file LIKE LINE OF it_tab,
          gd_subrc TYPE i.
    TYPES: Begin of Ty_itab,
            M2  TYPE Char7,
            K2  TYPE Char3,
            A2  TYPE Char3,
            P2  TYPE Char3,
            S2  TYPE Char3,
            D1  TYPE Char8,
            STD TYPE Char8,
            BES TYPE Char80,
           END OF ty_itab.
    DATA: itab Type Standard Table of ty_itab,
          wa_itab Type ty_itab.
    DATA: it_zlt_aztnew2 type standard table of Zlt_aztnew2,
          wa_aztnew2     TYPE Zlt_aztnew2.
    SELECTION-SCREEN begin of block blk with frame title text-100.
      SELECTION-SCREEN SKIP 2.
        parameters : p_file like rlgrap-filename .
    SELECTION-SCREEN end of block blk.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      CALL METHOD cl_gui_frontend_services=>file_open_dialog
        EXPORTING
        window_title = 'Select only Text File'
        default_filename = '.azt'
        multiselection = 'X'
        CHANGING
        file_table = it_tab
        rc = gd_subrc.
      READ TABLE it_tab INTO lw_file INDEX 1.
      p_file = lw_file-FILENAME.
    Start-of-Selection.
      file_str1 = P_file.
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        filename                      = file_str1
    *    filename                      = '\\10.10.1.92\Volume_1\_projekte\Zeiterfassung-SAP\test.azt'
      tables
        data_tab                      = it_string
    IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    LOOP AT it_string  INTO lv_string.
      Clear wa_itab.
      SPLIT lv_string AT ';' INTO  wa_itab-M2   wa_itab-k2   wa_itab-A2   wa_itab-P2  wa_itab-S2         wa_itab-D1  wa_itab-STD  wa_itab-BES.
      append wa_itab to itab.
      Write: sy-uline(120),
              / sy-vline,
                2 wa_itab-M2,
               11 sy-vline,
               13 wa_itab-k2,
               25 sy-vline,
               27 wa_itab-A2,
               32 sy-vline,
               34 wa_itab-P2,
               39 sy-vline,
               41 wa_itab-S2,
               46 sy-vline,
               48 wa_itab-D1,
               60 sy-vline,
               62 wa_itab-STD,
               72 sy-vline,
               74 wa_itab-BES,
              120 sy-vline.
    ENDLOOP.
    LOOP at itab into wa_itab.
      CLEAR wa_aztnew2.
      wa_aztnew2-D1+0(4) = wa_itab+6(4).
      wa_aztnew2-D1+4(2) = wa_itab+3(2).
      wa_aztnew2-D1+6(2) = wa_itab+0(2).
    Append wa_aztnew2 to it_zlt_aztnew2.
    ENDLOOP.
    MODIFY Zlt_aztnew2 from table it_zlt_aztnew2.
    Looking forward for your suggestiojn.
    Regards
    Chandan

  • How to insert message style text columns in database tables

    Hi All,
    i have two pages.
    in first page segment1 lov is their.once u select the segment1 and click on the create button its navigate to next page.
    and display the releted segment1 details(these columns are message text input fields but read only columns).
    plz help me those columns are insert into database tables.
    its very urgent
    Thanks
    Latha.

    Hi Anil,
    plz help me still i am faceing the problem
    so plz help me because i dont know java.
    i wrote below code and i got the below error.
    if(pageContext.getParameter("Submit")!=null)
    String projnumber=pageContext.getParameter("ProjectNO");
    //String projectnumber=pageContext.getParameter("Projectnumber");
    String oldoperationid=pageContext.getParameter("EmployeeNumber");
    String newManagerName=pageContext.getParameter("NewManagerName");
    String ProjectID=pageContext.getParameter("ProjectID");
    String OldOperationName=pageContext.getParameter("OperationsManager");
    String OldOperationID=pageContext.getParameter("OldOperationID");
    OAMessageTextInputBean projnumberbean =webBean.findIndexedChildRecursive("ProjectNO");
    String projnumber=null;
    if(bean!=null)
    projnumber = (String)projnumberbean.getValue(pageContext);
    Serializable[] params = {projnumber,oldoperationid,newManagerName,ProjectID,OldOperationName,OldOperationID};
    am.invokeMethod("xxinsertpagelogic",params);
    and i wrote import also.
    import oracle.apps.fnd.framework.webui.beans.message.OAMessageTextInputBean;
    my errors are
    Error(64,78): incompatible types; found: oracle.apps.fnd.framework.webui.beans.OAWebBean, required: oracle.apps.fnd.framework.webui.beans.message.OAMessageTextInputBean
    Error(65,13): duplicate definition of variable projnumber in method processFormRequest(oracle.apps.fnd.framework.webui.OAPageContext, oracle.apps.fnd.framework.webui.beans.OAWebBean)
    Error(66,9): variable bean not found in class wnsgs.oracle.apps.pa.projectinfo.webui.ProjectInfoCreateCO
    plz help me.
    its very urgent
    Thanks
    Edited by: Latha on Jan 4, 2012 9:57 PM
    Edited by: Latha on Jan 4, 2012 10:00 PM

  • Case issue in Database table

    Hi All,
    We have an issue of lowercase in database table and we want to convert that lowercase data to upper case. The code for doing this operation is as follows:
    SELECT * FROM zehs_volumes INTO TABLE i_volumes_temp.
    LOOP AT i_volumes_temp.
    DELETE zehs_volumes FROM i_volumes_temp.
    IF sy-subrc is INITIAL.
      COMMIT WORK.
    ELSE.
      ROLLBACK WORK.
    ENDIF.
    TRANSLATE i_volumes_temp-zehs_business TO UPPER CASE.
    MODIFY i_volumes_temp.
    CLEAR i_volumes_temp.
    ENDLOOP.
    SORT i_volumes_temp BY SUBID ZEHS_BUSINESS ZEHS_SITE ZEHS_ROLE
                           ZST_DATE ZED_DATE.
    DELETE ADJACENT DUPLICATES
    FROM i_volumes_temp COMPARING SUBID ZEHS_BUSINESS ZEHS_SITE
                                  ZEHS_ROLE ZST_DATE ZED_DATE.
    MODIFY zehs_volumes FROM TABLE i_volumes_temp.
    IF sy-subrc is INITIAL.
      COMMIT WORK.
    ELSE.
      ROLLBACK WORK.
    ENDIF.
    The problem wid the above code is that it first clears the entire database table and then fills it with the modified data from the internal table. But we do not want to take risk of emptying the database table. Is there any way out to perform the above operation?
    Thanks in advance
    Regards,
    Yogesh Sharma

    Hi Karthik,
    Thanks for replying.
    In our case the scenario is we need to delete wrong entires in the database table based on the primary input fields. There is already a utility to do so. But in the table some of the entries are present in the lower case.
    For eg. Suppose we need to delete entry with field zehs_business = "Pioneer". When we input this SAP interpret it as PIONEER and we get an error message "No data exist".
    So the code should we in such a way that all the value in field zehs_business should be translated to upper case otherwise SAP will give an error message of non-existence of data.
    The code which you gave adds one more entry in database table with zehs_business = "PIONEER". Now the database table have two records one with "Pioneer" and other with "PIONEER". After the execution of DELETE statement only the record with zehs_business = PIONEER gets deleted....and the other record still exist.
    Is there any way to avoid above situation....

  • Latest record from database table

    Hi all,
    I am using select statement on a database table. The table contains records, and each one has an effective date.
    effective dt    record    Rate
    01/01/1800        R1         40
    <b>01/01/2007        R1         30</b>
    01/01/1800        R2         40
    I want to select rates corresponding to R1 and R2. For R2, the rate is 40, but i need the rate 30 and not 40 for R1, because rate 30 has the most recent effective date. Please tell me if i can do this in the select query itself...
    Please help me...
    Thanks
    Pranati.

    Hi,
    Try this..
    Ranges: r_bukrs for bkpf-bukrs.
    LOOP AT l_t_records.
    Build the range.
      r_bukrs-sign  = 'I'.
      r_bukrs-option = 'EQ'.
      r_bukrs-low     = l_t_records.
      append r_bukrs.
    ENDLOOP.
    SORT r_bukrs by low.
    DELETE adjacent duplicates from r_bukrs comparing low.
    SELECT max( zeff_dt ) bukrs zbrdn kostl hkont INTO TABLE l_t_brdncalc
    FROM zfpbrdn
    WHERE bukrs IN r_bukrs
    GROUP BY zbrdn.   " I am not sure of the record field..But you have to give
                                  " GROUP BY clause..give the correct field..
    Hope this helps..
    Thanks,
    Naren

  • Update the database table with the content of the internal table

    Hello!
      I have the next form:
      FORM erase_data.
    SELECT * FROM zadrress INTO CORRESPONDING FIELDS OF TABLE itab_adrress.
      DELETE TABLE itab_adrress: FROM zadrress,
                                 WITH TABLE KEY adrid = '456'.
      WRITE 'The information after the DELETE operation'
      COLOR 2.
      LOOP AT itab_adrress INTO wa_adrress .
        WRITE:/
               wa_adrress-adrid COLOR 5,
               wa_adrress-name COLOR 7,
               wa_adrress-email COLOR 5,
               wa_adrress-depart COLOR 7,
               wa_adrress-display COLOR 5.
      ENDLOOP.
      SKIP.
    LOOP AT itab_adrress INTO wa_adrress.
       MODIFY zadrress FROM wa_adrress.
       COMMIT WORK.
       IF sy-subrc = 0.
         WRITE 'OK !'.
         SKIP.
       ELSE.
         WRITE 'FAIL !'.
         SKIP.
       ENDIF.
    ENDLOOP.
      MODIFY zadrress FROM TABLE itab_adrress.
      UPDATE zadrress FROM TABLE itab_adrress.
    TRANSPORTING adrid, name, email, depart, display.
    INSERT zadrress FROM TABLE itab_adrress ACCEPTING DUPLICATE KEYS.
    PERFORM display_data .
    ENDFORM.                    "erase_data
    I see that my record is deleted  when I display the records from my internal table, but
    now I want to delete the record from database table.
       For that I want to move the content of the modified internal table in the database table. You can see the methods I tried (some of them commented), but nothing seems to work.
    Any advice ?
    Thank you.

    FORM erase_data.
    SELECT * FROM zadrress INTO CORRESPONDING FIELDS OF TABLE itab_adrress.
    DELETE TABLE itab_adrress: FROM zadrress,
    WITH TABLE KEY adrid = '456'.
    WRITE 'The information after the DELETE operation'
    COLOR 2.
    LOOP AT itab_adrress INTO wa_adrress .
    WRITE:/
    wa_adrress-adrid COLOR 5,
    wa_adrress-name COLOR 7,
    wa_adrress-email COLOR 5,
    wa_adrress-depart COLOR 7,
    wa_adrress-display COLOR 5.
    ENDLOOP.
    SKIP.
    LOOP AT itab_adrress INTO wa_adrress.
    MODIFY zadrress FROM wa_adrress.
    COMMIT WORK.
    IF sy-subrc = 0.
    WRITE 'OK !'.
    SKIP.
    ELSE.
    WRITE 'FAIL !'.
    SKIP.
    ENDIF.
    ENDLOOP.
    <b>DELETE FROM zadrress.</b>  "Make this change and try
    MODIFY zadrress FROM TABLE itab_adrress.
    UPDATE zadrress FROM TABLE itab_adrress.
    TRANSPORTING adrid, name, email, depart, display.
    INSERT zadrress FROM TABLE itab_adrress ACCEPTING DUPLICATE KEYS.
    PERFORM display_data .
    ENDFORM. "erase_data'.

  • The ABAP/4 Open SQL array insert results in duplicate Record in database

    Hi All,
    I am trying to transfer 4 plants from R/3 to APO. The IM contains only these 4 plants. However a queue gets generated in APO saying 'The ABAP/4 Open SQL array insert results in duplicate record in database'. I checked for table /SAPAPO/LOC, /SAPAPO/LOCMAP & /SAPAPO/LOCT for duplicate entry but the entry is not found.
    Can anybody guide me how to resolve this issue?
    Thanks in advance
    Sandeep Patil

    Hi Sandeep,
              Now try to delete ur location before activating the IM again.
    Use the program /SAPAPO/DELETE_LOCATIONS to delete locations.
    Note :
    1. Set the deletion flag (in /SAPAPO/LOC : Location -> Deletion Flag)
    2. Remove all the dependencies (like transportation lane, Model ........ )
    Check now and let me know.
    Regards,
    Siva.
    null

  • Short dumop in J2I5 (provide duplicate entry in Standard table)

    Hello Expert ,
                              We have a problem in  T.Code J2I5  ( Excise Register Extraction) input entry is lelect Excise group 20 . and a date   from 04.08.09 onwards. and select the register RG23D . it shows the run time error  ( Eg The ABAP/4 Open SQL array insert results in duplicate database record ) .  but in the standard Tcode is there possible to provide duplicate entry in Standard table
    Thaks & regards
    Aditya Kr Tripathi

    Runtime Errors         SAPSQL_ARRAY_INSERT_DUPREC
    Except.                CX_SY_OPEN_SQL_DB
    Date and Time          29.01.2010 10:57:09
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    problem occurs in this code :
       assign I_RG23D_TAB-I_RG23D_TYP to <x_rg23dtyp> casting.
       <x_extrctdata> = <x_rg23dtyp>.
        class CL_ABAP_CONTAINER_UTILITIES definition load.
        call method CL_ABAP_CONTAINER_UTILITIES=>FILL_CONTAINER_C
          EXPORTING
            IM_VALUE               = i_rg23d_tab-i_rg23d_typ
          IMPORTING
            EX_CONTAINER           = i_report_tab-extrctdata
          EXCEPTIONS
            ILLEGAL_PARAMETER_TYPE = 1
            others                 = 2.
       I_REPORT_TAB-EXTRCTDATA = I_RG23D_TAB-I_RG23D_TYP.
        COMPUTE I_REPORT_TAB-EXTRCTLNGT = STRLEN( I_REPORT_TAB-EXTRCTDATA ).
        APPEND I_REPORT_TAB.
      ENDLOOP.
      IF M_EXTRACTED = 'X'.
        LOOP AT I_RG23D_KEY.
          DELETE
          FROM  J_2IEXTRCT
          WHERE BUDAT    = I_RG23D_KEY-BUDAT
          AND   SERIALNO = I_RG23D_KEY-SERIALNO
          AND   REGISTER = I_RG23D_KEY-REGISTER
          AND   EXGRP    = I_RG23D_KEY-EXGRP.
        ENDLOOP.
      ENDIF.
    Control table check here for data Extraction
      INSERT J_2IEXTRCT FROM TABLE I_REPORT_TAB.
    If the insertion of the extract table is successfull then the table
    for Extraction is Inserted
      IF SY-SUBRC EQ 0.
        PERFORM FILL_EXTDT USING C_RG23D M_EXTRACTED.
      ENDIF.
    ENDFORM.                                                    " RG23D
    *&      Form  RG23CPART1
    Purpose : RG23C Part I extraction logic
    FORM RG23CPART1.
      DATA: $PART1      TYPE PART1_TYP,
            $LINCNT     LIKE SY-LINCT,
            M_EXTRACTED VALUE '',
            $RC         LIKE SY-SUBRC.
    *********************************************************************************************8

  • Delete rows in database table

    Hi ,
    I need to delete all the records in the dtabase table and insert new data into it.
    I use the below code , but the delete returns with sy-subrc 4 and doesnt delete the records in table ?
    delete ZZVT2_BW.
      commit work and wait.
      insert ZZVT2_BW from table itab_zvt2 accepting duplicate keys.
      commit work and wait.
    Thanks,

    Deleting from a Database Table
    <b>- DELETE FROM dbtab. or
    DELETE FROM (dbtabname).</b>
    - DELETE dbtab FROM wa. or
    DELETE (dbtabname) FROM wa.
    - DELETE dbtab FROM TABLE itab. or
    DELETE (dbtabname) FROM TABLE itab.
    - DELETE dbtab. or
    DELETE *dbtab.
    - DELETE dbtab VERSION vers. or
    DELETE *dbtab VERSION vers.
    use the bold text in u r program

  • INSERT in the custom database table to create a new entry.

    Hello Experts,
    I'm trying to INSERT the entry in my custom databse table that i have created. But I'm not sure what i'm missing as i'm getting the sy-subrc = 4 after the INSERT statement and my records are not added to the database table.
    I'm using the INSERT as below:-
          APPEND gw_relax TO gt_relax.
          INSERT  INTO zmm_bg_relax VALUES gw_relax.
    Please let me know your helpful responses on this,
    Thanks,
    Naveen

    Check [INSERT dbtab|http://help.sap.com/abapdocu_70/en/ABAPINSERT_SOURCE.htm] [FROM TABLE itab [ACCEPTING DUPLICATE KEYS]|http://help.sap.com/abapdocu_70/en/ABAPINSERT_SOURCE.htm#&ABAP_ALTERNATIVE_2@2@],
    If the addition ACCEPTING DUPLICATE KEYS  is specified, all rows are inserted for which this is possible. The remaining rows are rejected and sy-subrc is set to 4. The system field sy-dbcnt  is set to the number of lines that are inserted.
    So if you get sy-subrc = 4, some of the records of the internal table are already contained in the database table.
    You cannot put 2 or more records in a database table with the same primary key, primary keys are unique keys with the addition of a not-null constraint. If you need multiple records with a same key, you must add another key to the primary key. (use a timestamp or a counter)
    Regards,
    Raymond

  • Which database table store page names?

    Hi, I'm trying to retrieve the corresponding page name based on the NAME column from the OWA_PERF.TOP_PAGE_BYDAY table. I've tried to get the value from RTAL.WWPOB_PAGE$ using SITE_ID and ID, but it returns duplicates records with the same name. May I know which database table actually stores the specific page names without repeats?

    Sorry. there was a small mistake in my previous post. Here is the updated one:
    Hi, I'm trying to retrieve the corresponding page name based on the NAME column from the OWA_PERF.TOP_PAGE_BYDAY table. I've tried to get the value from PORTAL.WWPOB_PAGE$ using SITE_ID and ID (which is the first two parts of the NAME value), but it returns duplicates records with the same name. May I know which database table actually stores the specific page names without repeats?

  • How to enforce uniqueness to my database table

    Hello
    One of my database will be updated based on two columns c1 and c2.
    Previous i created an index on these two columns. But forgot to enforce uniqueness. Now my table has some duplicate data.Means columns c1 and c2 contained same value for more than one record. Now i deleted all the duplicate data. And i also want to allow any duplicate data into my table in future. While i was creating an unique index on these two columns it is not allowing and prompting errors. Can someone guide me how to enforce uniqueness for my table

    And i also want to allow any
    duplicate data into my table in future.
    Can someone guide
    me how to enforce uniqueness for my tableSo you want to enforce uniqueness or not?
    Look at alter table add constraint clause in sql reference manual.
    http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14200/clauses002.htm#g1053592
    In case you have duplicate values you can
    "ENABLE NOVALIDATE ensures that all new DML operations on the constrained data comply with the constraint. This clause does not ensure that existing data in the table complies with the constraint and therefore does not require a table lock."
    Gints Plivna
    http://www.gplivna.eu

Maybe you are looking for

  • HT204370 Can i watch a rented movie in QuickTime?

    If I watch a movie in itunes it is choppy.  I recently purchased a movie through itunes and watched it in QuickTime, happy days.  I have rented a movie through itunes and when I try and play it through QuickTime I just get a grey screen and no sound.

  • Is it possible to purchase a non-english keyboard in the US?

    We often have users that would like a different langugage keyboard on their laptops. I have a brazillian user that would like a Portuguese keyboard, and was told that needs to be purchased in Brazil, or a custom laptop needs to be ordered straight fr

  • The most basic midi question goes unanswered..

    I know. I just must be missing this somewhere, but I cannot find the answer. I'm using a drum samples in Logic 8. My drummer uses a AlternateMode "TrapKat" as his triggers of choice. However, we can't get logic to recognize this instrument and record

  • Case sensitive in Function Module

    Hi experts, we created  the custom table  and maintaining the data.we saved the data with key as case sensitive which we selected at domain level .we created custom function module in that we have written SELECT statement with where clause .when we a

  • Failed to replicate entries in replicated cache

    We are using replicated scheme for for the purpose of storing configuration items in the cluster. Once in a while we need to refresh those items in the cache. It has been noticed that during this process some items failed to replicate to other nodes