How to split the rows while data integration?

Hi All
Im a newbie to ODI. I just want to know whether it is possible to split the rows in the source datastore to populate the target datastore.
Consider a table, say
Target Table 1:
a - varchar
b - number
sometimes i may get the source file like this
source1:
c1 c2
a 1
a 2
b 1
c 1
c 2
c 3
or
source 2:
c1 c2 c3 c4
a 1 2
b 1
c 1 2 3
in case of source 1 , i can easily map the values directly to the target table. the problem is in the source 2 scenario. the number of values in one particular row is unknown. In this case is that possible to split the row and populate the target using ODI.
Many thanks
Message was edited by:
user577332

with interface i don't know but you can make an procedure which make this
like
Select c1,c2 from source2
where c2 is not null
union
Select c1,c3 from source2
where c3 is not null
union
Select c1,c4 from source2
where c4 is not null
this is an option if it doesn't work with Interfaces.

Similar Messages

  • How to export the text edit data to excel file without splitting the data in excel file?

    how to export the text edit data to excel file without splitting the data in excel file?
    I have a requirement in SAP HR where in the appraiser can add comments in the area given and can export that to excel file. Currently the file is getting exported but the comments getting split into deifferent rows.
    I want the entire comment to be fit in one row.
    Please help.
    Thank you

    Hi,
    if your text edit value is stored in 'lv_string' variable.
    then before exporting the value to excel you have to remove CL_ABAP_CHAR_UTILITIES=>NEWLINE
    that is '#' from the variable lv_string.
    for that use code some thing like this.
    REPLACE ALL OCCURRENCES OF CL_ABAP_CHAR_UTILITIES=>NEWLINE in lv_string WITH space.
    I think this will do the trick.

  • How to obtain the row data in the component datatable?

    if I want to edit a row data, and then know which row is edited in the component datatable, and how to do?
    How to obtain the row data in the component datatable, and update it to database, not simplely edit a simple table
    Any ideas? Thanks

    Thank you very much for your help Alexander !
    It's quite confusing when you leave Struts and try to adapt your projects for JSF for the first time...
    I wanted to click on a row with a "onMouseClick" on the TR tag like I used to do in Struts/JSTL. But it seems to be impossible in a dataTable.
    Ok then. I've added a column at the end of the row with an icon.
    But eventually I didn't need to declare link parameters.
    In my BackingBean I did like this :
    public String selectEventForUpdate() throws IllegalAccessException, InvocationTargetException {
            PortletAgenda event = (PortletAgenda) JSFUtils.getInRequestMap("event");
            BeanUtils.copyProperties(this, event);
            return null;
       }JSFUtils.getInRequestMap(...) is a method I wrote in a util object :
    public static Object getInRequestMap(String name) {
            Object res = null;
            Map requestMap=FacesContext.getCurrentInstance().getExternalContext().getRequestMap();
            if (requestMap!=null) {
                res=requestMap.get(name);
            return res;
    }  " event " is the name of the item in my dataTable list.
    My backingBean has the same attributes as "event".
    So when the page is reloaded I have a backingBean full with the selected properties to edit/update.
    Thanks to your reply I realized that putting this form in the middle of the dataTable seems to be impossible.
    So I put this form in a floating DIV in front of the table with a shadow.
    It works :o) !
    But I'm a little bit disapointed to be honest...
    I used to build my web applications with Struts and JSTL and doing this kind of interface was really easy.
    I've decided 3 days ago to convert into JSF because the "GUI Layer" seemed to be improved.
    But now I realize that I cannot put a onMouseOver and onMouseClick on a row and I cannot display a different row in the middle of a table....
    I think it's a shame because there is a facet for header and footer.
    And it would be great if we could create our own personal facet that appears only if a condition is true.
    For exemple " if the current item id is the same as the request parameter id then display the following facet content ....... (with a panel group and a form inside to update the row) "
    It's easy to do that with JSTL thanks to c:forEach and c:if but it seems to be impossible to use JSTL tags like this during the dataTable iteration.
    And JSF tags seems to have no logical tags like " if " or loops that can be nested in dataTable.
    I really need to realize this interface (you click on a row then an edit form appears where you clicked).
    Do I have to write a component myself that extends dataTable?
    Do you know if writing such a component is hard to do for a beginner like me?
    (I've juste discovered JSF 3 days ago and I've used Struts/JSTL for 2 years til now)
    I'd be glad to have much advices from you about that.
    Regards

  • How to make the exchange of data between 2 while loop in real time

    hello
    I have 2 while loop
    the 1st while loop includes the data acquisition program
    the 2nd while loop includes the control program
    my question is how to make the exchange of data between 2 while loop in real time
    I tried with the local variable and direct wiring between the 2 while loop
    it does not work (there is a delay)
    Solved!
    Go to Solution.

    Bilalus,
    Queues are only good to transfer data if your application isn't deterministic. Since you are using Real Time, I am assuming that your application requires determinism. If you are using Timed Loops and you use queues to transfer data between your loops, you are losing determinism. In this case, you need to use the RT FIFO functions. 
    Warm Regards,
    William Fernandez
    Applications Engineering
    National Instruments

  • How to Split the Date Column in OBIEE

    Hi,
    We have date column name :To_Date and format is MM/DD/YY HH:MM:SS .
    How do split the date into YEARS,MONTH,DAY as new columns.
    kindly help on this.
    Regards.,
    CHR
    Edited by: 867932 on Nov 23, 2011 10:18 PM

    Hi User,
    All 3 functions can be written in rpd too.In BMM layer, duplicate the date column ->Goto Column Mapping tab-> Expression builder ->Select Functions-> Calendar Date/Time Functions-> Select DayofMOnth function. Your logical column's formula will look like,
    DayofMonth(YourDateColumn)
    Rgds,
    Dpka

  • How to split the debit memo due date (Cr. student recievable)?

    How to split the debit memo due date (Cr. student recievable)?
    I have to pay student back like a installment plan (out going payment).
    I tried installment plan but it is't work for a credit side.

    Hi,
    Thanks for your answer.
    (1) To use FPE1, I understand but it has to do 2 documents for this solution.
    Old doc.
          Dr. Revenue          500
              Cr. student A/R 500
    1st Create new doc
        Dr. student A/R  500
                  Cr. student A/R due 1 250
                       student A/R due 2  250
    2nd  Manual clearing (old doc vs new doc).
          Dr. studen A/R  500
                Cr student A/R 500
    (2) To use due date schedule
    We use this one in fee calculation, It can be debit side or credit side. I don't know it depend on booked-cancelled module.
    In the debit side we need to invoice student just one due.
    So, I can't use this solution.

  • How to split the string by datetime in sql

    Hi,
    How to split the string by datetime in sql, I've a table with comments column stores comments by datetime, while selecting I want to split and show as in rows by each jobref.
    can anyone help me in this please.
    Thanks,

    declare @callcentre table (comments varchar(max),lbiref varchar(200))
    insert into @callcentre
    select '(28/10/2014 14:56:14) xyz ..... call  logged   (28/10/2014 14:56:58) xyz ..... call updated   (28/10/2014 14:57:41)xyz ..... call updated','Vi2910201'
    insert into @callcentre
    select '(29/10/2014 14:56:14) xyz ..... call  logged   (29/10/2014 14:56:58) xyz ..... call updated   (29/10/2014 14:57:41)xyz ..... call updated','Vi2910202'
    insert into @callcentre
    select '(30/10/2014 14:56:14) xyz ..... call  logged   (30/10/2014 14:56:58) xyz ..... call updated  
    output:
    1) 28/10/2014 14:56:14, (28/10/2014 14:56:14) xyz ..... call  logged ,'Vi2910201'
     2) 28/10/2014 14:56:58 ,(28/10/2014 14:56:58) xyz ..... call updated ,'Vi2910201'
    3) 28/10/2014 14:57:41,  (28/10/2014 14:57:41)xyz ..... call updated,'Vi2910201'
    4) 28/10/2014 14:56:14, (28/10/2014 14:56:14) xyz ..... call  logged ,'Vi2910202'
     5) 28/10/2014 14:56:58 ,(28/10/2014 14:56:58) xyz ..... call updated ,'Vi2910202'
    6) 28/10/2014 14:57:41,  (28/10/2014 14:57:41)xyz ..... call updated,'Vi2910202'
    7) 28/10/2014 14:56:14, (28/10/2014 14:56:14) xyz ..... call  logged ,'Vi2910203'
     8) 28/10/2014 14:56:58 ,(28/10/2014 14:56:58) xyz ..... call updated ,'Vi2910203'
    Thanks,
    See this illustration
    declare @callcentre table (comments varchar(max),lbiref varchar(200))
    insert into @callcentre
    select '(28/10/2014 14:56:14) xyz ..... call logged (28/10/2014 14:56:58) xyz ..... call updated (28/10/2014 14:57:41)xyz ..... call updated','Vi2910201'
    insert into @callcentre
    select '(29/10/2014 14:56:14) xyz ..... call logged (29/10/2014 14:56:58) xyz ..... call updated (29/10/2014 14:57:41)xyz ..... call updated','Vi2910202'
    insert into @callcentre
    select '(30/10/2014 14:56:14) xyz ..... call logged (30/10/2014 14:56:58) xyz ..... call updated','Vi2910203'
    SELECT LEFT(p.u.value('.[1]','varchar(max)'),CHARINDEX(')',p.u.value('.[1]','varchar(max)'))-1) AS [Date],
    '(' + p.u.value('.[1]','varchar(max)') AS comments,
    lbiref
    FROM
    SELECT lbiref,CAST('<Root>' + STUFF(REPLACE(comments,'(','</Data><Data>'),1,7,'') + '</Data></Root>' AS XML) AS x
    FROM @callcentre c
    )t
    CROSS APPLY x.nodes('/Root/Data')p(u)
    and the output
    Date comments lbiref
    28/10/2014 14:56:14 (28/10/2014 14:56:14) xyz ..... call logged Vi2910201
    28/10/2014 14:56:58 (28/10/2014 14:56:58) xyz ..... call updated Vi2910201
    28/10/2014 14:57:41 (28/10/2014 14:57:41)xyz ..... call updated Vi2910201
    29/10/2014 14:56:14 (29/10/2014 14:56:14) xyz ..... call logged Vi2910202
    29/10/2014 14:56:58 (29/10/2014 14:56:58) xyz ..... call updated Vi2910202
    29/10/2014 14:57:41 (29/10/2014 14:57:41)xyz ..... call updated Vi2910202
    30/10/2014 14:56:14 (30/10/2014 14:56:14) xyz ..... call logged Vi2910203
    30/10/2014 14:56:58 (30/10/2014 14:56:58) xyz ..... call updated Vi2910203
    Please Mark This As Answer if it solved your issue
    Please Mark This As Helpful if it helps to solve your issue
    Visakh
    My MSDN Page
    My Personal Blog
    My Facebook Page

  • How to Fix the row in sap script, its urgent......

    Hi Experts,
    first i explain my sap script, i have print void check in my script client give readymade format means box are there, lines are there. i have to fix in box and line data form database table. everthing is working fine. i got all data. i have total 6 window in my script .but i have one issue  In my sap script in header window total five rows... like below
    Check voucher no:8888
    check No: 1234
    Date:1/28/2007
    Bank:xyz
    Batch no: 5678
    now sometime check voucher is balnk....
    Check voucher no: BLANK/NULL
    check No: 1234
    Date:1/28/2007
    Bank:xyz
    Batch no: 5678
    because of that all rows are move up side and all window also move up side and so script not fix to the box and line all data are seen not perfectly... so guru`s how to fix the row and window in script....
    its urgent...
    Waiting for ur reply
    Thanks & regards
    Jigar

    Hi,
    Follow the below steps . Definately your issue will bve resolved.
    Let us suppose you are printing following fields
    PH &v_text&
    PH &v_text1&
    PH &v_text2&
    you will get the output as you expected.
    and if you have any conditions  for these fileds
    /: if v_text is not initial.
    PH &v_text&
    /: endif
    PH &v_text1&
    PH &v_text2&
    if you have data in each field then you will get output as expected .
    But when v_text is initial.
    the data will be moved up wnhich is happening in your case.
    so what you need to do is?
    /: if v_text is not initial.
    PH &v_text&
    /: else
    PH  (Here you need to mention empty line with same paragraph format
    /: endif.
    PH &v_text1&
    PH &v_text2&
    Reward points if useful
    Regards,
    Nageswar

  • How to maintain the material master data in plant

    Hi all,
    while creating BOM I am getting an error "no material master data in plant' can some one help me how to maintain the material master data in plant
    Regards,
    Balu

    Check the material available in MARC table in SE11 transaction against your plant.If it is not available please maintain through MM01 transaction.

  • How to get the row Count of a ResultSet

    How to get the row Count of a ResultSet

    Hi
    I'v tried rennie1's way ,but I only get zero,my code is:
    rs.executeQuery("select count(*) from t_test");
    if (rs.next()) int rowCount=rs.getInt(1);
    I also tried barni's way ,but the method rs.last() and rs.beforeFirst() throw a same Exception
    I tried another way,the code is:
    while rs.next(){
    // Do nothing ,just move the cursour to the last row
    int rowCount=rs.getRow()
    However,the rowCount still equal zero
    Any help would be greatly apprecite!
    note:
    I get connection by DataSource's JNDI name from client, the Server is Weblogic Server 6, the DBMS is Oracle.

  • How to store the flat file data into custom table?

    Hi,
    Iam working on inbound interface.Can any one tell me how to store the flat file data into custom table?what is the procedure?
    Regards,
    Sujan

    Hie
    u can use function
    F4_FILENAME
    to pick the file from front-end or location.
    then use function
    WS_UPLOAD
    to upload into
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      CALL FUNCTION 'F4_FILENAME'   "Function to pick file
        EXPORTING
          field_name = 'p_file'     "file
        IMPORTING
          file_name  = p_file.     "file
      CALL FUNCTION 'WS_UPLOAD'
       EXPORTING
         filename                       = p_file1
        TABLES
          data_tab                      = it_line
    *then loop at it_line splitting it into the fields of your custom table.
    loop at it_line.
              split itline at ',' into
              itab-name
              itab-surname.
    endloop.
    then u can insert the values into yo table from the itab work area.
    regards
    Isaac Prince

  • How to Split the message content?

    Hi ....
        I am having an input File like below format.
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_ISO8583 xmlns:ns0="http://axis.com/bank_statement">
       <Field1></Field1> -
    0 to 1
       <Filed2></Filed2> -
    0 to 1
       <Filed3></Filed3> -
    0 to unbounded
    </ns0:MT_ISO8583>
    Here Field 3 is repeating many times. The value in the Field 3 has to be splitted and should be mapped to the target feilds. Field 3 will stop repeating until when the first value in the field 3 is N.
    The length of the field is 142 characters in length.
    The field should be splitted based on the following structure.
    More data flag : 1 char (u2018Yu2019/u2019Nu2019) This indicates whether there are more records for the given criteria.
    Number of statements : 2char (00 to 20) Number of statements in this fetch
    The following are repeated as many number of statements
    Transaction date : 8 char ( YYYYMMDD )
    Transaction Id : 9 char (right justified, left padded with spaces)
    Part tran serial num : 4 char (right justified left padded with spaces)
    Tran Type : 1 char ( C - Cash, T - Transfer, L - Clearing )
    Tran sub type : 2 char ( BI, CI, NP, NR)
    Debit credit indicator : 1 char ( D - Debit, C - Credit )
    Tran value date : 8 char ( YYYYMMDD )
    Transaction Amount : 17 char ( with decimal )
    Transaction particulars : 50 Char (left justified, right padded with spaces)
    Transaction Posted date : 14 char ( YYYYMMDDHHMISS )
    Instrument number : 8 char (right justified, left padded with spaces)
    Balance at the end of the transaction : 17 char ( with decimal )
    Can you help me , how to split the message content in the field3?
    Below is the sample message.
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_ISO8583 xmlns:ns0="http://axis.com/bank_statement">
       <Field1>930000</Field1>
       <Filed2>234259901406</Filed2>
       <Filed3><Y0820090127S275433861005TBIC20090127 4872.14EDC/212-213-/M000044375340045 20090127151 959 32663.7620090127S278456264276TBIC20090127 5290.45EDC/214-215-/M000044375340045 20090127205840 37954.2120090131S299799314797TBIC20090131 1883.88EDC/216-216-/M000044375340045 20090131104028 39838.0920090202S31532814 662TBIC20090202 3105.37EDC/217-217-/M00004 4375340045 20090202121514 42943.4620090205S337981634779TBIC20090205 2052.20EDC/2 18-218-/M000044375340045 20090205104040 44995.6620090205 M53898 1CNPD20090205 42000.00TO CASH/SELF 20090205111633 12824 2995.6620090207S354072734740TBIC20 090207 4429.21EDC/219-219-/M000044375340045 20090207112958 7424.8720090209S3671 72631419TB Field 126: IC20090209 7161.55EDC/220-221-/M000044375340045 20090209122637 14586. 42]]></Filed3>
       <Filed3><Y0820090127S275433861005TBIC20090127 4872.14EDC/212-213-/M000044375340045 20090127151 959 32663.7620090127S278456264276TBIC20090127 5290.45EDC/214-215-/M000044375340045 20090127205840 37954.2120090131S299799314797TBIC20090131 1883.88EDC/216-216-/M000044375340045 20090131104028 39838.0920090202S31532814 662TBIC20090202 3105.37EDC/217-217-/M00004 4375340045 20090202121514 42943.4620090205S337981634779TBIC20090205 2052.20EDC/2 18-218-/M000044375340045 20090205104040 44995.6620090205 M53898 1CNPD20090205 42000.00TO CASH/SELF 20090205111633 12824 2995.6620090207S354072734740TBIC20 090207 4429.21EDC/219-219-/M000044375340045 20090207112958 7424.8720090209S3671 72631419TB Field 126: IC20090209 7161.55EDC/220-221-/M000044375340045 20090209122637 14586. 42]]></Filed3>
       <Filed3><Y0820090127S275433861005TBIC20090127 4872.14EDC/212-213-/M000044375340045 20090127151 959 32663.7620090127S278456264276TBIC20090127 5290.45EDC/214-215-/M000044375340045 20090127205840 37954.2120090131S299799314797TBIC20090131 1883.88EDC/216-216-/M000044375340045 20090131104028 39838.0920090202S31532814 662TBIC20090202 3105.37EDC/217-217-/M00004 4375340045 20090202121514 42943.4620090205S337981634779TBIC20090205 2052.20EDC/2 18-218-/M000044375340045 20090205104040 44995.6620090205 M53898 1CNPD20090205 42000.00TO CASH/SELF 20090205111633 12824 2995.6620090207S354072734740TBIC20 090207 4429.21EDC/219-219-/M000044375340045 20090207112958 7424.8720090209S3671 72631419TB Field 126: IC20090209 7161.55EDC/220-221-/M000044375340045 0090209122637 14586. 42]]></Filed3>
       <Filed3><N0820090127S275433861005TBIC20090127 4872.14EDC/212-213-/M000044375340045 20090127151 959 32663.7620090127S278456264276TBIC20090127 5290.45EDC/214-215-/M000044375340045 20090127205840 37954.2120090131S299799314797TBIC20090131 1883.88EDC/216-216-/M000044375340045 20090131104028 39838.0920090202S31532814 662TBIC20090202 3105.37EDC/217-217-/M00004 4375340045 20090202121514 42943.4620090205S337981634779TBIC20090205 2052.20EDC/2 18-218-/M000044375340045 20090205104040 44995.6620090205 M53898 1CNPD20090205 42000.00TO CASH/SELF 20090205111633 12824 2995.6620090207S354072734740TBIC20 090207 4429.21EDC/219-219-/M000044375340045 20090207112958 7424.8720090209S3671 72631419TB Field 126: IC20090209 7161.55EDC/220-221-/M000044375340045 20090209122637 14586. 42]]></Filed3>
    </ns0:MT_ISO8583>
    Thanks & Regards,
    Leela

    using substring to get values you want, and map to corresponding target nodes except:
       fields3 ->count->Number of statement
    Regards.
    Liang

  • How to split the report into different versions view 1 agent delivery

    Hello
    I have a scenario where I need to send a dashboard to multiple users. The user information are stored in the table like the following:
    USER    Day     Car                  Pay Type                    Cost   Email
    USER1
    -10
    -2
    Honda
    Customer Pay
    500
    [email protected]
    USER2
    -4
    -1
    AUDI
    Customer Pay + Warranty
    1000
    [email protected]
    USER2
    -4
    -1
    PORSCHE
    Customer Pay + Warranty
    1000
    [email protected]
    Now I have a dashboard call Car, on this dashboard I have prompts like Date, Car, Pay Type, Cost, pretty much the same name as the columns in the above table. I have also set up session variables to pick up users based on the log in.
    Now for user2, he is getting 1 email, which is the dashboard with both Audi and Porsche on there. Instead, he wants to 2 attachments, 1 for Audi and 1 more Porsche. Is there a way to achieve this using 1 agent?
    Please let me know how to split the result sets based on user records in the table
    Thank you

    Hello,
    Thank You very much for the useful hint.
    Regards
    Aloha

  • How to split the Multi Provider

    HI All,
    Please give me the steps How to split the Multi provider and also let me know how to find the multi provider is parellal or series?
    Thanks
    Vasu.

    Hi
    If you have huge volumes of data, logical partitioning (splitting into multiple data targets based on a time characteristic) is always recommendable. You can choose to so only for the cube (split into 3 cubes) and have the suitable code when loading from the ODS's.
    Else you can split the ODS's as well and have the code in the update rules from source system to the ODS's. Either ways, once you choose to split...you have no choice but to use a multi provider to report on these splits.
    During the execution, query is automatically multiple sub queries and these sub queries read the partitioned cubes in parallel. This would increase the performance of reports. Hope this helps!
    http://help.sap.com/saphelp_bw31/helpdata/en/de/bcb73d73a5f972e10000000a114084/content.htm
    santosh

  • How to setup mail client in Data Integrator 11.7 to make use of mail_to()

    How to setup mail client in Data Integrator 11.7 to make use of mail_to() function.
    I am using mail_to() function in one of my job to know the status of source file. If source file is not ready, our DI job should fail and send mail notification with reason for failure.
    But mail_to() function is not sending any mail. I guess I need to set up email client.
    Any one please help to resolve this issue.
    Thanks
    Phani

    From the DI documentation that comes with the installation:
    To use this function, a mail client must be installed and running on the Job
    Server computer that calls the function. The login account for the mail client
    must have the same user name and password as the Data Integrator service.
    The type of client varies by the operating system:
    u2022 If the Job Server is on a computer running the Windows operating
    system, then the mail client must comply with MAPI (message application
    programming interface). In addition, the mail client must be configured as
    the default mail client. For example, Microsoft Outlook is a MAPI-based
    mail client.
    If the Job Server is on a computer running the UNIX operating system,
    then the mail client must be mailx-compliant.
    So:
    Mail client installed and configured and set as default
    Mail client uses the same credentials as the job server service
    Or use another function: smtp_to();
    If still not working or you are not allowed to use an installed mailclient on your box, then try Blat: http://www.blat.net/

Maybe you are looking for

  • Java.io.EOFException while deploying RPD in OBIEE Cluster using Mbean

    I am using oracle.biee.admin:type=BIDomain.BIInstance.ServerConfiguration,biInstance=coreapplication,group=Service to deploy RPD on a clustered environment with 3 servers, I get the following error, it works fine on a single host, any clue ? Connecti

  • Release PR after Change

    Hi Gurus, I want to enable a functionality to release the PR after changing the existing one(Which is already released). Please let me know the configs to be done for enabling this.Thanks for your help in advance. with regards, Saakithyan

  • Export to HTML Option in 7

    I have just started using Captivate 7. In 5.5, when you published to swf, you could deselect the "Export To HTML" option to prevent Captivate from making HTML, js, and css files. Since my authoring tool does not require these files with swfs, I alway

  • Mac OS 10.5.8 Flash 10 settings

    Ok, I have made peace with the fact that Flash 10 is running a lot slower on my son's PowerBook G4 than my comparable work Windows based laptop.  However, I would like to make sure I run it as efficiently as possible.  When I right click a Flash box,

  • Sorry me again.....

    Hi all Sorry its me again, asking lots of questions I know! Still working on my .swf. I need to record various things, like which button someone presses, when running my file and then get this onto the computer somehow. I have done something similar