Customer details(finding out duplicate customers)

Hello All,
I am working on a report in CRM which displays all the details of customers. For that i need to hit the table 'BUT000' which is having 50 millions of records in production. if i write the select it will be performance problem i assume, and after
i need to find out the duplicate records form all the customers.
So please suggest me a FM or BAPI for this or any other mathod of doing this.
And also please gimme any sample report format to write the report.
Thanks,
Anil Boddu.

Hello Anil,
I think you should step back to the drawing board. I think 50.000.000 records can't be cleaned up in a simple report. You need different steps to get it done:
1. Cleanup the addresses by using an external source as provided by the companies I've mentioned in my previous reply
2. Export the cleaned up data via the Segment Builder Export functionality
3. Use a tool like IntelliCleaner® which you can test in the IntelliCleaner® Light version
4. Setup the CRM Data Cleansing tool as I've described in my Blog .
6. Employ a lot of people doing the manual cleanup in Transaction BUPA_CLEAR
Regards
Gregor

Similar Messages

  • How to find out the customers who are not performed transaction

    Hi Experts,
    My all transactions in my cube and my customer records in my master data now i want to find out the customers how didn't perform transaction..
    can somebody give me idea...
    Thanks
    Kiran Kumar

    Hi,
    possible solution:
    - make IObj customer as infoprovider (RSD1)
    - Create a multiprovider having your cube (your trans data) and your customer master
    - identify cube-customer with iobj-customer
    - create a query on thi multi and filter one of the characteristic of your cube, e.g. document number or calendar day, with # (not assigned)
    - drilldown the customer.
    This will give you all the customers having no fact in your transactional data.
    You can also have your query without the filter; in this case, one of your cube key figure will be 0 (or empty) for those customers...
    hope this helps
    Olivier..

  • How to find out Inactive customers

    Hi,
    I have a report which shows the customers detail. But I have to filter out the customers who are inactive that having no orders for the last 2 years.
    How to find those customers and filter out in the report?
    Thanks,
    Ezhil.

    Hi,
    Can you please clarify in more detail. And I think a Functional Consultant in your team will be the best person to tell you what exactly you have to do. Besides, are you talking about sales orders when you are saying orders. If that's true then is it your requirement that filter out those customers who is not sold-to-party for all the sales order created in last 2 years?
    In that case, you can simply implement this by querying on corresponding DB table.
    Thanks,
    Mainak

  • How to find out duplicate record contained in a flat file

    Hi Experts,
    For my project I have written a program for flat file upload.
    Requirement 1
    In the flat file there may be some duplicate record like:
    Field1   Field2
    11        test1
    11        test2
    12        test3
    13        test4
    Field1 is primary key.
    Can you please let me know how I can find out the duplicate record.
    Requirement 2
    The flat file contains the header row as shown above
    Field1   Field2
    How our program can skip this record and start reading / inserting records from row no 2 ie
    11        test1
    onwards.
    Thanks
    S
    FORM upload1.
    DATA : wf_title TYPE string,
    lt_filetab TYPE filetable,
    l_separator TYPE char01,
    l_action TYPE i,
    l_count TYPE i,
    ls_filetab TYPE file_table,
    wf_delemt TYPE rollname,
    wa_fieldcat TYPE lvc_s_fcat,
    tb_fieldcat TYPE lvc_t_fcat,
    rows_read TYPE i,
    p_error TYPE char01,
    l_file TYPE string.
    DATA: wf_object(30) TYPE c,
    wf_tablnm TYPE rsdchkview.
    wf_object = 'myprogram'.
    DATA i TYPE i.
    DATA:
    lr_mdmt TYPE REF TO cl_rsdmd_mdmt,
    lr_mdmtr TYPE REF TO cl_rsdmd_mdmtr,
    lt_idocstate TYPE rsarr_t_idocstate,
    lv_subrc TYPE sysubrc.
    TYPES : BEGIN OF test_struc,
    /bic/myprogram TYPE /bic/oimyprogram,
    txtmd TYPE rstxtmd,
    END OF test_struc.
    DATA : tb_assum TYPE TABLE OF /bic/pmyprogram.
    DATA: wa_ztext TYPE /bic/tmyprogram,
    myprogram_temp TYPE ziott_assum,
    wa_myprogram TYPE /bic/pmyprogram.
    DATA : test_upload TYPE STANDARD TABLE OF test_struc,
    wa2 TYPE test_struc.
    DATA : wa_test_upload TYPE test_struc,
    ztable_data TYPE TABLE OF /bic/pmyprogram,
    ztable_text TYPE TABLE OF /bic/tmyprogram,
    wa_upld_text TYPE /bic/tmyprogram,
    wa_upld_data TYPE /bic/pmyprogram,
    t_assum TYPE ziott_assum.
    DATA : wa1 LIKE test_upload.
    wf_title = text-026.
    CALL METHOD cl_gui_frontend_services=>file_open_dialog
    EXPORTING
    window_title = wf_title
    default_extension = 'txt'
    file_filter = 'Tab delimited Text Files (*.txt)'
    CHANGING
    file_table = lt_filetab
    rc = l_count
    user_action = l_action
    EXCEPTIONS
    file_open_dialog_failed = 1
    cntl_error = 2
    OTHERS = 3. "#EC NOTEXT
    IF sy-subrc 0.
    EXIT.
    ENDIF.
    LOOP AT lt_filetab INTO ls_filetab.
    l_file = ls_filetab.
    ENDLOOP.
    CHECK l_action = 0.
    IF l_file IS INITIAL.
    EXIT.
    ENDIF.
    l_separator = 'X'.
    wa_fieldcat-fieldname = 'test'.
    wa_fieldcat-dd_roll = wf_delemt.
    APPEND wa_fieldcat TO tb_fieldcat.
    CALL FUNCTION 'MESSAGES_INITIALIZE'.
    CLEAR wa_test_upload.
    Upload file from front-end (PC)
    File format is tab-delimited ASCII
    CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
    filename = l_file
    has_field_separator = l_separator
    TABLES
    data_tab = i_mara
    data_tab = test_upload
    EXCEPTIONS
    file_open_error = 1
    file_read_error = 2
    no_batch = 3
    gui_refuse_filetransfer = 4
    invalid_type = 5
    no_authority = 6
    unknown_error = 7
    bad_data_format = 8
    header_not_allowed = 9
    separator_not_allowed = 10
    header_too_long = 11
    unknown_dp_error = 12
    access_denied = 13
    dp_out_of_memory = 14
    disk_full = 15
    dp_timeout = 16
    OTHERS = 17.
    IF sy-subrc 0.
    EXIT.
    ELSE.
    CALL FUNCTION 'MESSAGES_INITIALIZE'.
    IF test_upload IS NOT INITIAL.
    DESCRIBE TABLE test_upload LINES rows_read.
    CLEAR : wa_test_upload,wa_upld_data.
    LOOP AT test_upload INTO wa_test_upload.
    CLEAR : p_error.
    rows_read = sy-tabix.
    IF wa_test_upload-/bic/myprogram IS INITIAL.
    p_error = 'X'.
    MESSAGE s153 WITH wa_test_upload-/bic/myprogram sy-tabix.
    CONTINUE.
    ELSE.
    TRANSLATE wa_test_upload-/bic/myprogram TO UPPER CASE.
    wa_upld_text-txtmd = wa_test_upload-txtmd.
    wa_upld_text-txtsh = wa_test_upload-txtmd.
    wa_upld_text-langu = sy-langu.
    wa_upld_data-chrt_accts = 'xyz1'.
    wa_upld_data-co_area = '12'.
    wa_upld_data-/bic/zxyzbcsg = 'Iy'.
    wa_upld_data-objvers = 'A'.
    wa_upld_data-changed = 'I'.
    wa_upld_data-/bic/zass_mdl = 'rrr'.
    wa_upld_data-/bic/zass_typ = 'I'.
    wa_upld_data-/bic/zdriver = 'yyy'.
    wa_upld_text-langu = sy-langu.
    MOVE-CORRESPONDING wa_test_upload TO wa_upld_data.
    MOVE-CORRESPONDING wa_test_upload TO wa_upld_text.
    APPEND wa_upld_data TO ztable_data.
    APPEND wa_upld_text TO ztable_text.
    ENDIF.
    ENDLOOP.
    DELETE ADJACENT DUPLICATES FROM ztable_data.
    DELETE ADJACENT DUPLICATES FROM ztable_text.
    IF ztable_data IS NOT INITIAL.
    CALL METHOD cl_rsdmd_mdmt=>factory
    EXPORTING
    i_chabasnm = 'myprogram'
    IMPORTING
    e_r_mdmt = lr_mdmt
    EXCEPTIONS
    invalid_iobjnm = 1
    OTHERS = 2.
    CALL FUNCTION 'MESSAGES_INITIALIZE'.
    **Lock the Infoobject to update
    CALL FUNCTION 'RSDG_IOBJ_ENQUEUE'
    EXPORTING
    i_objnm = wf_object
    i_scope = '1'
    i_msgty = rs_c_error
    EXCEPTIONS
    foreign_lock = 1
    sys_failure = 2.
    IF sy-subrc = 1.
    MESSAGE i107(zddd_rr) WITH wf_object sy-msgv2.
    EXIT.
    ELSEIF sy-subrc = 2.
    MESSAGE i108(zddd_rr) WITH wf_object.
    EXIT.
    ENDIF.
    *****Update Master Table
    IF ztable_data IS NOT INITIAL.
    CALL FUNCTION 'RSDMD_WRITE_ATTRIBUTES_TEXTS'
    EXPORTING
    i_iobjnm = 'myprogram'
    i_tabclass = 'M'
    I_T_ATTR = lt_attr
    TABLES
    i_t_table = ztable_data
    EXCEPTIONS
    attribute_name_error = 1
    iobj_not_found = 2
    generate_program_error = 3
    OTHERS = 4.
    IF sy-subrc 0.
    CALL FUNCTION 'MESSAGE_STORE'
    EXPORTING
    arbgb = 'zddd_rr'
    msgty = 'E'
    txtnr = '054'
    msgv1 = text-033
    EXCEPTIONS
    OTHERS = 3.
    MESSAGE e054(zddd_rr) WITH 'myprogram'.
    ELSE.
    CALL FUNCTION 'MESSAGE_STORE'
    EXPORTING
    arbgb = 'zddd_rr'
    msgty = 'S'
    txtnr = '053'
    msgv1 = text-033
    EXCEPTIONS
    OTHERS = 3.
    ENDIF.
    *endif.
    *****update Text Table
    IF ztable_text IS NOT INITIAL.
    CALL FUNCTION 'RSDMD_WRITE_ATTRIBUTES_TEXTS'
    EXPORTING
    i_iobjnm = 'myprogram'
    i_tabclass = 'T'
    TABLES
    i_t_table = ztable_text
    EXCEPTIONS
    attribute_name_error = 1
    iobj_not_found = 2
    generate_program_error = 3
    OTHERS = 4.
    IF sy-subrc 0.
    CALL FUNCTION 'MESSAGE_STORE'
    EXPORTING
    arbgb = 'zddd_rr'
    msgty = 'E'
    txtnr = '055'
    msgv1 = text-033
    EXCEPTIONS
    OTHERS = 3.
    ENDIF.
    ENDIF.
    ELSE.
    MESSAGE s178(zddd_rr).
    ENDIF.
    ENDIF.
    COMMIT WORK.
    CALL FUNCTION 'RSD_CHKTAB_GET_FOR_CHA_BAS'
    EXPORTING
    i_chabasnm = 'myprogram'
    IMPORTING
    e_chktab = wf_tablnm
    EXCEPTIONS
    name_error = 1.
    IF sy-subrc 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    ****Release locks on Infoobject
    CALL FUNCTION 'RSDG_IOBJ_DEQUEUE'
    EXPORTING
    i_objnm = 'myprogram'
    i_scope = '1'.
    ENDIF.
    ENDIF.
    PERFORM data_selection .
    PERFORM update_alv_grid_display.
    CALL FUNCTION 'MESSAGES_SHOW'.
    ENDFORM.

    Can you please let me know how I can find out the duplicate record.
    you need to split the records from flat file structure into your internal table ans use a delete ADJACENT duplicates comparing fields
    split flat_str into wa_f1 wa_f2 wa_f2 at tab_space.

  • Find out duplicate rows in a flat file before using sqlldr

    Hello i want to import via sqlldr from a flat file to a table inside my data base. My flat file has unfortunately some duplicate copies inside. So, i defined my upload table with two primary keys- date and time(and sometimes there are more than one row with the same time and date inside the flat file). These primaries are important to me because i want to use them for later tables and i can't use the direct path and parallel method by using primaries.
    Is there any tool which can find duplicate copies before i use sqlldr. But, the special case here is, that the rows not really duplicated but date and time rows twice. And for my interest it isn't necessary whether there are different values in the second row of the same date and time. The file contains data which is monitored every second and that's enough.
    It would be nice if someone could help me
    cheers

    I simply upload from sqlldr to staging tables first.
    The staging tables allow duplicates then I do what I need to do in regards to duplicates or missing data during the transfer from the staging tables to the real tables.
    The staging tables are also global temporary tables so I don't have to worry about cleaning them up or multiple sessions trampling each other.
    I have also used an external table on the datafile instead of sqlldr, this allows me to get rid of the staging table. But that is only good for very small datasets in the file being loaded.

  • How can I find out duplicates

    Hi,
    I have a table like this:
    id town
    ==== =============
    1234 Silver
    3456 silver spring
    5678 Wheaton
    2233 Wheaton city
    3356 New England
    3478 Silver S
    8790 GreenBelt
    My question is:
    I need to get all rows that the name of the town at least has first 3 character matched.
    I want a query(without using LIKE operator,because the table
    has thousands of recodes with different towns)which shoud give me a result like this:
    1234 Silver
    3456 silver spring
    3478 Silver S
    5678 Wheaton
    2233 Wheaton city
    Can any one help me? Thank you very much!
    Wendy

    You can try this :
    select a.*
    from table1 a, table1 b
    where a.id = b.id -- check this line to see if you require it
    and a.rowid <> b.rowid
    and substr(a.town,1,3) = substr(b.town,1,3)

  • Query to find out 2 columns duplicate records

    hi
    how can i find out duplicate records from a table with 2columns duplicated
    eg: emp_id, book_id duplicated together
    emp_id book_id
    001 A
    001 A
    001 B
    in this case query should return ( emp_id: 001 , book_id: A ) because these are duplicated together

    SQL> with t as
      2  (
      3  select 1 a,'A' b from dual
      4  union all
      5  select 1,'A' from dual
      6  union all
      7  select 1,'B' from dual
      8  )
      9  select distinct a,b
    10    from (
    11  select t.*,count(1) over (partition by a,b order by a) cnt
    12    from t)
    13   where cnt > 1
    14  /
             A B
             1 A
    SQL> with t as
      2  (
      3  select 1 a,'A' b from dual
      4  union all
      5  select 1,'A' from dual
      6  union all
      7  select 1,'B' from dual
      8  )
      9   select a,b
    10     from t
    11    group by a,b
    12   having count(*) > 1
    13  /
             A B
             1 A

  • How to find out the user who has created  a new field in the custom table.

    How to find out the user details who has created  a new field in the custom table.
    Thanks,
    Joan

    Hi Jesudasan ,
    You can know the user details with version management.Please find the
    below procedure to know.
    Go to table->Utilities tab->version->Version management->Compare the previous one .
    Hope this solves the issue,Let me know if you have any issues.
    Thanks,
    Rajani

  • How to find out usage of custom objects

    `Hi,
    I have a bunch of customized reports, module pool programs and TCodes (all customized). How can I find out,
    1) When they were last used
    2) How many times were they used in the last 1 month, last quarter, last 6 months and so on
    3) Which users have used these objects in the last 1 month, quarter, 6 months and so on.
    Any help would be appreciated.
    Thanks in advance.
    Mick
    Moderator message - Please search before asking - post locked
    Edited by: Rob Burbank on Jun 16, 2009 4:40 PM

    Hi Martin,
    Network Graphics helps in determining the dependencies among the archiving objects.Once you have sorted out the flow you can schedule archiving in test mode to find more details.
    Eg PP_ORDER you can find out why a particular order is not archivable...may be cos of unsettled balance..etc.
    You can find few details about the prerequisites in the archiving run (test)
    Hope this helps.
    Thanks,
    Priya.

  • Not able to find out invoice level for customer collection

    Hi Experts,
    We are not able to find out  invoice level payment details for the collection
    They are provided collection amount and reference no, but here problem is customer have more than 20 company codes and they cleared in multiple co.codes , also user not maintained any reference while clearing the invoice, so we only able to find out the collection amount but we dont know for which invoice it is cleared.
    can any one help us,

    The given link take to the window where CPU patch for all the quarter available.
    The Critical Patch Updates released to date are listed in the following table.
    Critical Patch Update Latest Version/Date
    Critical Patch Update - October 2012 Rev 1, 16 October 2012
    Critical Patch Update - July 2012 Rev 1, 17 July 2012
    Critical Patch Update - April 2012 Rev 2, 19 July 2012
    If I click on Critical Patch Update - October 2012 its takes to the window for selectin the database version (11.2.0.3). From there it goes to the Patch Set Update and Critical Patch Update October 2012 Availability Document [ID 1477727.1] which I had already checked.
    There for the database products it shows the below option.
    Table 9 Patch Availability for Oracle Database 11.2.0.3
    +*<moderator edit - deleted MOS Doc content - pl do NOT post such content - it is a violation of your Support agreement>*+
    It doesnt have the sepreate CPU patch. The below CPU patch is for the OC4J. I had a check.
    Thanks
    SHIYAS M

  • Where we can find out customer related profit center assignment.

    Hi gurus
    where we can find out customer related profit center assignment.
    Thank you
    i will assign points.

    Hi,
    Sure you can find that, but before that you need to run F.5D and 1KEK for transferring customer detail to profit center.
    After that you can this report S_ALR_87013343 - Profit Center: Receivables.
    SJ

  • How to find out the User Details for the particular transaction

    Hi,
    Actually AJAB -Asset Year closing was done by One User.How and Where to find out the User details who executed the Transaction.Kindly tell me the T-code for this.
    Thanks
    Sap Guru

    Hi:
    Please contact you basis administrator.Give him the T.code and date when Year closing was done. He may resolve your problem.
    Please let me know if you need more information,
    Assign points if useful.
    Regards
    MSReddy

  • How do I find out what "Other" is, in the "About this Mac", storage details bar graph?

    My new Mac Book Pro with 250 GB Flash Storage is already full with only adding a few apps. I purchased the new Final Cut Pro X, but store all video data on an external drive. Whats up? Why is 146 GB used up with "Other"? What is "Other!?" How can I find out the details of what's in other, and get rid of what I don't want or use?

    First, empty the Trash if you haven't already done so. If you use iPhoto, empty its internal Trash as well:
    iPhoto ▹ Empty Trash
    Then reboot. That will temporarily free up some space.
    According to Apple documentation, you need at least 9 GB of available space on the startup volume (as shown in the Finder Info window) for normal operation. You also need enough space left over to allow for growth of your data. There is little or no performance advantage to having more available space than the minimum Apple recommends. Available storage space that you'll never use is wasted space.
    If you're using Time Machine to back up a portable Mac, some of the available space will be used to make local snapshots, which are backup copies of files you've recently deleted. The space occupied by local snapshots is reported as available by the Finder, and should be considered as such. In the Storage display of System Information, local snapshots are shown as "Backups." The snapshots are automatically deleted when they expire or when free space falls below a certain level. You ordinarily don't need to, and should not, delete local snapshots yourself.
    To locate large files, you can use Spotlight. That method may not find large folders that contain a lot of small files.
    You can more effectively use a tool such as OmniDiskSweeper (ODS) to explore your volume and find out what's taking up the space. You can also delete files with it, but don't do that unless you're sure that you know what you're deleting and that all data is safely backed up. That means you have multiple backups, not just one.
    Deleting files inside an iPhoto or Aperture library will corrupt the library. Any changes to a photo library must be made from within the application that created it. The same goes for Mail files.
    Proceed further only if the problem isn't solved by the above steps.
    ODS can't see the whole filesystem when you run it just by double-clicking; it only sees files that you have permission to read. To see everything, you have to run it as root.
    Back up all data now.
    Install ODS in the Applications folder as usual. Quit it if it's running.
    Triple-click the line of text below to select it, then copy the selected text to the Clipboard (command-C):sudo /Applications/OmniDiskSweeper.app/Contents/MacOS/OmniDiskSweeper
    Launch the Terminal application in any of the following ways:
    ☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
    ☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
    ☞ Open LaunchPad. Click Utilities, then Terminal in the icon grid.
    Paste into the Terminal window (command-V). You'll be prompted for your login password, which won't be displayed when you type it. You may get a one-time warning not to screw up. If you see a message that your username "is not in the sudoers file," then you're not logged in as an administrator.
    The application window will open, eventually showing all files in all folders. It may take some minutes for ODS to list all the files.
    I don't recommend that you make a habit of doing this. Don't delete anything while running ODS as root. If something needs to be deleted, make sure you know what it is and how it got there, and then delete it by other, safer, means. When in doubt, leave it alone or ask for guidance.
    When you're done with ODS, quit it and also quit Terminal.

  • How to find out which program fill a custom table ?

    Dear All,
    I am trying to find out which program fill custom table, I tried se11, which programs used this custom table via where used list but could not find. Is there any different way ?
    Regards

    Hi Sappcon,
    yes, it is as Brad said, but you should extend the approach regarding this tables content: If it is related to an existing business object (i.e. order, delivery or the like), you may have a look at user exits/Badis in that field.
    Also, the dynamic approach is possible. First use report RPR_ABAP_SOURCE_SCAN to find the name of the table in all programs in customer name space - it may be defined as a constant in program/function group/class.
    If the dynamic approach is used, the name of the table may be determined by reading another (custom) table or even in a programs text pool. You may find this by searching a pattern UPDATE() - or MODIFY/INSERT in customer programs.
    If the table has update date/time fields, check what jobs or online activities can be responsible.
    If, after all, you still do not know, then I'd say this is a consulting issue
    Regards,
    Clemens

  • How to find out which custom developments exist?

    Hi there,
    I have a question regarding custom developments:
    Is there a fast way to find out which custom developments exist in a SAP system?
    My approach would be to check the transactions SE38, SE37 and so on and search for objects starting with Y and Z. Does anybody know a more convenient way to do this analyzes?
    Thanks and regards,
    Martin

    Hi Martin
    If you want the custom enhancements
    check this
    How to find out custom enhancements module wise
    if you want to check the custom programs better way is go to SE80 and search with your package.
    Thanks

Maybe you are looking for

  • Looking for app to either print or save text messages in windows

    I saw a couple of posts for this feature but it was for mac. does anyone know if printing or saving text messages is possible? thanks

  • Project Server 2007: use cannot add lines to or recall timesheet

    I have a certain user that, for some reason, cannot use the Add Lines or Recall Timesheet function in Project Server 2007 SP3. The weird thing is, it works on another laptop, so it must be something related to the user's machine - but I'm baffled as

  • 'BBPSC11' error in Monitor SC for one User having multiple positions but on

    Hello, 'BBPSC11' error in Monitor SC for one User - having multiple positions in org structure - but having one BP code associated to all positions. We have one BP ID associated to multiple positions of the same user - in multiple org structure. The

  • HELP WITH ACTIONSCRIPT FORM

    I have this form in HTML and i want to put it into ACT! but it is not working? In HTML the code looked like this: <form name='logmeinsupport' action='https://secure.logmeinrescue.com/Customer/Code.aspx' method='post'> <table> <tr><td>Enter your 6-dig

  • POS DM Workbench - Deleting Transactions

    We recently upgraded to ECC 6.0.  We are now working to implement POS DM.  When on the POS Workbench (/POSDW/MON0) and displaying a list of transactions, there is no icon to delete a transaction.  A consultant that was here said that at another clien