Data massage in ODI

Hi,
I need to select some data from the source table and concatenate into 1 string and insert into another table as follows:
ID SEQ VALUE
1 1 ABC
1 2 EFG
1 3 HIJ
2 1 ABC
and the result table will be:
ID VALUE
1 ABC:EFG:HIJ
2 ABC:....
I'd create a procedure with 2 cursor loop to concat. the data and insert into my target table.
I just wonder whether there is any 'ODI' way to handle this case?
Thanks a lot!!
Tao

If you know the possible max value for the sequence you can do something easy with ODI.
If your sequence max value is 3 like in your example.
In source you can put 3 times your file
for each one set a filter on sequence=1 for the first, sequence=2 for the 2nd,...
then you can join them in outer join with ID=ID
you will now have, following your example, 2 records
1,ABC,EFG,HIJ
2,ABC,NULL,NULL
In your target datastore you can easily mange the NULL value.
If you don't know how many sequence you will have for one ID or if the max value is too big I advice you to do a script and to paste it in an ODI procedure.
Brice

Similar Messages

  • Problem with inserting XML data server in ODI

    Hi,
    I was trying to insert an XML data server in ODI. I want to use it for my target database.i.e i want my target to be an xml file. So while specifying the url in the data server, what should i mention as the file name,dtd file , root etc? what i have done is dat i hav created the dtd file as per my requirement.i have created an empty xml file. while testing the connection an error comes : java.sql.SQLException: A parsing exception occurred saying Whitespace required..
    Next i tried putting jz d root tags in the xml file without any content. this returned the same error. next i tried inserting all d tags as per my dtd file. same error came...
    Please help.
    Regards,
    Divya
    Message was edited by:
    Divya Padmanabhan

    For empty xml try to use:
    <?xml version="1.0" encoding="UTF-8"?>
    <ROOT_SOME></ROOT_SOME>
    as jdbc connect string:
    jdbc:snps:xml?f=../demo/xml/1/file.xml&ro=false&ldoc=true&case_sens=true&s=LEO_FIZ&dod=true
    and try again...

  • Automatic Data Extract in ODI

    Hi,
    I want to do automatic data extract in ODI
    How do i achieve this?
    Thanks.

    Hi,
    If i understand your requirement correctly then scheduling in ODI will help you to do automatic data extraction at specific time/interval.
    Have a look,
    http://www.oracle.com/technology/obe/fusion_middleware/odi/creating_scheduling_scenario/creating_scheduling_scenario.htm
    You got what you are looking for?
    Thanks,
    Guru

  • How to create data stores in ODI ?

    Hi all,
    I am new to this ODI part.Can anyone please help me as how to create data stores in ODI.
    A prompt reply will be highly aprreciated.
    Thanks
    Saurabh.

    What do you mean by "create datastores"?
    If you mean you want to reverse engineer existing tables from a database, then the phrase used in the ODI docs is "reverse enginnering". If you mean to create new tables in a database, then:
    1) ODI is not meant to be a database design tool.
    2) Using the "diagrams" node under a data model, you are able to use the "Common Format Designer" (CFD) tool to design and create the structure. The CFD tool is a simple ER-digram tool, but importantantly, if you drag structures in from one model to another, it remembers where it came from, allowing automatic generation of interfaces, and it automatically translates the data types.

  • Logical data Model Using ODI

    Can I create Logical data Model Using ODI ? If yes how can I do it ?

    User,
    ODI is not a tool to design. It's a comprehensive integration platform.
    However if you would like to model your data, you can use for example Oracle Designer 9i, which is availble one the Oacle website for free.
    Oracle 10gR2 Designer is also availble at: http://www.oracle.com/technology/software/products/designer/htdocs/winsoft.html
    Good luck.
    Edited by: kumper on 2008-10-16 00:33

  • Unable to configure ODBC data source through odi

    Hi,
    Let me explain the architecture first.
    We have three machines
    1. OpenVMS machine on which connx server is running for RMS files, say SRC
    2. Windows machine on which ODI Data Studio 11.1.1, Say WRKSTN, This has connx client installed
    3. Target is HP-UX on which SYBASE is running, say TRGT. On target we have installed connx client and ODI Stand alone agent and agnt01 is the name of the agent that is running
    My Requirement is,
    I need to pull the data from SRC and load it into TRGT using the ODI  agent agnt01, through ODBC data connectivity.
    If i configure DSN on my WRKSTN they the agnt01 is unable to identify. If i configure a DSN on HP-UX machine then i am not able to specify that in ODI Sun odbc: Jdbc bridge driver.
    Kindly help me as to how i can resolve this
    Thanks,
    Rajesh H

    Configuring DSN on windows workstation would not help as the agent is not running on that machine. The DSN has to be configured on the machine where the agent is running on which you want to execute the flow. What error are you getting on trying to specify the DSN name on HPUX in the data server jdbc url?

  • GL Data load using ODI to Essbase

    Hi, I am trying to load GL actual data to essbase application using ODI. Source file is having 10 columns and the Target is having 11 columns. We are using rules file to load data into essbase. Rules file will split 9th column as two columns and will load the data into Essbase. When we test the rules file in essbase data is getting load into application. when we use the same rule file in ODI interface data is not getting load and giving error as "Unknown member" for the member which we are spliting in 9th column. Source file: HSP_RATES ACCOUNT PERIOD YEAR SCENARIO VERSION CURRENCY ENTITY SFUND PROGRAM DATA HSP_InputValue 611101 Jul FY13 ACTUAL Final Local 0000 SBNR AC0001PS0001 25000 AC0001PS0001 is the concatenated string from GL. we will split this as two columns using rules file to load into essbase application. Please suggest what might be the reason for the error. How to do the mapping between source and target. I have mapping one column(AC0001PS0001) to two dimensions (Program, Activity) in Essbase. Please suggest. Thanks Sri

    In ODI, what you have to do is to split it in the ODI itself. While you are mapping, you can use SQL functions to map it to two different columns. Similar to the way you are doing it in Rule file.
    Regards
    Amarnath
    ORACLE | Essbase

  • How to get the DB2 system date in the ODI

    Hello,
    I m new to ODI. And I m having some issues.
    I ve a source in DB2. And I ve to load the data from DB2 to Oracle.
    So in the source(DB2) I ve some tables. One Table is ABCD. In that we have nearly 15 columns. In that we have a column called AG2R(Expiration Date).
    The data is displayed as
    1,021,100
    1,031,100
    1,030,500
    1,100,400
    and so on....
    So here my question is I ve to apply a filter. (AG2R)The Expiration Date should be greater than that of System Date(Current Date).
    Can anyone help me in this.
    Waiting for replies.
    Regards,
    Murali.

    You have to understand what is the format of AG2R column and to cast this column with a valide date format...
    To convert a character string to a date or time value, you can use:
    TIMESTAMP ('2002-10-20-12.00.00.000000')
    TIMESTAMP ('2002-10-20 12:00:00')
         DATE ('2002-10-20')
         DATE ('10/20/2002')
         TIME ('12:00:00')
         TIME ('12.00.00')

  • Data loading using ODI

    Hi,
    I am using ODI 10g for loading data into oracle 10g database from a flat file. The flat file is in fixed format, but the data is in a single row, so the data is not loaded correctly. For example, 1000 records are shown in 1 line.
    Can someone please suggest, what customization should I make to the IKM to achieve this.
    Please let me know the questions you may have.
    Thanks a lot.

    Hi John,
    I reversed my Planning model and able to see those columns now. I tried executing my interface and got the below error
    The source result set contains column [EMPLOYEE_ACCOUNT] which has no corresponding column on the planning side.
    My source is an oracle table and i have seperate columns for each dimension member. What I did is, mapped the Data column (JobTitle) from source to the Target column(JobTitle) and rest all dimension member columns from source to Point of View column seperated by a comma. My Planning cube name is EMPLOYEE, so in th data cube name column i manually entered "EMPLOYEE" and tried executing it.
    Please guide me as always
    Thanks,
    Sravan

  • Error Inserting Data from Procedure ODI 11g (No data)

    Hi everyone!
    I have a problem inserting data from a procedure, the procedure works "fine" (no errors), on the log counter shows the number of rows inserted, but, on the database rows does not exists, an easy sample is:
    TARGET: ORACLE
    insert into table_t
    (desc)
    values
    (:description)
    SOURCE: ORACLE
    select description from table_s
    I check (ODI), the conection (works fine), modules (works fine), "select from table" (works fine).
    I check (Database), inserting rows direct (works fine).
    What can i check?
    Thanks for your response.

    Hi
    Try below 2 things
    First
    In target:oracle
    insert into table_t
    (desc)
    values
    ('#descpt');
    Second
    In target:oracle
    insert into table_t
    (desc)
    values
    ('#Proc_Var');
    Note: For alias name (*descpt* ) or Project variable (*Proc_Var*) with # symbol and single quotes
    Regards,
    Phanikanth

  • Change Data Capture in ODI

    Hi all,
    A client of ours is planning to replicate their production database into a reporting database. All tables will be copied to the reporting DB. They also need to do "Change Data Capture" on the production DB and reflect the changes into the reporting DB in real time. Since the production DB is from a transaction system, the changes will be quite big. They are worried about the performance of the production DB during the copy process. Is Oracle Data Integrator capable in doing this? They are running Oracle 9.2 on Windows platform. Thank you.
    Regards,
    Gerd

    Gerd
    ODI's main Changed Data Capture (CDC) functionality for the Oracle database is implemented using the LogMiner functionality provided by the database. When used in asynchronous mode, this imposes a minimal overhead on the source database, as the transactional system is not "interfered" with by the log capture process.
    During the copy process, ODI will simply be reading a view (a join across the table containing the primary key (or unique identifier) and the original data) which should be very efficient. The load is minimal. It is being used very successfully by clients in this way.
    Craig

  • Data load using ODI 11.1.1.5 to hyperion.

    Hi All,
    I have installed ODI and we have already installed Hyperion.
    After installation of ODI , I have created Master repository and Work repository.
    Now i am planning to load data to hyperion planning applications dimensions(Eg. Entity).
    1) In Topology section, i did right click on Hyperion planning and clicked on "New Data Server". Filled the required infomartion and saved it.
    2) Then i right clicked on newly created Data server and opted "New physical schema", but after that it is not showing any application in Application(Catalog) and Application (Work Catalog) drop downs.
    Before those steps we had created planing applications in Hyperion.
    Please let me know what is wrong/missing in above steps or share the steps to load the data in hyperion.
    -PM

    Yes , i have entered the values in text boxes/drop downs . Afterward i tried to save it but it ask to fill "context".Then i seletected Context option, In that i have only one option global, I opted that.
    And in second field logical schema , doesnt have any value. System doesnt allow to save without giving these values.
    Can you please me further steps.
    -PM

  • How to make Filemaker as data store in ODI.

    Hi
    I have a requirement where i need to export data from Filemaker 11 to Oracle 11g, using ODI 11g . Is their any way to use Filemaker directly or by using ODBC connection of Filemaker to use it as data store to export data into Oracle database. Also let me know what measures need to be taken to make it happen?
    Thanks in advance.
    Regards
    Sandeep.

    Thanks Dev for responding,
    I have created the ODBC DSN for filemaker tool and trying to add it in topology. But it is not recognizing into any datastore. Tried with sun-jdbc/odbc driver also in odi. But didn't work.
    Can you suggest me how to connect the filemaker odbc in odi.
    Thanks in advance.
    Regards
    Sandeep

  • Getting error when i am creating and tesing data server in ODI

    Hi,
    Getting error when i am creating and tesing data server in oracle (Physical Architecture) in topology manager ODI.
    Please anybody help me on this.
    Java.net.ConnectException: Connection refused: connect
         at java.net.PlainSocketImpl.socketConnect(Native Method)
         at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
         at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
         at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
         at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
         at java.net.Socket.connect(Socket.java:529)
         at java.net.Socket.connect(Socket.java:478)
         at java.net.Socket.<init>(Socket.java:375)
         at java.net.Socket.<init>(Socket.java:189)
         at com.sunopsis.graphical.l.pm.a(pm.java)
         at com.sunopsis.graphical.l.pm.s(pm.java)
         at com.sunopsis.graphical.l.pm.g(pm.java)
         at com.sunopsis.graphical.l.pm.a(pm.java)
         at com.sunopsis.graphical.l.pm.a(pm.java)
         at com.sunopsis.graphical.l.iz.actionPerformed(iz.java)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
         at java.awt.Component.processMouseEvent(Component.java:6263)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
         at java.awt.Component.processEvent(Component.java:6028)
         at java.awt.Container.processEvent(Container.java:2041)
         at java.awt.Component.dispatchEventImpl(Component.java:4630)
         at java.awt.Container.dispatchEventImpl(Container.java:2099)
         at java.awt.Component.dispatchEvent(Component.java:4460)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
         at java.awt.Container.dispatchEventImpl(Container.java:2085)
         at java.awt.Window.dispatchEventImpl(Window.java:2478)
         at java.awt.Component.dispatchEvent(Component.java:4460)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178)
         at java.awt.Dialog$1.run(Dialog.java:1046)
         at java.awt.Dialog$3.run(Dialog.java:1098)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.awt.Dialog.show(Dialog.java:1096)
         at java.awt.Component.show(Component.java:1563)
         at java.awt.Component.setVisible(Component.java:1515)
         at java.awt.Window.setVisible(Window.java:842)
         at java.awt.Dialog.setVisible(Dialog.java:986)
         at com.sunopsis.graphical.l.pm.q(pm.java)
         at com.sunopsis.graphical.l.pm.<init>(pm.java)
         at com.sunopsis.graphical.frame.b.jh.bx(jh.java)
         at com.sunopsis.graphical.frame.bo.w(bo.java)
         at com.sunopsis.graphical.frame.bo.d(bo.java)
         at com.sunopsis.graphical.frame.w.actionPerformed(w.java)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
         at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
         at java.awt.Component.processMouseEvent(Component.java:6263)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
         at java.awt.Component.processEvent(Component.java:6028)
         at java.awt.Container.processEvent(Container.java:2041)
         at java.awt.Component.dispatchEventImpl(Component.java:4630)
         at java.awt.Container.dispatchEventImpl(Container.java:2099)
         at java.awt.Component.dispatchEvent(Component.java:4460)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
         at java.awt.Container.dispatchEventImpl(Container.java:2085)
         at java.awt.Window.dispatchEventImpl(Window.java:2478)
         at java.awt.Component.dispatchEvent(Component.java:4460)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
    Thanks,
    Krish

    So are you getting the same error when you try from the installed agent or the tool (Local agent)? Is your agent on the same machine or different machine. If so, does that particular machine can connect to the database?
    Also, are you using the same JDBC driver that you are using in SQLDeveloper? Same URL?
    Typically, connection refused error appears with wrong instance or wrong port. Try telnet-ing the in the database server and db port. See what happens there!!! The java stack that you provided here is not an SQL exception, it is related to socket creation. It has less to do with JDBC and more to do with physical resources like machine, port and permission.

  • Error when adding multiple source data stores in ODI Interface

    I am trying to create an ODI Interface with couple of source tables and one target table. Say for example I am using the following data structure in my target table.
    Order (Target Table)
    order id
    product id
    customer id
    address id
    warehouse id
    shipment id
    for the above target table i need to extract data from each of the following source tables.
    orderitem
    product
    customer
    address
    warehouse
    shipment
    Total 6 source tables i need to join however and load data for target table.
    When I drag source data stores in to ODI interface mapping tab It throws the following Null Pointer Error. Due to this error I am not able to map target table with all the source tables.
    Please suggest me what could be the reason for the error.
    Error:
    java.lang.NullPointerException
         at oracle.odi.interfaces.interactive.support.clauseimporters.ClauseImporterDefault.importClauses(ClauseImporterDefault.java:81)
         at oracle.odi.interfaces.interactive.support.actions.InterfaceActionAddSourceDataStore.performAction(InterfaceActionAddSourceDataStore.java:124)
         at oracle.odi.interfaces.interactive.support.InteractiveInterfaceHelperWithActions.performAction(InteractiveInterfaceHelperWithActions.java:845)
         at oracle.odi.interfaces.interactive.support.InteractiveInterfaceHelperWithActions.performAction(InteractiveInterfaceHelperWithActions.java:821)
         at oracle.odi.ui.OdiSdkEntityFactory.dropSourceDataStore(OdiSdkEntityFactory.java:523)
         at oracle.odi.ui.etlmodeler.diag.dragdrop.DiagramNodeDropHandler.dropObjects(DiagramNodeDropHandler.java:150)
         at oracle.diagram.framework.dragdrop.handler.DelegateChooserDropHandler.dropSelected(DelegateChooserDropHandler.java:386)
         at oracle.modeler.dnd.ModelerTCDropHandler.access$001(ModelerTCDropHandler.java:69)
         at oracle.modeler.dnd.ModelerTCDropHandler$3.run(ModelerTCDropHandler.java:288)
         at oracle.modeler.dif.GraphicAdder.addImpl(GraphicAdder.java:387)
         at oracle.modeler.dif.GraphicAdder.addAndLayoutImpl(GraphicAdder.java:372)
         at oracle.modeler.dif.GraphicAdder.addSelectAndLayout(GraphicAdder.java:348)
         at oracle.modeler.dnd.ModelerTCDropHandler.dropSelected(ModelerTCDropHandler.java:284)
         at oracle.diagram.framework.dragdrop.handler.DelegateChooserDropHandler.drop(DelegateChooserDropHandler.java:150)
         at oracle.diagram.framework.dragdrop.DefaultDropPlugin.drop(DefaultDropPlugin.java:115)
         at oracle.modeler.dnd.ModelerDropPlugin.drop(ModelerDropPlugin.java:100)
         at oracle.diagram.framework.dragdrop.DropTargetHelper.drop(DropTargetHelper.java:188)
         at oracle.diagram.framework.dragdrop.ManagerViewDragAndDropController$MyDropTargetListener.drop(ManagerViewDragAndDropController.java:802)
         at java.awt.dnd.DropTarget.drop(DropTarget.java:434)
         at sun.awt.dnd.SunDropTargetContextPeer.processDropMessage(SunDropTargetContextPeer.java:519)
         at sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchDropEvent(SunDropTargetContextPeer.java:832)
         at sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchEvent(SunDropTargetContextPeer.java:756)
         at sun.awt.dnd.SunDropTargetEvent.dispatch(SunDropTargetEvent.java:30)
         at java.awt.Component.dispatchEventImpl(Component.java:4487)
         at java.awt.Container.dispatchEventImpl(Container.java:2099)
         at java.awt.Component.dispatchEvent(Component.java:4460)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
         at java.awt.LightweightDispatcher.processDropTargetEvent(Container.java:4312)
         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4163)
         at java.awt.Container.dispatchEventImpl(Container.java:2085)
         at java.awt.Window.dispatchEventImpl(Window.java:2478)
         at java.awt.Component.dispatchEvent(Component.java:4460)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

    Hello,
    does somebody have a solution for this issue?
    I am new to ODI and have the same problem. I am using ODI Designer Standalone Edition Version 11.1.1.
    Maybe there is something wrong with my configuration, maybe I am doing something wrong while creating the mapping graphically. It does not help to save and re-open the mapping. Also it does not help to re-reverse engineer the objects. Also it does not seem to have something to do with the number of objects joined (some objects seem to always cause this error, with some the error starts when there are 10 or more objects on the map before they are added).
    One possible workaround i have found is to do it all on the quick-edit tab by one by one creating the joins and mappings (+source or lookup joins and filter mapping). It seems to work with my configuration, but drag&drop functionality on the mapping tab would sometimes be faster, more convenient and just more human like.
    Br,
    Jaanus

Maybe you are looking for

  • How to make a template in Photoshop CS5?

    How to make a template in Photoshop CS5?

  • 720p 60 fps slow motion

    I have a new helmet cam (Go Pro HD Hero). I have been playing around with the 5 formats for video. I did a 30 second shot with each of the 5 formats. FCP would not recognize 2 of the formats I tried to bring into Final Cut. The two formats are both o

  • Sleep after the security update

    I just installed the March 1, 2006 security update on my imac (10.4.5, 2GHz G5 20"). Since then, it's had trouble sleeping - sometimes I need to select SLEEP 2-3 times before it kicks in. Anyone else see this kind of behavior change? - J iMac G5   Ma

  • How to configure datasource in JBOSS?

    Hi All, I want to configure datasource in JBOSS for oracle database? The constraints are 1) The password should be in the encrypted format in the configuration file because I dont want to reveal my password to anyone. How can we acheive this. Can I d

  • Unable to perform hiring for russian employees

    Hi I'm Unable to perform hiring for russian employees and the problem i'm getting is after performing the action infotype screens control is not going to other infotype screen and simply exiting to pa40 screen. Pls suggest me where is wrong. Regards,