ODI Interface + Logical Schema

Hello Gurus, could someone please tell me how an ODI interface is linked to a logical schema. I understand before execution, you have to select the context, which is tied to a Physical Schema. But I need to execute an interface for a particular logical schema. Any help is highly appreciated.
Thanks, Naveen.

Everything that you build in the designer (design time) is linked to a logical schema which references the logical model information of your datastores. Logical schemas are mapped to physical schemas based on a given context i.e. the ODI context you select at run time. Therefore at runtime based on the chosen conext the actual physical information i.e. file paths, database connection details etc are substituted for the logical references and generate the execution code.    

Similar Messages

  • ODI 11g Logical Schema Error [Error Code: 1222]

    Hi,
    One of my ODI Jobs is failing with an error "ODI-1222: Session start failure on agent Internal: logical schema BIAPPS_11g_RA cannot be found in the master repository."
    BIAPPS_11g_RA = Logical Schema in our System.
    However, all the other Jobs of the same Module is Passing Successfully.
    The Failure happens ONLY in the QA env and the same Job passes successfully in the DEV. I had checked all the topology connections and everything looks fine as all the other jobs in the same module are running fine. Can this be a problem with the Migration that happened from Dev to QA..?
    I figured out that for the failed Job in the QA env's operator we have the "Forced Context type" as "Development" where as the "Execution Context" in "QA". However, for all the other Jobs of the same module are having both as "QA". I tried re-importing the Scenarios from Dev but it did not help me..!
    Can anybody help me on this..
    Thnx!

    We dont know what the architecture of ODI is in your organization. However, as a general rule, you should not be forcing the contexts. Ideally they should be "Execution Context". And then you create the scenario out of interface/packages and then deploy them to the next environment.

  • Physical schema vs logical schema in odi

    hi, i am new to odi.I have successfully loaded data metadata to essbase and planning . But still i am not clear why odi uses physical schema when we just uses logical schema while reversing, execution of interfaces etc in designer

    Hi,
    Logical schema will always point to a Physical Schema .
    The aim of the logical schema is to ensure the portability of the procedures and models on the different physical schemas. In this way, all developments in Designer are carried out exclusively on logical schemas.
    A logical schema can have one or more physical implementations on separate physical schemas, but they must be based on data servers of the same technology. A logical schema is always directly linked to a technology.
    To be usable, a logical schema must be declared in a context. Declaring a logical schema in a context consists of indicating which physical schema corresponds to the alias - logical schema - for this context.
    Thanks,
    Sutirtha

  • Odi logical schema referring deleted context in scenario

    Hi,
    We had a Context that was getting used by default in development. We deleted that default context and updated interfaces and regenerated scenarios to use new Context.
    But logical schema is still referring to old deleted context, when scenario runs.
    Any idea?
    Thanks,
    Kshipra

    The error is happening in Flow step type. Interfaces are updated to use new context.
    ODI-1279: The Source Logical Schema LGCL_TERADATA_EDW_FIN_MAS_DATA_EIL and Context CONTEXT1 of the task Load data are not mapped to any Physical Schema.
    Caused By: com.sunopsis.core.SnpsInexistantSchemaException: ODI-17523: There is no connection for this logical schema / context pair: LGCL_TERADATA_EDW_FIN_MAS_DATA_EIL / CONTEXT1.
    at com.sunopsis.dwg.dbobj.SnpConnect.getSnpConnectByLSchemaNameAndContext(SnpConnect.java:239)
    at com.sunopsis.dwg.dbobj.SnpConnect.getSnpConnect(SnpConnect.java:193)
    at com.sunopsis.dwg.dbobj.SnpSessTask.getCollectConnection(SnpSessTask.java:358)
    at com.sunopsis.dwg.dbobj.SnpSessStep.getSrcDataServer(SnpSessStep.java:1435)
    at com.sunopsis.dwg.dbobj.SnpSessStep.createTaskLogs(SnpSessStep.java:700)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:465)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2128)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:1931)
    at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor$2.doAction(StartScenRequestProcessor.java:580)
    at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)
    at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor.doProcessStartScenTask(StartScenRequestProcessor.java:513)
    at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor$StartScenTask.doExecute(StartScenRequestProcessor.java:1073)
    at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)
    at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$1.run(DefaultAgentTaskExecutor.java:50)
    at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:50)
    at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor.executeAgentTask(DefaultAgentTaskExecutor.java:41)
    at oracle.odi.runtime.agent.processor.TaskExecutorAgentRequestProcessor.doExecuteAgentTask(TaskExecutorAgentRequestProcessor.java:93)
    at oracle.odi.runtime.agent.processor.TaskExecutorAgentRequestProcessor.process(TaskExecutorAgentRequestProcessor.java:83)
    at oracle.odi.runtime.agent.support.DefaultRuntimeAgent.execute(DefaultRuntimeAgent.java:68)
    at oracle.odi.runtime.agent.servlet.AgentServlet.doPost(AgentServlet.java:516)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:821)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:27)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
    at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
    at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:324)
    at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460)
    at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
    at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
    at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
    at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:163)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3730)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3696)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2273)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)

  • The interface you are trying to use is related to a logical schema that no

    "The interface you are trying to use is related to a logical schema that no longer exists"
    I'm facing this error when importing a project on Designer connect to a new work repository.
    I have an TEST Data Integrator environment and now I need to move objects already created to a new DEV environment. I've created a new master and work repository with distinct ID's according note https://metalink.oracle.com/metalink/plsql/f?p=130:14:4335668333625114484::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,423815.1,1,1,1,helvetica
    Any ideas?
    Thanks

    Hi,
    Nothing occurs. My steps:
    1) Export Master Repository from 1st environment (topoloy -> export master repository)
    2) Create Master Repository on 2nd environment (through repcreate.bat)
    3) Export Topology (1st environment)
    4) Export all projects (1st environment)
    5) Import Topology (2nd environemtn) ----> com.sunopsis.core.n: This import action has been cancelled because it could damage your repository (problem with the identifier sequences)
    Is this sequence of operations correct?
    Thanks

  • Change Logical Schema name of an existing interface

    How do we change the logical schema name of an existing interface which is pointing to a different logical schema. Note: Both two different logical schema are pointing to the same database schema.
    Thanks in advance for your update.
    Kaustuv

    I'm not sure it's good to have two different logical schemas pointing to the same physical schema.
    Whatever, what do you want to change ?
    The logical schema of a source datastore ? Of a target datastore? Of a target temporary interface? Or the staging area ?

  • Regarding logical joining of two table  by using ODI interface

    I have a two table in database.i have to logically add them, with the help of ODI interface.which should reflect in target.
    there is a smple cinario regarding ,convertion of relational table to flat file.
    but how to reflect mutiple table through joining in target from source.

    Hi
    Please correct my understan on your query
    You want to say that, you have two tables at source side and want to store data to target table, later from target to flat file
    or
    You have two target table want to store data into flat file
    Thanks
    Phani

  • ODI Procedure: Using Variable Logical Schema

    Hi!
    i wrote a PL\SQL procedure inside an odi procedure, using options, variables etc.
    now we need to execute the procedure in different logical schemas.
    We've at least 20 different logical schemas and to semplify the maintenance we'd like to pass the logical schema as an Option or something similar,
    is it possibile to do this with a procedure?
    The version of ODI is 11.1.1.5.0 and the targets are only Oracle DB.

    I've got a question : are all you schema in the same server (database) ?
    If so, you can LIST the schemas with a SQL Statement in the "command as SOURCE" tab.
    example :
    select owner as SCHEMA
    from all_tables
    where ...or a SQL Statement in ODI MASTER_Repository to get the logical schema :
    select lschema_name as SCHEMA
    from snp_lschema t1
    where ...And in the "command as destination" tab, you execute the PL SQL, but you use the result of SCHEMA.
    As a result, if you have 40 schema retrieved by the first SQL Statement, ODI will execut your PL/SQL statement 40 times, changing the SCHEMA value each time.
    And, in the first tab (command as destination), you use a generic Oracle User that have access to all schema of the dabase (or at least, the 40 schema you want).

  • ODI logical schema is not enabled

    Hi,
    I am beginner to use ODI.
    What I did so far:
    - I created a project
    - Model created as follows:
         - source
             - Oracle
             - Firebird
             - File
       - destination
            - Oracle
    When I was in the source model Oracle folder (created above) as the right button
    New Model opens the screen for typing:
    Name: MODELO_ORIGEM_ORACLE
    Code: MODELO_ORIGEM_ORACLE
    Technology: Oracle
    Logical schema: the field is disabled can not choose
    If I try to save me the message "Logical Schema field is required"
    Someone can help me !!!!!!!!!!!!!!!!!!

    hi,
    doubts: why show message WARNING agent.scheduler.pingAgent.failed?
    already odi ide is disable schema logical in tab  Model ????
    what i did :
    on the program odi ide
    tab Topology
       - physical architecture
          - created agent_1
                - Name : agent_1
                - Host : localhost
                - Port: 20910
                - context Aplplication Web :oraclediagent
                - Protocol: http
                - Number session : 1000
        - logic architecture
               - created agent_1
                   Name: agent_1
                   Context: Global
                   Agent Phisical: agent_1
    file bat odiparams
    REM #
    REM # Repository Connection Information
    REM #
    set ODI_MASTER_DRIVER=oracle.jdbc.OracleDriver
    set ODI_MASTER_URL=jdbc:oracle:thin:@localhost:1521:xe
    set ODI_MASTER_USER=DEV_ODI_REPO
    set ODI_MASTER_ENCODED_PASS=eWyXAkR2ru.dKKEczY6kwb
    REM #
    REM # User credentials for agent startup program
    REM #
    set ODI_SUPERVISOR=SUPERVISOR
    set ODI_SUPERVISOR_ENCODED_PASS=bSyHgaSRHVNI8yC.HXHfp
    REM #
    REM # User credentials for ODI tools
    REM #
    set ODI_USER=%ODI_SUPERVISOR%
    set ODI_ENCODED_PASS=%ODI_SUPERVISOR_ENCODED_PASS%
    . change ODI IDE the name agent to agent_1 phisical and logic
    . off on the computer and on
    . typed the command below
    C:\oraclexe\product\11.1.1\Oracle_ODI_1\oracledi\agent\bin>agent.bat -NAME=agent
    _1 -PORT=20901
    OracleDI: Starting Agent ...
    2013-11-29 14:07:54.246 NOTIFICATION ODI-1128 O agente agent_1 estß sendo inicia
    do. Container: STANDALONE. VersÒo do Agente: 11.1.1.7.0 - 02/03/2013. Porta: 209
    01. Porta JMX: 21901.
    2013-11-29 14:08:06.403 NOTIFICATION ODI-1111 Agente agent_1 iniciado. VersÒo do
    agente: 11.1.1.7.0 - 02/03/2013. Porta 20901. Porta JMX: 21901.
    2013-11-29 14:08:06.405 NOTIFICATION ODI-1136 Iniciando Schedulers no Agente age
    nt_1.
    2013-11-29 14:08:07.839 WARNING agent.scheduler.pingAgent.failed
    2013-11-29 14:08:07.842 WARNING Agent is not reachable. Going to retry after int
    eval :30000
    2013-11-29 14:08:38.853 WARNING agent.scheduler.pingAgent.failed
    2013-11-29 14:08:38.856 WARNING Agent is not reachable. Going to retry after int
    eval :30000
    2013-11-29 14:09:09.867 WARNING agent.scheduler.pingAgent.failed
    2013-11-29 14:09:09.870 WARNING Agent is not reachable. Going to retry after int
    eval :30000
    2013-11-29 14:09:40.882 WARNING agent.scheduler.pingAgent.failed
    2013-11-29 14:09:40.885 WARNING Agent is not reachable. Going to retry after int
    eval :30000

  • Physical Schema and logical schema

    Hi,
    When creating the data server in the topology corresponding to the appropriate technology we are creating a physical schema. But then why do we need to create logical schema. Is it created for execution of the interface? And can multiple physical schemas be mapped to same logical schema?

    Hi
    Physical schema represents the actual connection to the data source or data target. Logical schema represents the logical name associated to that source or target.
    One logical schema can be associated with multiple physical schema along with context, i.e. one logical schema is associated with different physical schema using different context.
    It can be understood with following example:
    You have 3 environments: Dev, QA, Prod, each having different database servers as DB1, DB2, DB3, respectively. Similarly we have 3 context corresponding to Dev, QA and Prod. You create logical schema with name DB_source
    Now you associate physical DB servers to logical schema (DB_source) for each context:
    DEV: DB1
    QA: DB2
    PROD: DB3
    Now when u develop ODI interfaces, you use one context DEV which associates DB_source to DB1. While mentioning context for execution, keep it as "Execution". This means, whatever context you choose during execution, corresponding physical DBs will be used.
    Thus if you change the execution context, corresponding physical schema will be used during execution.
    Let me know if you have further questions !!

  • Reg logical schema

    Hi ,
    I had created the interface when the logical schema was X , but now the same schema is changed to Y .
    correct logical schema has been mapped , now the interface is also showing logical schema as Y .
    But now when I am executing the interface , I am getting the below error
    java.lang.NullPointerException
         at com.sunopsis.dwg.codeinterpretor.SnpGeneratorSQLCIT.treatPopSourceSet(SnpGeneratorSQLCIT.java:7740)
         at com.sunopsis.dwg.codeinterpretor.SnpGeneratorSQLCIT.treatJobPopCollectionBuild(SnpGeneratorSQLCIT.java:7527)
         at com.sunopsis.dwg.codeinterpretor.SnpGeneratorSQLCIT.preComputePop(SnpGeneratorSQLCIT.java:7469)
         at com.sunopsis.dwg.codeinterpretor.SnpGeneratorSQLCIT.treatJobPop(SnpGeneratorSQLCIT.java:7379)
         at com.sunopsis.dwg.codeinterpretor.SnpGeneratorSQLCIT.mainGenPopInternal(SnpGeneratorSQLCIT.java:3168)
         at com.sunopsis.dwg.codeinterpretor.SnpGeneratorSQLCIT.mainGenPop(SnpGeneratorSQLCIT.java:3124)
         at com.sunopsis.graphical.dialog.SnpsDialogExecution.doInterfaceExecuter(SnpsDialogExecution.java:478)
         at oracle.odi.ui.action.SnpsPopupActionExecuteHandler.actionPerformed(SnpsPopupActionExecuteHandler.java:141)
         at oracle.odi.ui.SnpsFcpActionAdapter.handleEvent(SnpsFcpActionAdapter.java:253)
         at oracle.ide.controller.IdeAction.performAction(IdeAction.java:529)
         at oracle.ide.controller.IdeAction.actionPerformedImpl(IdeAction.java:884)
         at oracle.ide.controller.IdeAction.actionPerformed(IdeAction.java:501)
         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.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:273)
         at java.awt.Component.processMouseEvent(Component.java:6288)
         at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
         at java.awt.Component.processEvent(Component.java:6053)
         at java.awt.Container.processEvent(Container.java:2041)
         at java.awt.Component.dispatchEventImpl(Component.java:4651)
         at java.awt.Container.dispatchEventImpl(Container.java:2099)
         at java.awt.Component.dispatchEvent(Component.java:4481)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
         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:4481)
         at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
         at java.awt.EventQueue.access$000(EventQueue.java:84)
         at java.awt.EventQueue$1.run(EventQueue.java:602)
         at java.awt.EventQueue$1.run(EventQueue.java:600)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
         at java.awt.EventQueue$2.run(EventQueue.java:616)
         at java.awt.EventQueue$2.run(EventQueue.java:614)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
         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)
    Is there any way by which I don't have to bring the source again and don't have recreate the mapping .
    Regards
    Bhoopendra

    Hi
    I got the same error. I think, it happened because the model was lost (with needed code). I've replaced Target Datastore in Interface and the error has gone.

  • ODI Interface

    Hi All,
    New to ODI and trying to understand few things . Need expert opinion of yours
    We have a Oracle DW with staging schema STG and target warehouse schema DW on database DEV.
    1) On creating two data servers , one phyiscal schema under each data server to point to STG and DW and two logical schema one each for physical schema..
    ODI generates LKM and IKM both for an interface. This option causes unneccesary LKM.
    2) On creating one data server with two phyiscal schema pointing to STG and DW and two logical schema one each for physical schema..
    then ODI generates IKM only ..
    this is nice but the Data Server takes connetion details (username\password) for only one schema (either STG or DW) and now i have to give all kind of privileges to one user to write into other schema..
    Is there a way i can use option 2 and avoid granting of privileges or this is the only way ?
    Thanks in advance.
    -Henry.

    Henry,
    As you have experinced in option DataServer to Dataserver will always involved LKM .
    Its great to go with option 2 thus avoiding unncessary LKM and yes you would need to provide permission to one user or schema to do required operation at the other schema.

  • Logical Schema not being found

    I have an incoming data feed that works fine in our Development environment but when we import the scenario into UAT it gets an error:
    ODI-1222: Session start failure on agent DATA_INTEGRATOR_UAT_11G: logical schema FTP_IMAGE_OUT cannot be found in the master repository.
    Initially the logical schema was mistyped so the error was fair enough but even now that we've fixed it we get the same error. We've even tried completely deleting and recreating everything.
    I've looked in the master repository database and there’s definitely a record in snp_lschema with an lschema_name of “FTP_IMAGE_OUT” (i_lschema 67001), a record in snp_pschema_cont with an i_lschema of 67001 and an i_pschema of 131001 which is “FTP_IMAGE_OUT.\” in snp_pschema so it all connects up.
    I've tested the connection of the physical schema and it's successful.
    Can anyone suggest anything else I can look at or try? I've run out of ideas.

    Never mind, I found the problem. On the "Command on Source" tab of the procedure I'd selected a Context of "Development", so in UAT (which only has a UAT context) it couldn't find it.
    No idea why, I've never done it before. Maybe it was a slip of the mouse.

  • 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?

  • Context,Physical schema and Logical schema

    Hi,
    How the context,physical schema,logical schema and agent are interrelated.
    Please explain
    Thanks
    Jack

    Hi Jack,
    Context:
    A context is a set of resources allowing the operation or simulation of one or more data processing applications. Contexts allow the same jobs (Reverse, Data Quality Control, Package, etc) to be executed on different databases and/or schemas.
    Its used to run the object(process) in different database.
    Physical Schema:
    The physical schema is a decomposition of the data server, allowing the Datastores (tables, files, etc) to be classified. Objects stored in data servers with this mode of classification can be accessed by specifying the name of the schema attached to the object name.
    Ex
    Oracle classifies its tables by "schema" (or User). Each table is linked to a schema, thus SCOTT.EMP represents the table EMP in the schema SCOTT.
    Logical schema:
    A logical schema is an alias that allows a unique name to be given to all the physical schemas containing the same datastore structures.
    ->The aim of the logical schema is to ensure the portability of the procedures and models on the different physical schemas. In this way, all developments in ODI Designer are carried out exclusively on logical schemas.
    Thanks
    Madha

Maybe you are looking for