How to handle same key record in multiple datapockets

Hi,
I have a small issue in terms of cleaning up the data while loading into BI..
Based on some specific fields I am sorting and  deleting adjacent duplicates from source_package using start routine  then its working fine for most of the cases but not working for some records
when I observed that It was due to the reason that those records fall into different data pockets so start routine is not able to identify the duplicates.....how can we handle this ..
Any idea Pls???
Thanks & Regards,
BRK

BRK,
Try to do same thing at source side(R/3) via user exit. It works better..
Srini

Similar Messages

  • How to handle the control records in case of file to idoc scenario.

    Hi All,
    can you please clarify me how to handle the control records in case of file to idoc scenario.

    Hi,
    In File to Idoc scenario even though you selected apply control record values from payload and you are not getting those correct values which you have provided in the mapping.
    Also check the checkboxes Take sender from payload and Take receiver from payload along with the Apply control record values from payload checkbox
    Regards
    Seshagiri

  • How to handle the bad record while using bulk collect with limit.

    Hi
    How to handle the Bad record as part of the insertion/updation to avoid the transaction.
    Example:
    I am inserting into table with LIMIT of 1000 records and i've got error at 588th record.
    i want to commit the transaction with 588 inserted record in table and log the error into
    error logging table then i've to continue with transaction with 560th record.
    Can anyone suggest me in this case.
    Regards,
    yuva

    >
    How to handle the Bad record as part of the insertion/updation to avoid the transaction.
    >
    Use the SAVE EXCEPTIONS clause of the FORALL if you are doing bulk inserts.
    See SAVE EXCEPTIONS in the PL/SQL Language doc
    http://docs.oracle.com/cd/B28359_01/appdev.111/b28370/tuning.htm
    And then see Example 12-9 Bulk Operation that continues despite exceptions
    >
    Example 12-9 Bulk Operation that Continues Despite Exceptions
    -- Temporary table for this example:
    CREATE TABLE emp_temp AS SELECT * FROM employees;
    DECLARE
    TYPE empid_tab IS TABLE OF employees.employee_id%TYPE;
    emp_sr empid_tab;
    -- Exception handler for ORA-24381:
    errors NUMBER;
    dml_errors EXCEPTION;
    PRAGMA EXCEPTION_INIT(dml_errors, -24381);
    BEGIN
    SELECT employee_id
    BULK COLLECT INTO emp_sr FROM emp_temp
    WHERE hire_date < '30-DEC-94';
    -- Add '_SR' to job_id of most senior employees:
    FORALL i IN emp_sr.FIRST..emp_sr.LAST SAVE EXCEPTIONS
    UPDATE emp_temp SET job_id = job_id || '_SR'
    WHERE emp_sr(i) = emp_temp.employee_id;
    -- If errors occurred during FORALL SAVE EXCEPTIONS,
    -- a single exception is raised when the statement completes.
    EXCEPTION
    -- Figure out what failed and why
    WHEN dml_errors THEN
    errors := SQL%BULK_EXCEPTIONS.COUNT;
    DBMS_OUTPUT.PUT_LINE
    ('Number of statements that failed: ' || errors);
    FOR i IN 1..errors LOOP
    DBMS_OUTPUT.PUT_LINE('Error #' || i || ' occurred during '||
    'iteration #' || SQL%BULK_EXCEPTIONS(i).ERROR_INDEX);
    DBMS_OUTPUT.PUT_LINE('Error message is ' ||
    SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE));
    END LOOP;
    END;
    DROP TABLE emp_temp;

  • How to handle the selected record

    how to handle the selected record when using alv classes

    Hi,
    use method : get_current_cell                    
      CALL METHOD grid1->get_current_cell                    
                          IMPORTING es_row_id = ls_row_id     
                                    es_col_id = ls_col_id     
                                     e_value  = l_value.     

  • How to handle the failed records from the table when using DB Adapter

    Hi,
    I am reading some records from table using DB Adapter inside my synchronous BPEL process. Say like reading 100 records from table in between after successful reading of 90 records an error occured in 91st record due some various reasons(like DB down, Connection interrupted etc.). Then how to handle this situation, whether i have to read all the records from the begining and is there any option to continue from where it stopped reading.
    Can please anybody help me out in the regard?
    Thanks in advance
    Regards,
    Aejaz

    we had the same requirement some time ago and had two option:
    1. ask the R/3 development team add a deletion indicator in the table (and thus not actually deleting the record). this deletion indicator could then be used like for any other standard datasource
    this option was however refused, due to huge data volume after a while
    2. at the end of the load we copied the ZTABLE1 to ZTABLE2. then in the begin of the load (day after) we compare the data of table1 to table2. entries available in table2 but not in table1 are deleted, and we put a 'D'. in deletion indicator; as we only keep the deleted entries for one day, the volume of the new table is acceptable.
    M.

  • How to use Same Inspection plan for Multiple Plants?

    Hello,
    When I create a Process Order for material (M1), release and save it for a Plant A then I get the Inspection lot automatically.
    Now I have another Plant B that we have created. We would like to use the same Inspection plan that has been created for Plant A and M1
    So in the changed mode(QP02) of the Inspection plan for Plant A in the material assignment tab I added the Material M1 and the Plant B. I am assuming this means when I create the Process order for M1 in Plant B then it should use the same Inspection plan.
    But when I create the Process Order for M1 for Plant B, release and save it then it does not created the Inspection lot automatically(though I can create Inspection lot manually)
    Can you tell me if there is setting that will allow me to create the Inspection lot automatically on saving the Process order which should use the Inspection plan that I just assigned.
    And also let me know if there is a better way to handle same Inspection Plan for same material but multiple Plants.
    Thanks
    SAP Fans...

    Dear,
    For your message my understanding is that you are not getting Inspection lot created in Plant"B". Inspection lot for a material would get created based on the Inspection Setup for the material master "QM View", so compare the QM for the material in both plants and correct it for Plant "B".
    Probably I feel Inspection Setup is not complete for the material in Plant "B" - Generally when extending material by copying referance, in the QM view you need to click the Inspection Setup Button, for the data to be copied...otherwise it does not copy the Inspection setup from the referance plant.
    Regards,
    Prasobh

  • How to handle stored procedure response having multiple queries

    Hi Friends,
    While working in JDBC to RFC scenario,I faced an issue that my stored procedure is having multiple SQL queries in it. First Select and then update and again some select options.So,how to handle the response of the stored procedure. I read that while using sender JDBC
    " db.processDBSQLStatement=<SQL-Select-Statement>
    Either specify a valid SQL SELECT statement to select the data to be sent from the specified database, or specify an SQL EXECUTE statement to execute a stored procedure that contains exactly one SELECT statement  "
    So, please suggest me is there any other way to catch the output of the stored procedure.Because, if select statement is working fine but if any other quires fails then data inconsistencies can happen.Kindly help me out.
    Thanks and Regards,
    Nutan

    Hi nutan,
    >>Already exception is handled in SP.But,issue is that select will never fail so, sender adapter will get the resultset from select and continue process.But if later any other query fails in SP adpter wont be getting any response.
    Along with exception you need to handle the case when some other query fails. A SP is like a procedure which will do a certain list of activities before providing the output. So during this activity if some query fail then you can send back the response with a message!!!! And in XI handle this error (by routing it to some error receiver etc)
    >>I need to try something like creating a temporary table and inserting the resultset of slect statement in that. and perform all other operations and after successful completion of all the queries.Again i want to get all the values from the temporary table. So,whether I can write such query in the sender communication channel.Please suggest me for this.
    Approach looks ok, but think of the delay for JDBC sender adapter. IT will invoke your SP and will wait for it to fill a table and do all the processing. I guess this may become a issue for you.
    Check on the frequency of this interface and message size before taking this design approach
    Regards
    Suraj

  • How to handle table type record in OAF

    Hi ,
    Req:
    There is a search page that can be accessed from different locations .
    The result set should be different when accessed from each location .
    Approach to be used :
    Call a PL/SQL api which returns a table type input parameter for different search conditions . Each record that is returned by the table type input needs to be iterated and a new row should be created in a transtient VO to show results on the UI
    Problem :
    How to handle to table type input returned from pl/sql in java and show the results?
    Thanks in advance.

    There is a requirement to fetch records from cursor into a collection .Following is the code snippet that I have used.
    /** creating an object **/
    CREATE OR REPLACE TYPE XXCRM_GBL_DSW_AUDIT_RSTLS_O_TP AS OBJECT (
    CUSTOMER_NAME VARCHAR2(360),
    PROJECT_NAME VARCHAR2(40),
    BOARD_NAME VARCHAR2(40),
    ARROW_UNIQUE_NO NUMBER,
    FIELD_NAME VARCHAR2(2000),
    OLD_VALUE VARCHAR2(2000),
    NEW_VALUE VARCHAR2(2000),
    USER_ID NUMBER,
    USER_NAME VARCHAR2(100),
    AUDIT_DATE DATE,
    AUDIT_TYPE VARCHAR2(1),
    SUPP_SYS_LAST_UPDATE_ON DATE,
    SUPP_TRACKING_NUM VARCHAR2(50),
    CONSTRUCTOR FUNCTION XXCRM_GBL_DSW_AUDIT_RSTLS_O_TP
    RETURN SELF AS RESULT
    /** initializing the object **/
    CREATE OR REPLACE TYPE BODY XXCRM_GBL_DSW_AUDIT_RSTLS_O_TP IS
    CONSTRUCTOR FUNCTION XXCRM_GBL_DSW_AUDIT_RSTLS_O_TP
    RETURN SELF AS RESULT IS
    BEGIN
    self.customer_name := fnd_api.g_miss_char;
    self.project_name := fnd_api.g_miss_char;
    self.board_name := fnd_api.g_miss_char;
    self.arrow_unique_no := fnd_api.g_miss_num;
    self.field_name := fnd_api.g_miss_char;
    self.old_value := fnd_api.g_miss_char;
    self.new_value := fnd_api.g_miss_char;
    self.user_id := fnd_api.g_miss_num;
    self.user_name := fnd_api.g_miss_char;
    self.audit_date := fnd_api.g_miss_date;
    self.audit_type := fnd_api.g_miss_char;
    self.supp_sys_last_update_on := fnd_api.g_miss_date;
    self.supp_tracking_num := fnd_api.g_miss_char;
    return;
    END;
    END;
    /** creating a collection of object**/
    CREATE TYPE XXCRM_GBL_DSW_AUDIT_RSTLS_C_TP AS TABLE OF XXCRM_GBL_DSW_AUDIT_RSTLS_O_TP;
    /**Inside the package body **/
    CURSOR c_proj_cur is
    SELECT NULL CUSTOMER_NAME,
    (SELECT project_name
    FROM xxcrm_gbl_dsw_projects_all
    WHERE project_id = xgda.project_id) PROJECT_NAME,
    DECODE(xgda.board_id,NULL,'test',
    (SELECT board_name
    FROM xxcrm_gbl_dsw_boards_all
    WHERE board_id = xgda.board_id)) BOARD_NAME,
    DECODE(xgda.internal_dwr_id,
    NULL,NULL,
    (SELECT internal_dwr_id
    FROM xxcrm_gbl_dsw_regstrations_all
    WHERE internal_dwr_id = xgda.internal_dwr_id)) ARROW_UNIQUE_NO,
    fielslu.meaning FIELD_NAME,
    xgda.old_value OLD_VALUE,
    xgda.new_value NEW_VALUE,
    xgda.created_by USER_ID,
    'kuldeep' USER_NAME,
    xgda.Creation_Date AUDIT_DATE,
    xgda.audit_Level AUDIT_TYPE,
    SYSDATE SUPP_SYS_LAST_UPDATE_ON,
    't001' SUPP_TRACKING_NUM
    FROM XXCRM_GBL_DSW_AUDIT_ALL xgda ,
    FND_LOOKUP_VALUES_VL fielslu
    WHERE xgda.project_id =174
    AND fielslu.lookup_type = 'XXCRM_DSW_REV_FIELD_NAMES'
    AND fielslu.lookup_code = xgda.FIELD_NAME
    AND enabled_flag = 'Y'
    AND TRUNC(SYSDATE) BETWEEN TRUNC(NVL(fielslu.start_date_active,sysdate))
    AND TRUNC(NVL(fielslu.end_date_active,sysdate))
    ORDER BY xgda.creation_date;
    Tab XXCRM_GBL_DSW_AUDIT_RSTLS_C_TP ;
    BEGIN
    OPEN c_proj_cur;
    LOOP
    FETCH c_proj_cur BULK COLLECT INTO tab; --ERROR type mismatch found at 'TAB' between FETCH cursor and INTO variables
    END LOOP;
    END;
    /**Error */
    When the above script is executed it gives an error “type mismatch found at 'TAB' between FETCH cursor and INTO variables” (at line highlighted above).
    I have validated the data type of cursor and object too. But still the error is not resolved .
    Did anyone of you come across a similar requirement, fetching the values from cursor into a collection? Please help.

  • How to handle the deleted records from R3

    Hello,
    We have created a generic data source on a database table in R3 side and now we have a case where there is a huge volume of data gets deleted and new records get updated every day.
    By doing a delta load we are able to load the New records and also the changed ones but we are unable to identify the deleted records from that table and move them to BI for deleteing those records in BI also.
    Can any one please suggest a solution for the handling the deleted records.
    Thanks,
    Ravindra.

    we had the same requirement some time ago and had two option:
    1. ask the R/3 development team add a deletion indicator in the table (and thus not actually deleting the record). this deletion indicator could then be used like for any other standard datasource
    this option was however refused, due to huge data volume after a while
    2. at the end of the load we copied the ZTABLE1 to ZTABLE2. then in the begin of the load (day after) we compare the data of table1 to table2. entries available in table2 but not in table1 are deleted, and we put a 'D'. in deletion indicator; as we only keep the deleted entries for one day, the volume of the new table is acceptable.
    M.

  • How to display the NULL records by multiple XMLTABLE()

    First, let me provide the testing data of INSERT and CREATE TABLE sql:
    create table xml_t2 (xml_raw XMLTYPE);insert sql, a bit long.....just copy and paste then run it will be OK!
    the system warns: Your message exceeds the maximum length of 30000 characters.
    So, I place it on the mediafire shariing space
    http://www.mediafire.com/?npmot6lgl86dgliTesting SQL:
    SELECT t1.years, t1.months,t1.days,t1.hours,t1.value,t2.value
            FROM xml_t2,
            XMLTABLE ('$d/cdata/F1' passing xml_raw as "d" COLUMNS years integer path '//year', months varchar(3) path '//month', days varchar(2) path '//day', hours varchar(2) path '//hour', mins varchar(2) path '//minute', value float path '//value') t1 ,
            XMLTABLE ('$d/cdata/F2' passing xml_raw as "d" COLUMNS years integer path '//year', months varchar(3) path '//month', days varchar(2) path '//day', hours varchar(2) path '//hour', mins varchar(2) path '//minute', value float path '//value') t2The condition for now is....In the xml data, I have deleted the month 'Jan' with <F2>tag which is in 2010.
    That mean the output of XMLTABLE t2 will not contain the 'Jan' records but it is still remain in XMLTABLE t1.
    The problem is that when I use the above SQL to show the t1.value, it will not display the t1.value in 2010 Jan.....it just skipped 'Jan' and becomes 'Feb'...
    what i would prefer to display is something like this:
    YEARS MONTHS DAYS HOURS t1_value t2_value
    2009     Jan    01   01       8       8
    2009     Jan    01   02       8     580
    2009     Jan    02   01     580     580
    2009     Jan    02   02     580     580
    2009     Feb    01   01     440     440
    2010     Jan    01   01     627     NULL
    2010     Jan    01   02     627     NULL
    2010     Jan    02   01     367     NULL
    2010     Jan    02   02     367     NULL
    2010     Feb    01   01     367     849
    2010     Feb    01   02     849     849
    ..............So...the main problem is how to display back the record in JAN in 2010 in t1 XMLTABLE and assign null to the t2 XMLTABLE since it doen't contains this months record.
    THANKS for help!!

    Hi,
    What's your database version?
    Are you using binary XML storage? (This is the default in 11.2.0.2)
    If not you have to explicitely specify it :
    create table xml_t2 (xml_raw XMLTYPE)
    xmltype column xml_raw store as securefile binary xml;Along with object-relational, it's the best storage strategy to use in conjunction with XMLIndex.
    You should also use a structured XML index instead, it's more appropriate than the unstructured index you're currently using :
    create index xml_t2_sxi on xml_t2 (xml_raw)
    indextype is xdb.xmlindex
    parameters (q'#
    XMLTABLE xml_t2_xt '/cdata'
    COLUMNS
    YEARS  INTEGER    PATH 'F1/name/year',
    MONTHS VARCHAR(3) PATH 'F1/name/month',
    DAYS   VARCHAR(2) PATH 'F1/name/day',
    HOURS  VARCHAR(2) PATH 'F1/name/hour',
    MINS   VARCHAR(2) PATH 'F1/name/minute',
    VALUE  FLOAT      PATH 'F1/name/value',
    VALUE2 FLOAT      PATH 'F2/name/value'
    call dbms_stats.gather_table_stats(user, 'XML_T2');Use the query provided by Stew and check the explain plan, you'll see the difference.

  • How do you insert new records into multiple tables using the same unique primary key?

    I’ve created a PHP site and MySQL server using a free app called XAMPP.  I have successfully created a form in Dreamweaver that will write data to a (name) table in the SQL database.  Here’s my question: How do you write to two (or more) tables in the same database and pass the same primary key to both tables?  In the SQL database, I defined the first field as ID and set it as the primary key with auto update.  So, when you insert a new record, it creates a unique primary key for that record.  In my form, I’m capturing info that needs to be stored to two tables at the same time; a Name table and Address table. Since the Name and Address tables use the ID field as the primary key, I believe I will need to pass the ID value from the Name table to the insert of the Address table to insure they both have the same primary key, right?

    No. You probably need the primary key from one table to be a foreign key in the other tables. In any case, I believe you can use two methods to obtain the auto generated key. First with SQL:
    http://dev.mysql.com/doc/refman/5.0/en/getting-unique-id.html
    And the other using a PHP function:
    http://us3.php.net/mysql_insert_id

  • Quality info records: how to handle same supplier with different sourcing

    hi all
    I have material which comes from same supplier but different sourcings: as in I have one vendor supplying it but it can come from different sites; as some sites might be approved and others not, how can I differentiate that?
    thanks
    Alisa

    You need to use the MPN profile functionality that is a standard part of SAP.
    In Config under the purchasing define the MPN profile.  There are several options you can turn on/off including info records.
    You assign the MPN profile to your material. It now is considered by SAP to be an internal material number. 
    You then create a HERS material type for each separate manufacturer material number you have.  You only need the purchasing view for these materials.  You can also create purchasing text views, classification and some others if you wish.
    In the SAP approved vendors list (AVL), you then assign each manufacturer vendor(s) with the HERS material created.
    You create a Q-info record for each manufacturer/HERS material combination.
    Now, when you specify the internal material number in a PO, the system will tell you to order the MPN material.  When you do the drop down for the material now, it will show you the approved manufacturers allowed in the AVL for the ordering plant.
    When the 01 inspection lot is created you will have a vendor number as well as a manufacturer's number in the inspection lot.  The DMR can be done by the manufacturer or the vendor depending on how you set up the inspection plan. Q-info record will be used accordingly.
    Take a look at it and research it.  It's not hard to set up.
    FF

  • How to handle Duplication in records

    Hi,
    I have table
    Table name: PM
    and with fields wo_no, wo_descr, pm_no, current_date
    wo_no is a Primary key.
    I am enter data in this table through loop (Many records at a time), when I press a Button. Data is as under in table.
    wo_no          wo_descr          pm_no          current_date
    1          cleaning the relays     2          12-DEC-04
    2          calibration           3      12-DEC-04
    Now the problem is that when I again press the button at second time on same time, the following data will be entered as
    wo_no          wo_descr          pm_no          current_date
    3          cleaning the relays     2          12-DEC-04
    4          calibration           3      12-DEC-04
    So this is not required, instead of this when I press the button second time a message will appear like “duplication of wo_descr, pm_no in same date”
    I am using form 6i, please send me the code on urgently basis.
    Best Regard,
    Shahzad

    Hi Pragati,
    I am trying to run a form from areport which I am successfull in.But when I run another report through this form the earlier report remains open resulting the report background engine showing the status of the current report as waiting.When I close all the earlier reports run then only the current report is run.I don't want the user to close the earlier reports but happen it automatically.
    How do I?
    Tanx in adv.
    Manoj

  • How to delete same name records from datagrid,while i am selecting one of the record and delete

    hi friends,
    i am working in flex 4 mxml web application with action script....i am using a data grid and one delete button outside the gird.
    i have two records in the same name in grid, when i click one record from the grid and click delete means that time ,both records will delete from that grid
    which record having the same name..
    how to do this?
    any useful suggesssion or snippets code for this..
    Thanks in advance,
    B.venkatesan.

    hello,
    first get the length of the datagrid.
    suppose your datagrid id is db and you want to delete the the row which have same name .....
    first get the selected row and from that name of the selcted row.
    supoose selected name is
    var index:int=db.selectedindex;
    var selname:string =bd.dataprovide.getItemAt(index).name;(name id datafield of the column).
    now you got the selected name search for the same rows in datagrid.
    var totallen:int=(db.dataprovider).length;
    for(var i:int=0;i<totallen;i++)
        var  checkduplicate:string=bd.dataprovide.getItemAt(i).name;
       if(checkduplicate==selname)
         db.dataProvider.removeItemAt(i);
    this will delete all the row which are with same name with selected row name...
    Gajanan Hiroji | [email protected] | www.isacglobal.com

  • How to handle clips properly (recording and cutting)

    Hi Adobe Forum
    I have alittle problem, I need to be educated in Adobe Preimere Pro (5.5)
    I do some recording and I end up with a .TS file, which idd like to cut to short videos for Youtube.
    However there sometimes is black around the footage, which needs to be cut away.
    I know how to do that, but when I render it the Quality loss is so high that I believe I must be doing things wrong.
    I am thinking that, it might have something to do with the presets I use.
    I have the original clip, it looks good and sharp and then the rendered preview is blur'ed and not that good
    How is this done correctly?

    littlebear9 wrote:
    I just got a Samsung Intensity. I got on my phone and downloaded a bunch of songs I want to use as ringtones, especially using a specific tone for each caller in my contact list (ie. contact id). But, when I went to manage them online here, it doesn't show them. And, even tho I set a ringtone for each contact, all that plays when any one of them calls is my "default" ringtone. Did I download from the wrong place? What did I do wrong?
    If you downloaded whole mp3's (songs) then they would be in your My_Music folder - and you can't use a whole song as a ringtone, just a 30 second or less clip.  If you downloaded actual ringtones, then you need to save them as a ringtone from the text message (right soft key Options>>Save as ringtone)
    If we are talking about songs, you'll need to use an audio editor (Audacity is free to download to your computer; online services like phonezoo are also free) to create 20-30 second clips that you can send to your phone as a text message and save as a ringtone from there.
    Once the files are listed in your ringtones folder on the phone, you can assign them to your contacts, either from the ringtone list, or from within your contact list.  In your post you said you set a ringtone for each contact....did you SAVE the contact after assigning the ringtone? 
    When you say "manage them online" - you don't manage ringtones online, but you do manage ringBACK tones online....are we talking ringBACK tones or ringtones?

Maybe you are looking for