Question on ODI Model.

HI All,
I am using ODI 11.6.
I have a Data file which is Fixed width.
There is a confusion over a “EMAIL” column
In data file the position of OTHER_INFO overlaps the position of EMAIL value.
The value in EMAIL is capture in OTHER_INFO too.
PA_FLAG POSITION(448:448) CHAR,
EMAIL POSITION(489:499) CHAR,
OTHER_INFO POSITION(451:674) CHAR,
SCENE_ID POSITION(501:516) CHAR
EMAIL POSITION(489:499) CHAR,
OTHER_INFO POSITION(451:674) CHAR,
Please let us know how to implement this in Model.
Thanks,
Lony

lony wrote:
Yes Sutirtha,always we are getting Fixed files.But in this particular case this is Overlap.
Need to know what kind of coding/steps we need to process to overlap files.Do you have a PK on the data in the file? If you do, treat the file as seperate datastores on the same file to get around the overlap, process each datastore as required (1st datastore is loaded, 2nd datestore is 'updated' onto the row from the 1st datastore).
Or get the jython book out and build something to clean the file pre -load as suggested.

Similar Messages

  • Basic questions on data modeling

    Hi experts,
    I have some basic questions regarding data modeling within MDM. I understand the available table types and the concept of lookup fields. I know that the MDM data modeling concept is different to the relational concept. But having a strong database background my first step was to design a relational data model which I would like to transfer to a MDM repository. Unfortunately I didn't found good information material on this. So here are some questions maybe you can help me:
    1) Is it the right approach to model n:m relationships with multivalued lookup fields? E.g. main table Users with lookup field from subtable SapAccounts (a user can have accounts in different SAP systems, that means more than one account).
    2) Has a record always be unique in MDM repositories (e.g. should we use Auto ID's in every table or do we have to mark a combination of fields as unique)? Is a composite key of 2 or more fields represented with marking these fields as unique?
    3) The concept of relationships in MDM is only based on relationships between single records (not valid for all records in a table)? Is it necessary to define all relationships similar to the relational data model in MDM? Is there something similar to referential integrity in MDM?
    4) Is it possible to change the main table to a sub table later on if we realize that it has also to be used as a lookup table for another table (when extending the data model) or do we have to create a new repository from scratch?
    Thank you for your answers.
    Regards, bd

    Yes you are correct. It is almost difficult to map relational database to mdm one. But again MDM is not 'just' a database. It holds much more 'master' information as compared to any relational db.
    1) Is it the right approach to model n:m relationships with multivalued lookup fields? E.g. main table Users with lookup field from subtable SapAccounts (a user can have accounts in different SAP systems, that means more than one account).
    Yes Here you need to use MV look up tables or can also try Qualifier tables if it gets more complex
    2) Has a record always be unique in MDM repositories (e.g. should we use Auto ID's in every table or do we have to mark a combination of fields as unique)? Is a composite key of 2 or more fields represented with marking these fields as unique?
    Concept of uniqueness differs here that you also have something called Display Fields (DF). A combination of DF can also be treated as Unique one. For instance while importing records if you select these DF as a combination, you will eliminate any possible of duplicates based on this combination. Auto Id is one of the ways to have a unique id once record is within MDM. While you use UF or DF to eliminate any possible duplicates at import level
    3) The concept of relationships in MDM is only based on relationships between single records (not valid for all records in a table)? Is it necessary to define all relationships similar to the relational data model in MDM? Is there something similar to referential integrity in MDM?
    Hmm... good one. Referencial Integrity. What I assume you are talking is that if you have relationships between tables then removing a record will not be possible as it is a foreign key for some record. Here MDM does not allow that. As Relationships within MDM are physical and not conceptual. For instance material can have components. Now if material does not exist then any relationship to components is not worthwile to maintain. Hence relationshsip is eliminated.  While in relational model relationships are more conceptual. Hence with MDM usage of lookups and main table you do not need to maintain these kind of relationships on your own.
    4) Is it possible to change the main table to a sub table later on if we realize that it has also to be used as a lookup table for another table (when extending the data model) or do we have to create a new repository from scratch?
    No. It is not possible to convert main table. There is only one main table and it cannot be changed.
    I went for the same option but it did not work. What I suggest is to look up your legacy system one by one and see what fields in general can be classified as Master, Reference, Transactional - You will start getting answers immediately.

  • Table changes in database are not captured in ODI model level

    Hi All,
    Can any one help me how to fix the bug in ODI.
    Table changes in database are not captured in ODI model level.
    Thanks in advance

    I created the interface which is running successfully.
    Now i did some changes in target table(data base level).
    I reversed the updated table in model section. Till here its ok
    The table which is updated in the model section is not automatically updated in the interface.
    I have to drop the existed datastore in the interface and and re do the entire process of bringing the updated datastore, mapping,etc..
    Please tell the any alternate way.
    Regards
    suresh

  • How to delete/mark obsolete database objects from ODI model?

    Hi,
    ODI never deletes objects while reverse engineering.
    So is it way to automate deletion or marking obsolete database objects (dropped or renamed fields, constraints) from an ODI model?
    Does someone use ODI Java API (http://download.oracle.com/docs/cd/E14571_01/apirefs.1111/e17060/overview-tree.html) or direct updating SNP_% repository tables to do it?

    I can help you with marking obsolete database objects.
    In the model, there is an option "Display the metadata changes in the Model Tree". Check this.
    This will show you what has changed or is obsolete.

  • Questions about ODI Agent

    Being new to ODI, I have some simple questions.
    ODI server is installed on Windows-2008 machine. Its repository is on MS-SQL-Server database which is also on a Windows-2008 machine.
    A non-ODI process is creating files on a Unix server, which needs to be picked up by ODI and loaded into a MS-SQL-Server table.
    *(Q 1):* Do we need to install ODI Agent on Unix, so that ODI can "see" the unix files? OR is there another simpler way??
    *(Q 2):* Is there an Oracle link about installing ODI11g Agent on Unix? I only see documents talking about installing ODI Agent on Windows.
    *(Q 3):* What minimum ODI components need to be installed on Unix, so that ODI Agent runs on Unix?

    Nasar Ali-Khan wrote:
    Being new to ODI, I have some simple questions.
    ODI server is installed on Windows-2008 machine. Its repository is on MS-SQL-Server database which is also on a Windows-2008 machine.
    A non-ODI process is creating files on a Unix server, which needs to be picked up by ODI and loaded into a MS-SQL-Server table.
    *(Q 1):* Do we need to install ODI Agent on Unix, so that ODI can "see" the unix files? OR is there another simpler way??
    You need to install ODI agent on Unix or go for accessing UNIX file from WINDOWS application eg Samba
    *(Q 2):* Is there an Oracle link about installing ODI11g Agent on Unix? I only see documents talking about installing ODI Agent on Windows.
    The Agent installation process is basically same
    *(Q 3):* What minimum ODI components need to be installed on Unix, so that ODI Agent runs on Unix?Go for AGENT only installation
    Thanks,
    Sutirtha

  • Create target table using ODI model

    Hi all,
    I am new to ODI. I am trying export RDBMS table to RDBMS table from source to target.
    whether we need to create target table structure in trg schema or we can create using obi trg model by selecting new datastore.
    In owb while loading target tables are created and data will be loaded.
    Pls help me regarding this.
    thanks in advance.

    Hi
    You can create it in both ways.if you create datastore by using ODI you must select create target table option in flow while loading to target.

  • A question about conversion model.

    I'm programming a JSF-based forum. See the code below:
    <jsp:useBean id="CommentBean" class="net.gleamynode.notes.http.faces.CommentBean" scope="request" />
    <jsp:setProperty name="CommentBean" property="pageId" value="${p.id}"/>
    <h:form id="commmentForm" formName="commentForm" >
    <h:input_hidden id="pageId" valueRef="CommentBean.pageId"/>
    <h:input_text id="userName" valueRef="CommentBean.userName"/>
    <h:input_text id="userEmail" valueRef="CommentBean.userEmail"/>
    <h:input_text id="userURL" valueRef="CommentBean.userURL"/>
    <h:input_textarea id="content" valueRef="CommentBean.content"/>
    <h:command_button id="submit" label="Leave a comment" commandName="submit" actionRef="CommentBean.createAction" />
    </h:form>
    The type of CommentBean.pageId property is 'java.lang.Integer'. It seems JSF does not convert the request parameter 'pageId' (whose type is String) properly. CommentBean.pageId is always set to '0'.
    The strange fact is that it works if I use input_number instead of input_hidden! It is clear that the conversion model is applied differently for different component types. (Sorry, I did'nt have much time to read every chapter of the spec. ;)
    Is there anyone who experienced the same problem?
    PS: btw, the first two line in the code above looks very unnatural because we specified the name of the bean class and scope already in faces-config.xml. Is there any way to do the same job without using jsp:useBean and jsp:setProperty? (please note ${p} is not a managed bean. it is just a dynamically declared bean in page scope.)

    Hi,
    yes, it seems, that input_hidden field accepts only String attributes.
    But this (maybe) will be changed in next releases so no conversion should be necessary.
    See, what Craig said about a similar case, which I think includes your question: http://forum.java.sun.com/thread.jsp?forum=427&thread=443816&message=2011411#2011411
    Greetings,
    Rene

  • Question on Component Model

    Dear Experts ,
    In an interview i faced a question, it is
    what is advantage public part for a component ?  if we  can use the visibility options of objects in a DC to acess ?
    i read a  blog on component model  which states that complie time dependencies can be redused , please throw some light on this concept .
    thanks in advance,
    Phani

    Hi Phani,
    This question belongs to the [NWDI forum|SAP NetWeaver Development Infrastructure (NWDI);.
    Anyway, a public part allows you to expose an API (an interface if you like) of the component to other components. This will allow you to change internal logic of the methods and API you expose without having to change anything on the component that uses your public part.
    Complie time dependencies with a public part can be redused if it's access list states so.
    Hope it helps,
    Roy

  • Concept Question : Migrate SQL Models

    Hi Oracle SQL Data Modeler users.
    I have a question. How, if it at all, do you migrate a Database from Version 1 of the model to version 2?
    e.g. I've created the tutorial for a library. (Patrons; transactions; books).
    Now I've generated the DDL and imported it into Oracle (or any other database).
    Now I wish to change the model by adding an ISBN number and changing the domain of Person Name to 50 characters instead of 25.
    All of this is fine. But Oracle generates new DDL for complete new tables.
    How do I migrate the current data model from Version 1 to Version 2? Is this possible? How do other users manage this problem?
    i.e. if the solution is with DDL, I'm looking for alter table statements rather than create table statements
    Thanks
    Martin
    Edited by: mac24nz on Apr 11, 2011 3:07 AM

    Hi Martin,
    I suggest you look at these messages in the forum:
    Generate DDL - change is a new column and I want to generate a alter table
    Create 'alter tables ...' etc from Data Modeller
    David

  • How to force delete odi model

    we need to delet a model , but get error on Txt cross ref. When checking the SNP_Ref, it seems the cross ref is from the column itself . I have two questions:
    1. what my cause this, if someone import the model with duplicate option, will it cause cross ref?
    2. is there anyway to tell if the model was imported with insert/update or duplicate
    3. now that we don't need this model, how do I force delete it? it keesp on poping out txt crossref error.
    Many thanks.

    Hi,
    I guess, to delete the particular model you need to delete the corresponding interfaces where the data stores are used.
    Hope this helps
    Regards,
    Preet.

  • A question about table model

    I created a table model and use JTable to display content of a database's table with that model.
    The problem is: when I update a data to data1 in a cell (first column) and hightlight another cell (second column), all cells of first column change content to data1. What 's the problem with my table model?
    import java.util.Vector;
    import java.sql.*;
    import javax.swing.table.AbstractTableModel;
    public class CommonTableModel extends AbstractTableModel {
    String[] columnNames;
    Vector          rows, newRow;
    ResultSetMetaData metaData;
    private boolean editable;
    public CommonTableModel(ResultSet rs, boolean editable) {
    this.editable = editable;
    try {
    metaData = rs.getMetaData();
    int numberOfColumns = metaData.getColumnCount();
    columnNames = new String[numberOfColumns];
    for(int column = 0; column < numberOfColumns; column++) {
    columnNames[column] = metaData.getColumnName(column+1);
    rows = new Vector();
    newRow = new Vector();
    while (rs.next()) {
    for (int i = 1; i <= getColumnCount(); i++) {
         newRow.addElement(rs.getObject(i));
    rows.addElement(newRow);
    } catch (SQLException ex) { System.err.println(ex);}
    public int getColumnCount() { return columnNames.length; }
    public int getRowCount() { return rows.size();}
    public String getColumnName(int column) { return columnNames[column];}
    public Object getValueAt(int row, int column) {
         newRow = (Vector)rows.elementAt(row);
         return newRow.elementAt(column);
    public Class getColumnClass(int column) {
         return getValueAt(0, column).getClass();
    public boolean isCellEditable(int row, int column) {
         if (column == 0) { return false; }
         return editable;
    public void setValueAt(Object value, int row, int column) {
         newRow = (Vector)(rows.elementAt(row));
         newRow.setElementAt(value, column);
         fireTableCellUpdated(row, column);
    }

    Try this :
    rows = new Vector();
    //newRow = new Vector();
    while (rs.next()) {
        newRow = new Vector(); // it must be here
        for (int i = 1; i <= getColumnCount(); i++) {
            newRow.addElement(rs.getObject(i));
        rows.addElement(newRow);
    }Denis

  • Questions on BPM Modelling

    Dear BPM experts, I would like to raise few questions and get some guidance from experts working on OBPM for long time...
    1) We have a business process where data is received from external source and has to be evaluated before we could determine if a manual intervention is required to deal with the scenario. 70% of the time, there is no action required by the system.
    Hence my questions is, if at the start of a business process, data evaluations are to be done to determine if manual action would be required to handle the process, should that evaluation be done within OBPM or should that be done outside of OBPM?
    1a) If to be done within BPM, would it be done using a Global Automatic Activity?
    1b) If to be done outside BPM, why?
    2) We have another requirement where a task within a process must be handled by a different user that ealier assigned if specific instance data changes.
    Is it possible to reassign a task to a new user based on some business rule either using PAPI API or from within a process?
    3) Is it generally OK to query the status of a process instance and keep it in another application? If not, why?
    4) Is it generally OK to update / close a process instance from an external application? If not, why?
    5) How can an external application obtain a process instance id for JMS messages sent to be referenced later for update/delete the case? Or would that be better handled by exposing the process as synchronous web service.
    6) Is it generally OK to expose a BPM workspace to external users over internet? If not, why?
    7) Can BPM process handle escalations automatically using some in built feature or should they be designed as part of BPM process?
    Many thanks.

    Hi there,
    I am certainly not an expert, only started last month but lets hope I can be useful.
    2/ Install feature pack. Very easy to do that. You just select "exclude previous participant" and he wont be assigned the task.
    7/ When you generate the task form there is an "ACTIONS" menu. Amongst the choices there is "Escalate"
    Someone with more experience will have to help you through the rest.
    Regards,
    Yanis

  • 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

  • WebAPI question about Hierarchy modeling

    Hi all,
    I have come to a issue about Hierarchy modeling. I want to use WebAPI to drill down the query in the visual composer. And I have follow every steps mentioned in this PDF file
    </people/prakash.darji/blog/2006/08/24/overcome-limitations-around-using-bi-hierarchies-in-vc-by-using-ui-elements-from-wad
    Here is my webapi:
    'FILTER_NODE_IOBJNM=0COUNTRY;FILTER_VALUE='&@Country_key&';FILTER_COLLAPSE= ;FILTER_IOBJNM=0COUNTRY;
    CMD_1=CMD%3DDRILL_TO_LEVEL%26LEVEL%3D2%26IOBJNM%3D0COUNTRY%26DATA_PROVIDER%3DDP;'
    It's really same to the webapi in the PDF file except the different characteristic. and my model structrue is also the same as that one. And I has also confirmed the displaying hierarchy is checked in the query.
    The issue is that the "drill to level" part of the webapi works well, but the filter doesn't work. I have no idea why. Can anyone help me?
    Regards,
    Dicky

    Dicky,
    I struggled with this for 3 days, I understand your pain. After a deep investigation I found that my mapping was incorrect. Try this:
    1) Double click on DRILLDOWN connection between output and input ports
    2) Check if WEBAPI inputfield has the web api commands
    3) Make sure that none of the other input fields have values set. It usually happens that when you connect the output to the input port, similar (or like) variables are mapped automatically, for example in my case, I had Org_unit mapped to @Org_unit automatically. Delete such mappings. You should have only the WEBAPI input field with an assigned value.
    Hope this helps,
    Kiran

  • Question about ODI execution log

    Hi guys,
    I need to delete the result of the execution of a package I'm referring to get in a table if the scenario runs with status of warning, mistake or sucess. I can see the values in the operation.
    Do you know uin which table ODI stores this values?
    Thanks in advance.

    ORV wrote:
    Hi guys,
    I need to delete the result of the execution of a package I'm referring to get in a table if the scenario runs with status of warning, mistake or sucess. I can see the values in the operation.
    Do you know uin which table ODI stores this values?
    Look for SNP_SESSION
    SNP_STEP_LOG
    Thanks in advance.

Maybe you are looking for