ODI 10G Using ODI sequences row by row

Hi everyone,
I have source as FILE system(All_files.txt) it has just one column :example1.txt,example2.txt etc..
My source table like this:
FLAT_FILE(FILE):
FILE_NAME String(100)
TARGET(Oracle)----->HR.TMP_ALL_FILES
FILE_NAME(:FILE_NAME(VARCHAR2 100))
LOAD_ID(NUMBER)-->ODI_SEQ_NEXTVAL
CRE_DT(SYSDATE)
Now I am using odi seq is called ODI_SEQ that I mapped into LOAD_ID.But I want to get row by row sequences like:1,2,3,4.....
My target must be like this:
example1.txt 1 sysdate
example2.txt 2 sysdate
example3.txt 3 sydate.
How Can ı get row by row using ODI sequence?
Edited by: aetl on Dec 17, 2012 12:30 AM

Hi aetl,
I might be wrong but I think that if you use a set-based IKM (like IKM SQL Control Append), the value will only change for the next set.
You can use an Oracle Sequence instead, this will change row-by-row.
Regards,
JeromeFr

Similar Messages

  • Query  Regarding Updation/Migration of ODI 10g To ODI 11g.

    Hi All,
    Currently I am using ODI 10g Version & Repositories ( Work & Master) have been installed on Oracle database version "Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi"
    We are thinking to migrate from ODI 10g to ODI 11g Version 11.1.1.5 & i have some queries which are metioned below.
    1. Can we install ODI 11g Version 11.1.1.5 version with Repositories ( Work & Master) on Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi" or do i need to upgrade my database version to 11G?.
    2. If yes then, Can i upgrade or use exting Repositoires ( 10g one) for ODI 11g OR i have to create new Repositoires & move/migrate the objects of 10G repositories as mentioned in the Oracle installation doc.
    3. Currently I am using OBIEE 10g for reposrting purpose & if i switch to ODI 11g , Do i need to use OBIEE 11g?
    ODI gurus, I need your reponse ASAP & i have to share it on urgent basis.
    Thanks
    Edited by: neeraj_singh on May 15, 2013 9:58 PM

    neeraj_singh wrote:
    Hi All,
    Currently I am using ODI 10g Version & Repositories ( Work & Master) have been installed on Oracle database version "Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi"
    We are thinking to migrate from ODI 10g to ODI 11g Version 11.1.1.5 & i have some queries which are metioned below.
    1. Can we install ODI 11g Version 11.1.1.5 version with Repositories ( Work & Master) on Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi" or do i need to upgrade my database version to 11G?.You can install ODI 11.1.1.5 but you have to upgrade your repositories using upgrade assistant
    refer http://docs.oracle.com/cd/E23943_01/upgrade.1111/e12642/tasklist.htm#CIHGIDFG
    2. If yes then, Can i upgrade or use exting Repositoires ( 10g one) for ODI 11g OR i have to create new Repositoires & move/migrate the objects of 10G repositories as mentioned in the Oracle installation doc.No need to create new repositories. You just upgrade them. But you need to takecare of certain things as you are a 10g user. Refer below link for the prerequisite
    http://docs.oracle.com/cd/E23943_01/upgrade.1111/e12642/prevusers.htm
    3. Currently I am using OBIEE 10g for reposrting purpose & if i switch to ODI 11g , Do i need to use OBIEE 11g?Not clear about the question ?
    >
    ODI gurus, I need your reponse ASAP & i have to share it on urgent basis.
    Thanks
    Edited by: neeraj_singh on May 15, 2013 9:58 PM

  • Problem when exporting and importing project from odi 10g to odi 11g

    Hi,
    I want to migrate my project from odi 10g to odi 11g.
    But when i am importing the interface then it is giving the error of mising references .
    I have exported the project(without its child component),models
    (including my datastore),KM's,folder (without its child component),packages(with child components),interaces(with child components),procedures(with child components),variables from odi 10g.
    After exporting all these objects i imported all the objects with import type set as "Synonym mode insert" into odi 11g but when i imported the interface it is giving the error of missing references.
    Source technolgy is Oracle and target technolgy is Postgres.
    Topologies have been made in the ODI 11g same as in ODI 10g.
    Please help.

    You dont need to migrate the complete repository. You can migrate a project at a time into ODI 11.1.1.5.x
    You have to be careful while importing. You have to follow a sequence when importing.
    Empty Project -> KMs -> Models (with DB Stores) -> Variable -> Empty Folders -> Interfaces -> Procedures -> Packages ---- All in SYNONYM mode insert (no exceptions)
    And your repository id in 11g MUST be different from the one in 10g.

  • How to assign a value to ODI Variable using ODI Procedure

    Hi ,
    Is it possible to assign a value to a ODI Variable using ODI Procedure ?
    If it is possible how we can do that.
    BEGIN
    IF #Counter=1
    Then
    #Next_Increment:=#Counter+1;
    End if;
    END;
    In my example I have 2 ODI Variables #counter and #Next_increment.
    I am trying to assign VALUE TO A ODI VARIABLE #next_increment from another ODI Variable #counter.
    thanks
    prasanna

    Prasanna,
    I have a similar requirement where I need to assign values to ODI variables within a procedure. How do we make use of an ODI package to accomplish this ?
    Actually, I have a sequence of ODI steps, and there is a call to a procedure 'LOG ERROR' from every step which gets called in case error occurs in any step. I just need to identify from which step the error came.
    Please help.

  • Generating a Primary Key WITHOUT using a Sequence Number

    Hi Everyone:
    I am trying to generate a primary key without using a sequence number or row count. What the user wants is the maximum value of the highest primary key already in the row set plus 1.
    For example, this is a Oracle Table (eg. named BatchSubmit) used to initiate batch job submission, and the primary key is an integer named "Runcard_Number". If there are 4 rows in this table and the Runcard_Numbers are 2, 6, 8 & 12, then the next generated Runcard_Number would be 13.
    I have looked throughout this forum and see how to generate numbers using a DBSequence, but the user does not want that. The numbers mean something to them, and they don't want them randomly assigned other than the max in the rowset plus 1. To do it in SQL it would be - select max(Runcard_Number) + 1 from BatchSubmit;
    I have been looking at using a hasnext loop and moving the maximum value to the new Runcard_Number, but I am very new to JHeadstart/JDev and I do not know where to put this. I am assuming the BatchSubmitImpl.java, but I'm not sure where to put it or which method to utilize
    I would appreciate any assistance.
    Mary
    U o Windsor

    Mary you're in luck, 'cause, I've been playing with the same thing, these days and found that..
    You can do that in two ways (that I know):
    - by calling a stored function that does max+1 (you can look it up in Dev's guide for Forms&4GLDevs 10g chapter 25.5 Invoking Stored Procedures and Functions)
    - by calling hardcoded or dinamicaly written statement, that does the same
    public Number callStatement(String stmt)
    Number id = new Number(0);
    Row idRow = getDBTransaction().createViewObjectFromQueryStmt(stmt).next();
    if(idRow != null)
    Object o = idRow.getAttribute(0);
    if(o != null)
    if(o instanceof Number)
    id = (Number)o;
    else
    throw new JboException("Conversion error!");
    return id;
    You should call it in
    protected void doDML(int operation, TransactionEvent transactionEvent)
    switch (operation)
    case DML_INSERT:
    // call here
    super.doDML(operation, transactionEvent);
    break;
    case DML_UPDATE:
    super.doDML(operation, transactionEvent);
    break;
    case DML_DELETE:
    super.doDML(operation, transactionEvent);
    break;
    Enjoy!
    S. Julijan

  • ODI 10g delete conditional row Using KM

    Hi I will add new step to ODI 10g IKM control append
    I want to delete from target some columns where is being on source.I will capture updating or new rows then I will delete this rows from target according to UK of Target end of this I will insert.I wrote new step like this:I selected UK rows on target
    delete from <%=odiRef.getTable("L","TARG_NAME","A")%> T WHERE (<%=odiRef.getTargetColList("", "[COL_NAME]", ", ", "\n", "UK")%> )
    IN
    SELECT ---Which method can ı use here?
    FROM <%=odiRef.getFrom()%>
    WHERE (1=1) AND
    <%=snpRef.getJoin()%>
    <%=snpRef.getFilter()%>
    <%=snpRef.getJrnFilter()%>
    <%=snpRef.getGrpBy()%>
    <%=snpRef.getHaving()%>
    /*commit*/
    I have two source S1 and S2
    For example my target table is like this:
    Target
    Asset_id(UK)---it comes from source table. S1.ROW_ID--->T.ASSET_ID
    root_asset_id(UK)it comes from source table of S2.PROD_ID-->T.ROOt_ASSET_ID
    cre_dt(NOT UK)
    etc
    Now I want to compare like this :
    Delete from target T where (T.ASSET_ID,T.ROOT_ASSET _ID) IN
    (SELECT S1.ROW_ID,S2.PROD_ID
    FROM SOURCE S1 SOURCE S2)
    How can I modify ?
    Could anyone help me?
    Best Regards,
    Thanks

    Tell me if I'm wrong : you want to delete in Target the data that are in source.
    And insert only source records that were not in your target.
    And keep in target data that are not in source.
    If so, you can do it like this :
    1) Use a copy of "IKM incremental update".
    Edit the step "flag row for update"
    Rename it to "flag row for delete"
    update     <%=snpRef.getTable("L", "INT_NAME", "W")%>
    set     IND_UPDATE = 'D'
    where     (<%=snpRef.getColList("","[COL_NAME]", ", ", "", "(UK)")%>)
         in (
         select     <%=snpRef.getColList("","[COL_NAME]", ", ", "", "(UK)")%>
         from     <%=snpRef.getTable("L", "TARG_NAME", "A")%>
    ==> each row of your I$ table that ARE in your target table are now flagged as "D" for "deleted".
    it means that each row of your target table that are in source will be flagged as D in your I$ table.
    2) Then create a new step "delete row in target" like this :
    delete from <%=snpRef.getTable("L","TARG_NAME","A")%> T
    where (<%=snpRef.getColList("", "\tT.[COL_NAME]", ",", "", "UK")%>) IN      
    (     select <%=snpRef.getColList("", "\t\tS.[COL_NAME]", ",\n", "", "UK")%>
         from <%=snpRef.getTable("L", "INT_NAME", "W")%> S
         where IND_UPDATE = 'D'
    ==> each row flagged as D will be deleted in the target table

  • How to use ODI sequences ??

    I have an interface which need an ODI sequence.
    When I execute it the value of the sequence is always the same.
    I have seen on another thread that it may pass by an agent but...
    I have 2 tables (source and target) from the same connexion which don't and won't have agent.
    How can I do ??
    My connexion is on an Oracle 10g RDBMS and I'm using an IKM SQL Control Append.
    This is not the first time I have problem with the ODI Sequence but this time I can't create an RDBMS one ...
    Thanks in advance,
    BM

    Hi guys,
    I have some questions, I am trying to create a dimension and it should use a sequence, but I am getting the same issue as you guys. I can't not generate a unique key because my sequence is the same value for all rows.
    So if I really understood there are two ways to use a sequence in ODI. One is using ODI sequence (creating it inside ODI) and other is using a RDBMS sequence.
    First: What I have to do to use a RDBMS sequence? (Step by step please)
    Second: I can't use an IKM SQL to SQL append in my interface. This interface is pretty simple - source is a flat file target is an Oracle table, I just need to move all flat files columns to Oracle table adding a sequence. I understood that my Staging area should be different than my Target area based on posts above. I already created a new datastore to be my new staging area, but I don't know how to make an association between interface and new stage area.
    Can you please provide me the easiest solution?
    Thanks
    Leo

  • How to Comapare Row by Row in ODI Interface

    Hi all
    i want to Compare Record by Record from my Source Table.
    Can any one Explain Logic How can i do through ODI Interface?

    If you want row by row processing (rather than set based) then look at using Knowledge Modules that implicitly use a cursor via the agent to load the staging table (e.g LKM SQL to SQL) or a KM that explicitly uses a cursor to load the target table (e.g IKM Incremental updata row by row).
    It wont be as fast as set based though!
    What do you want to do with each row? Can you load them all into the staging area and then process row by row?

  • 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

  • ODI 10g - session keep a table locked

    Hi,
    We have a random issue, with ODI session that keep a lock on a table, even replication is finished and session becomes inactive
    It generated dead locks as a trigger has to update the target table.
    what happened :
    - user application create rows (13)
    - ODI scenario replicate the rows (contract table)
    - 2nd scenario based on same source with another sunscriber run a stored procedure to create records in another table (around 30, positions table)
    this 2nd locked the target table, and when the run of the procedure finished, and commited, the lock was not released
    - ODI replicate another table (price) 30mn later, a trigger on target update position table with new values
    ---> trigger failed with deadlock (ora 60)
    ---> ODI failed as the trigger raised back the error
    this issue happened after 10 hours of same activity without issue, chained lot of time, but suddenly the lock become persistent (more than 4 hours)
    what can I do?
    use ODI 10g 10.1.3.5.0 - RDBMS 10.2.0.4

    Hi !
    For small tables wich are mostly accessed with full table scan you can use
    ALTER TABLE <table_name> STORAGE (BUFFER_POOL KEEP);KEEP pool should be properly sized , setting will cause once the table is read oracle will avoid flushing it out from pool.
    T

  • XML/XSD question (using ODI)

    Hi all.
    I have posted this in the ODI forum as well, but this may be a more proper place to ask for help.
    I'm working on a new dwh solution where the main source of data will come from XML-files. The problem is that we are having difficulties with the use of abstract types in the xsd-file. We currently use ODI to read the XML-files and to store the data in our database, but all fields from the XML-files are not visible in the target tables.
    The problem can be simplified like this example:
    We have a main element, testElement, which can contain one or more publications.
    Publication is of type PublicationType, and PublicationType is an abstract that contains title, author and date.
    We have four other types which extends PublicationType; BookType, MagazineType, NewspaperType and AdsType. They all contain additional fields.
    XSD-file
    <?xml version="1.0" encoding="UTF-8"?>
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
    targetNamespace="urn:testing:kontroll:example:oppgave:v1"
    xmlns:tns="urn:testing:kontroll:example:oppgave:v1"
    xmlns:xdb="http://xmlns.oracle.com/xdb"
    elementFormDefault="qualified">
    <element name="testElement" type="tns:TestElementType" xdb:defaultTable="TEST_TAB" />
    <complexType name="TestElementType">
    <sequence>
    <element name="publication" type="tns:PublicationType" minOccurs="1"
    maxOccurs="unbounded" />
    </sequence>
    </complexType>
    <complexType name="PublicationType" abstract="true">
    <sequence>
    <element name="title" type="string"/>
    <element name="author" type="string" minOccurs="0"
    maxOccurs="unbounded" />
    <element name="date" type="string"/>
    </sequence>
    </complexType>
    <complexType name="BookType">
    <complexContent>
    <extension base="tns:PublicationType">
    <sequence>
    <element name="ISBN" type="string"/>
    <element name="publisher" type="string"/>
    </sequence>
    </extension>
    </complexContent>
    </complexType>
    <complexType name="MagazineType">
    <complexContent>
    <extension base="tns:PublicationType">
    <sequence>
    <element name="editor" type="string"/>
    <element name="period" type="string" minOccurs="0"
    maxOccurs="1"/>
    </sequence>
    </extension>
    </complexContent>
    </complexType>
    <complexType name="NewspaperType">
    <complexContent>
    <extension base="tns:PublicationType">
    <sequence>
    <element name="daily" type="boolean"/>
    <element name="owner" type="string" minOccurs="0"
    maxOccurs="1"/>
    </sequence>
    </extension>
    </complexContent>
    </complexType>
    <complexType name="AdsType">
    <complexContent>
    <extension base="tns:PublicationType">
    <sequence>
    <element name="company" type="string"/>
    <element name="article" type="string" />
    </sequence>
    </extension>
    </complexContent>
    </complexType>
    </schema>
    XML-file
    <?xml version="1.0" encoding="UTF-8"?>
    <tns:testElement xmlns:tns="urn:testing:kontroll:example:oppgave:v1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:testing:kontroll:example:oppgave:v1 ExampleXMLSchema.xsd ">
    <tns:publication xsi:type="tns:BookType">
    <tns:title>Boken</tns:title>
    <tns:author>Arne Svendsen</tns:author>
    <tns:date>2001</tns:date>
    <tns:ISBN>78979797</tns:ISBN>
    <tns:publisher>The Company Ltd</tns:publisher>
    </tns:publication>
    <tns:publication xsi:type="tns:MagazineType">
    <tns:title>Fancy Magazine</tns:title>
    <tns:author>Mads Madsen</tns:author>
    <tns:date>2011</tns:date>
    <tns:editor>Svante Svantesen</tns:editor>
    <tns:period>weekly</tns:period>
    </tns:publication>
    </tns:testElement>
    When tables are generated in the database through ODI I'm not getting all the attributes present in the xml-file.
    Can anybody tell me if this should work (and, if yes, why it doesn`t)? Or if the XSD/XML looks wrong in some way?
    Is this a known limitation in Oracle or ODI etc.?
    Any pointers to documentation describing similar problems would also be helpful.
    Thanks,
    Bjørn

    Hi, Bjørn,
    When tables are generated in the database through ODI I'm not getting all the attributes present in the xml-file.I don't know ODI, so I'm just curious here : what tables are generated? Is there one table per extented type (+ child tables for repeating elements), or just one Publication table with missing columns?
    I've looked at the other thread you mentioned on the ODI forum, and saw that you'd also want to store XML files in an XMLType table.
    I tested the schema registration in the database to see how Oracle reacts to the structure, and it looks OK, type extensions are supported.
    SQL> begin
      2   dbms_xmlschema.registerSchema(
      3     schemaURL => 'ExampleXMLSchema.xsd'
      4   , schemaDoc => bfilename('TEST_DIR', 'ExampleXMLSchema.xsd')
      5   , local => true
      6   , genTypes => true
      7   , genTables => true
      8   , enableHierarchy => dbms_xmlschema.ENABLE_HIERARCHY_NONE
      9   );
    10  end;
    11  /
    PL/SQL procedure successfully completed
    SQL> insert into test_tab
      2  values (xmltype('<?xml version="1.0" encoding="UTF-8"?>
      3  <tns:testElement xmlns:tns="urn:testing:kontroll:example:oppgave:v1"
      4                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      5                   xsi:schemaLocation="urn:testing:kontroll:example:oppgave:v1 ExampleXMLSchema.xsd ">
      6    <tns:publication xsi:type="tns:BookType">
      7      <tns:title>Boken</tns:title>
      8      <tns:author>Arne Svendsen</tns:author>
      9      <tns:date>2001</tns:date>
    10      <tns:ISBN>78979797</tns:ISBN>
    11      <tns:publisher>The Company Ltd</tns:publisher>
    12    </tns:publication>
    13    <tns:publication xsi:type="tns:MagazineType">
    14      <tns:title>Fancy Magazine</tns:title>
    15      <tns:author>Mads Madsen</tns:author>
    16      <tns:author>Arne Svendsen</tns:author>
    17      <tns:date>2011</tns:date>
    18      <tns:editor>Svante Svantesen</tns:editor>
    19      <tns:period>weekly</tns:period>
    20    </tns:publication>
    21  </tns:testElement>'))
    22  ;
    1 row inserted
    Querying as relational data :
    SQL> select x.*
      2  from test_tab t
      3     , xmltable(xmlnamespaces(default 'urn:testing:kontroll:example:oppgave:v1'),
      4       'for $i in /testElement/publication
      5        return element r {
      6          $i/child::*
      7        , element pubtype {
      8            typeswitch($i)
      9              case element(publication, BookType)      return "Book"
    10              case element(publication, MagazineType)  return "Magazine"
    11              case element(publication, AdsType)       return "Ads"
    12              case element(publication, NewspaperType) return "Newspaper"
    13              default return "Publication"
    14          }
    15        }'
    16       passing t.object_value
    17       columns title   varchar2(500) path 'title'
    18             , authors varchar2(500) path 'string-join(author,",")'
    19             , pubdate number(4)     path 'date'
    20             , isbn    number(13)    path 'ISBN'
    21             , editor  varchar2(500) path 'editor'
    22             , period  varchar2(500) path 'period'
    23             , pubtype varchar2(30)  path 'pubtype'
    24       ) x
    25  ;
    TITLE                 AUTHORS                        PUBDATE           ISBN EDITOR                PERIOD      PUBTYPE
    Boken                 Arne Svendsen                     2001       78979797                                   Book
    Fancy Magazine        Mads Madsen,Arne Svendsen         2011                Svante Svantesen      weekly      Magazine

  • Oracle ODI 10g- Package-Internet-Send Email Functionality

    Hi ,
    I have created a scenario for the package and successfully executed it the ODI 10g developer.
    Here, I have need a clarification if,
    1) We can trigger out an email with the exception occured in between the execution of the scenario.
    2) Upon successful completion of the scenerio, can we send an email with email body as "total number of count of rows Inserted/Updated/Deleted".
    3) What are the extra features available wrt the above two points.
    Please let me know if any one has any updates on the points mentioned.
    Regards,
    Kamalesh.

    864083 wrote:
    Hi ,
    I have created a scenario for the package and successfully executed it the ODI 10g developer.
    Here, I have need a clarification if,
    1) We can trigger out an email with the exception occured in between the execution of the scenario.Yes you can ... for this put an email activity after the senario with KO . and use getPrevStepLog() Method to get the exception .
    2) Upon successful completion of the scenerio, can we send an email with email body as "total number of count of rows Inserted/Updated/Deleted".same as no 1. use getPrevStepLog() Method to get the execution result .
    3) What are the extra features available wrt the above two points.
    Please let me know if any one has any updates on the points mentioned.http://gerardnico.com/doc/odi/webhelp/en/ref_api/getprevsteplog.htm
    Regards,
    Kamalesh.

  • Unable to load data to Hyperion planning application using odi

    Hi All,
    When I try to load data into planning using odi, the odi process completes successfully with the following status in the operator ReportStatistics as shown below but the data doesn't seem to appear in the planning data form or essbase
    can anyone please help
    org.apache.bsf.BSFException: exception from Jython:
    Traceback (most recent call last):
    File "<string>", line 2, in <module>
    Planning Writer Load Summary:
         Number of rows successfully processed: 20
         Number of rows rejected: 0
    source is oracle database
    target account dimension
    LKM SQL TO SQL
    IKM SQL TO HYPERION PLANNING is used
    In Target the following columns were mapped
    Account(load dimension)
    Data load cube name
    driverdimensionmetadata
    Point of view
    LOG FILE
    2012-08-27 09:46:43,214 INFO [SimpleAsyncTaskExecutor-3]: Oracle Data Integrator Adapter for Hyperion Planning
    2012-08-27 09:46:43,214 INFO [SimpleAsyncTaskExecutor-3]: Connecting to planning application [OPAPP] on [mcg-b055]:[11333] using username [admin].
    2012-08-27 09:46:43,277 INFO [SimpleAsyncTaskExecutor-3]: Successfully connected to the planning application.
    2012-08-27 09:46:43,277 INFO [SimpleAsyncTaskExecutor-3]: The load options for the planning load are
         Dimension Name: Account Sort Parent Child : false
         Load Order By Input : false
         Refresh Database : false
    2012-08-27 09:46:43,339 INFO [SimpleAsyncTaskExecutor-3]: Begining the load process.
    2012-08-27 09:46:43,355 DEBUG [SimpleAsyncTaskExecutor-3]: Number of columns in the source result set does not match the number of planning target columns.
    2012-08-27 09:46:43,371 INFO [SimpleAsyncTaskExecutor-3]: Load type is [Load dimension member].
    2012-08-27 09:46:43,996 INFO [SimpleAsyncTaskExecutor-3]: Load process completed.

    Do any members exist in the account dimension before the load? if not can you try adding one member manually then trying the load again.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Error during dimension load in planning using ODI adapter

    I have created a Planning app in Classic and used ODI Planning adapter to load the dimension from a csv file. I tried this with Account and Entity dimension. Both fail at the same step. This is the error I get.
    Error:
    -22 : S0002 : java.sql.SQLException: Table not found: C$_0Entity in statement
    java.sql.SQLException: Table not found: C$_0Entity in statement
    at org.hsqldb.jdbc.jdbcUtil.throwError(Unknown Source)
    at or
    -22 : S0002 : java.sql.SQLException: Table not found: C$_0Account in statement
    java.sql.SQLException: Table not found: C$_0Account in statement
    I am following John Goodwin's blog and not sure if I am missing a step. I would appreciate any help with this.
    Thanks

    Thank you John for your respone. Here are the details:
    Step 1 - Loading -SS_0 - Drop work table - It is failing in this step with the following message:
    -22 : S0002 : java.sql.SQLException: Table not found: C$_0Account in statement [drop table "C$_0Account"]
    java.sql.SQLException: Table not found: C$_0Account in statement [drop table "C$_0Account"]
    Step 2, 3, 5 and 6 are successful
    Step 7 - Integration - Interface name - Report Statistics - This fails with the following error:
    org.apache.bsf.BSFException: exception from Jython:
    Traceback (innermost last):
    File "<string>", line 2, in ?
    Planning Writer Load Summary:
         Number of rows successfully processed: 0
         Number of rows rejected: 8
         at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
         at com.sunopsis.dwg.codeinterpretor.k.a(Unknown Source)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(Unknown Source)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(Unknown Source)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(Unknown Source)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(Unknown Source)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSqlI.treatTaskTrt(Unknown Source)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(Unknown Source)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(Unknown Source)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(Unknown Source)
         at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(Unknown Source)
         at com.sunopsis.dwg.cmd.DwgCommandBase.execute(Unknown Source)
         at com.sunopsis.dwg.cmd.e.i(Unknown Source)
         at com.sunopsis.dwg.cmd.h.y(Unknown Source)
         at com.sunopsis.dwg.cmd.e.run(Unknown Source)
         at java.lang.Thread.run(Thread.java:595)
    I have checked the check box "Staging Area different from Traget" and selected "Sunopsis Memory Engine"
    I would appreciate your help - Thanks

  • How to read I$ table using ODI procedure

    Hi
    Can any one help me how to drop a I$ table from out sie of interface.
    I have tried below approches but no luck
    I have created ODI procedure with technology oracle and target logical schema (I$ tables are creating on target DB) with and with out begin and end;
    Approch 1:
    Given below code in ODi procedure
    drop table <%=odiRef.getTable("L", "INT_NAME", "W")%> <% if (new Integer(odiRef.getOption( "COMPATIBLE" )).intValue() >= 10 ) { out.print( "purge" ); }; %>
    Approch 2:
    drop table I$_<%=odiRef.getTable("L", "TARG_NAME", "A") %>;
    Approch 3:
    drop table <%=odiRef.getTable("L", "INT_NAME", "W")%> (but it is fetching target dtabase schema anme not I$ table)
    Please help me any other alternative way to drop a I$ table, more over this code should be unique for all interface
    Regards,
    Phanikanth

    Thanks bhabani,
    Actaul my requirement is some time my scenario is stoping due some issue at Merge Rows Step (I am using IKM Oracle Incremental Update(Merge) KM) when the next iteration starts it is thwoing and error at create flow table I$ step and error is table name is already exists, so i am doing is if the interface went failed I am storing those information in one table using ODI procedure (INF--ko-->ODI procedure) in same ODI procedure I want to call a I$ table to drop.
    Can you please provide the steps so it will very useful for me using Java variable.
    I have gievn a step as below on create I$ table step (after create I$ statement)
    <@ java.lang.String Idollertable = <%=odiRef.getTable("L", "INT_NAME", "W")%> ; @>
    I am calling Idollertable variable in ODI procedure which is ko>* of INF as <@=Idollertable@>
    Note: I have followed below approch
    ODI Procedure Code:
    drop table <@=Idollertable@>; --> *2nd approch*
    begin
    insert into ODI_EXECUTION_ERROR_DETAILS
    (SESSION_NO,
    SCENARIO_NAME,
    CONTEXT_NAME,
    ERR_MESSAGE,
    INSERT_COUNT,
    ERROR_COUNT)
    values
    <%=snpRef.getSession("SESS_NO")%>,
    '<%=odiRef.getPrevStepLog("STEP_NAME")%>',
    '<%=odiRef.getContext( "CTX_NAME" )%>',
    '<%=odiRef.getPrevStepLog("MESSAGE")%>',
    '<%=odiRef.getPrevStepLog("INSERT_COUNT")%>',
    '<%=odiRef.getPrevStepLog("ERROR_COUNT")%>'
    commit;
    drop table <@=Idollertable@>; --> * first approch *
    end;
    Please help me
    Regards,
    Phanikanth
    Edited by: Phanikanth on Mar 3, 2013 9:52 PM
    Edited by: Phanikanth on Mar 3, 2013 9:52 PM

Maybe you are looking for