8 Replies Latest reply on Jul 15, 2014 4:20 AM by congnc

    Reverse/import  a table in ODI

    congnc

      Hi all,

       

      I want to reverse a table from EBS 12.1.1 database. My parameter is:

      Reverse Engineer: Customized

      Context: Global

      Logical Agent: Local(No Agent)

      Knowledge Module: RKM EBS suite

      Option:

      - Use mask:  false

      - List_of_table: gl_item_cst

      At Oracle E-Business Suite R12.1.1 model -> click Reverse Engineer button. My session finished with no error but table gl_item_cst doesn't appear in Oracle E-Business Suite R12.1.1 model.

       

      Please help me solve this problem. Thanks.

       

      Regards,

      Cong

        • 1. Re: Reverse/import  a table in ODI
          congnc

          Hi experts,

           

          If I change parameter Logical Agent from Local(No Agent) to OracleDIAgent, the session finish with error at last step: Reverse - Oracle E-Business Suite R12.1.1 - Apply Long Text.

           

          Error Message:

          org.apache.bsf.BSFException: exception from Jython:

          Traceback (most recent call last):

            File "<string>", line 1, in <module>

          ImportError: No module named AddinManager

           

              at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)

              at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.execInBSFEngine(SnpScriptingInterpretor.java:322)

              at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.exec(SnpScriptingInterpretor.java:170)

              at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java:2472)

              at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:47)

              at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:1)

              at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)

              at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2913)

              at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2625)

              at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:577)

              at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:468)

              at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2093)

              at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:376)

              at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)

              at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:309)

              at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:301)

              at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:865)

              at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:137)

              at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)

              at java.lang.Thread.run(Thread.java:662)

          Caused by: Traceback (most recent call last):

            File "<string>", line 1, in <module>

          ImportError: No module named AddinManager

           

              at org.python.core.PyException.fillInStackTrace(PyException.java:70)

              at java.lang.Throwable.<init>(Throwable.java:181)

              at java.lang.Exception.<init>(Exception.java:29)

              at java.lang.RuntimeException.<init>(RuntimeException.java:32)

              at org.python.core.PyException.<init>(PyException.java:46)

              at org.python.core.PyException.<init>(PyException.java:43)

              at org.python.core.PyException.<init>(PyException.java:61)

              at org.python.core.Py.ImportError(Py.java:264)

              at org.python.core.imp.import_logic(imp.java:707)

              at org.python.core.imp.import_name(imp.java:761)

              at org.python.core.imp.importName(imp.java:806)

              at org.python.core.ImportFunction.__call__(__builtin__.java:1232)

              at org.python.core.PyObject.__call__(PyObject.java:367)

              at org.python.core.__builtin__.__import__(__builtin__.java:1202)

              at org.python.core.__builtin__.__import__(__builtin__.java:1185)

              at org.python.core.imp.importOneAs(imp.java:827)

              at org.python.pycode._pyx823.f$0(<string>:11)

              at org.python.pycode._pyx823.call_function(<string>)

              at org.python.core.PyTableCode.call(PyTableCode.java:165)

              at org.python.core.PyCode.call(PyCode.java:18)

              at org.python.core.Py.runCode(Py.java:1204)

              at org.python.core.Py.exec(Py.java:1248)

              at org.python.util.PythonInterpreter.exec(PythonInterpreter.java:172)

              at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:144)

              ... 19 more

           

          So another stupid question is what's the difference between run Reverse in Local(No Agent) and OracleDIAgent? And Please help me solve above problems. Thank you very much.

           

          Regards,

          Cong

          • 2. Re: Reverse/import  a table in ODI
            Phanikanth

            Hi Cong,

             

            Is OracleDIAgent your J2EE agent ?

             

            Regards,

            Phanikanth

            • 3. Re: Reverse/import  a table in ODI
              congnc

              Hi Phanikanth,

               

              Thank for your reply.

               

              How to know that agent is J2EE or standalone agent?


              Regards,

              Cong

              • 4. Re: Reverse/import  a table in ODI
                Phanikanth

                Hi Cong,

                 

                This is standard name "OracleDIAgent" giving to J2EE Agent.

                You can alos give other name for J2EE agent but this a standard one.

                 

                Regards,

                Phanikanth

                • 5. Re: Reverse/import  a table in ODI
                  congnc

                  Hi Phanikanth,

                   

                  Our system has only 1 agent (named as OracleDIAgent) which was created by SUPERVISOR user. I could use this agent to execute Generate DDL normally but I get trouble when run Reverse Engineer with this agent.

                   

                  Regards,

                  Cong

                  • 6. Re: Reverse/import  a table in ODI
                    Phanikanth

                    Hi

                     

                    Can you please try below one

                     

                    Reverse Engineer: Customized

                    Context: Global

                    Logical Agent: Local(No Agent)

                    Knowledge Module: RKM Oracle

                     

                     

                    Note: If you are using OracleDIAgent, then check is yur agent is working or not

                     

                    How to test OracleDIAgent in ODI Studio:

                     

                    Goto Topology>In Physical Architeture>Expand the Agent>Opent the OracleDIAgent and it will open at right side panel, click on Test button and see you are getting "Agent Test Successful"  mesage or not, if not use Local (NoAgent)

                     

                    Hope this may helps you

                    Regards,

                    Phanikanth

                    • 7. Re: Reverse/import  a table in ODI
                      congnc

                      Hi Phanikanth,

                       

                      Case 1: use Logical Agent: Local(No Agent) -> Session finish with no error but table gl_item_cst doesn't appear.

                      http://i251.photobucket.com/albums/gg304/AdmTq/Test/ReverseLocalAgent_zps98d821e3.png

                       

                      Case 2: use OracleDIAgent -> Session finish with error at final step.

                      http://i251.photobucket.com/albums/gg304/AdmTq/Test/ReverseODIAgent_zps41fc1ab4.png

                       

                      Test OracleDIAgent:  "Agent Test Successful"

                       

                      Regards,

                      Cong

                      • 8. Re: Reverse/import  a table in ODI
                        congnc

                        Base on Feedback from Oracle DEV team
                        ======================
                         
                          We have a limitation on using this RKM with only Studio(Local No Agent).This
                          Can not be run on an agent.So please use Studio(Local No Agent) when running RKM.
                         
                          We already have documented it in the RKM Description:
                         
                          Current RKM Description is as follows:
                         
                          COMPONENT NAME: RKM BIApps E-Business Suite
                          COMPONENT VERSION: 1.0.0.0
                          AUTHOR: Oracle
                          COMPATIBILITY: 11.1.1.7
                         
                          DESCRIPTION:
                          - Reverse Engineering Knowledge Module
                          - RKM to get EBS Metadata
                         
                          REQUIREMENTS
                          N/A
                         
                          BASIC CONFIGURATION
                          N/A
                         
                          OPTIONS (Refer to Option descriptions for more information on each option)
                        - ADD_SDS_SUPPORT (default: false): Adds CDC information (such as the CDC columns) during the reverse engineering process to support SDS
                        - USE_MASK (default: true): Use the TABLE_MASK option to determine the list of tables to process, otherwise use the comma separated LIST_OF_TABLES option
                          - TABLE_MASK (default:%): Use a table mask to determine the tables to process
                          - LIST_OF_TABLES (default: null): Use a comma separated list to determine the tables to process
                          - ONLY_PROCESS_EXISTING_TABLES (default: true): This flag determines
                        whether the reverse engineering process will go through all tables (if set to false) or only tables that already exist within the model (if set to true
                         
                          LIMITATIONS
                          - Can not be run on an agent. Has to be run on the Studio


                        => 
                        I found the root cause. This input parameter work for me.
                         
                        - USE_MASK: false
                        - TABLE_MASK (default:%)
                        - LIST_OF_TABLES : 'GL_ITEM_CST' ('gl_item_cst' and 'GL_ITEM_CST' are different)
                        - ONLY_PROCESS_EXISTING_TABLES : false (previous value is 'true')

                        Regards,

                        Cong