Reverse Engineering from .fmx file?

Is it possible to recover a corrupt .fmb file from the .fmx file? Somehow, my .fmb file got corrupted and I can no longer access it; however, the .fmx file seems to be OK. Is there any way I can get that .fmb file back?
Thanks for your help.

Try running CHKCONS & PURGEPUS utilities on the fmb. I had a similar problem with a file in Forms 4.5 and was able to successfully recover it.
First, add the CHKCONS option to the Forms generator icon property as follows: module=<filename> userid=<username/passwd> chkcons=yes. Then, double click on the icon to generate. A dialog box appears indicating no file has been generated.
Now, add the PURGEPUS=yes option to the designer icon and try opening the fmb.

Similar Messages

  • Unable to apply reverse engineering to dbf file

    Hello everyone,
    We are new to ODI and struggling to understand whether we are making an error or we are actually facing an issue with a .dbf file.
    Some details for everyone:
    - ODI version: 10.1.3.4.0
    - Platform: Win Server 2003 sp2
    - File we wish to load: xyz.dbf, where xyz.dbf is one of the 3 output files (xyz.shp, xyz.shx, xyz.dbf) of an ESRI geographic information systems software
    - We are not interested in the other .shp and .shx files but just in the .dbf one: hence we are treating this one as a stand-alone .dbf file.
    Given the above elements, we have executed the following:
    a. Created an ODBC entry using the "Microsoft dbase Driver for dbf files" vs. the relevant directory storing the .dbf file (as well as the .shp, .shx);
    b. Used Topology Manager --> "Dbase" technology to build the relevant Data Server, Physical Schema and Logical Schema.
    --- Up to this point when we test the connectivity to the .dbf file we have absolutely NO problems. ---
    We have then proceeded in Designer:
    c. Creating an appropriate Model vs. the Logical Schema introduced at point b.
    d. Attempting the reverse-engineering process.
    At this point however the "reverse engineering" has not performed what expected, as
    1. it has correctly introduced in Designer a datastore corresponding to the desired .dbf file, but
    2. it has not created any columns at all for the datastore, without producing any error message.
    Additionally, clicking on the datastore just created and selecting from it the "reverse" option in the "columns" tab, an error window is retrieved: "java.sql.SQLException: [Microsoft][ODBC dBase Driver]Invalid string or buffer length".
    At this point we are struggling to understand how to proceed further: shall we use a different ODBC driver/is this an error un-related to the ODBC driver we used/shall we use a different technology in consideration of the fact this .dbf file is not a stand-alone one but comes with .shp and .shx as well/anything else?
    Any help would be greatly appreciated.
    Thanks in advance!
    scagliaf

    Hi CTS,
    First, thanks for your help - much appreciated.
    However, we just tried to reverse the .dbf as you suggested using the custom reverse engineering via RKM SQL (Jython) module.
    First two steps (1 - Reset Metadata, 2 - Create Jython Classes) worked OK, but third failed with the same error mentioned in the first thread:
    Operator log details:
    org.apache.bsf.BSFException: exception from Jython: Traceback (innermost last):
    File "<string>", line 33, in ?
    File "<string>", line 111, in startReverse
    File "<string>", line 156, in SnpsReverse_gettables
    File "<string>", line 173, in SnpsReverse_getcolumns java.sql.SQLException: [Microsoft][ODBC dBase Driver]Invalid string or buffer length
         at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
         at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
         at sun.jdbc.odbc.JdbcOdbc.SQLColumns(Unknown Source)
         at sun.jdbc.odbc.JdbcOdbcDatabaseMetaData.getColumns(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java)
         at org.python.core.PyMethod.__call__(PyMethod.java)
         at org.python.core.PyObject.__call__(PyObject.java)
         at org.python.core.PyObject.invoke(PyObject.java)
         at org.python.pycode._pyx54._SnpsReverse__getcolumns$9(<string>:173)
         at org.python.pycode._pyx54.call_function(<string>)
         at org.python.core.PyTableCode.call(PyTableCode.java)
         at org.python.core.PyTableCode.call(PyTableCode.java)
         at org.python.core.PyFunction.__call__(PyFunction.java)
         at org.python.core.PyInstance.invoke(PyInstance.java)
         at org.python.pycode._pyx54._SnpsReverse__gettables$8(<string>:156)
         at org.python.pycode._pyx54.call_function(<string>)
         at org.python.core.PyTableCode.call(PyTableCode.java)
         at org.python.core.PyTableCode.call(PyTableCode.java)
         at org.python.core.PyTableCode.call(PyTableCode.java)
         at org.python.core.PyFunction.__call__(PyFunction.java)
         at org.python.core.PyMethod.__call__(PyMethod.java)
         at org.python.pycode._pyx54.startReverse$6(<string>:111)
         at org.python.pycode._pyx54.call_function(<string>)
         at org.python.core.PyTableCode.call(PyTableCode.java)
         at org.python.core.PyTableCode.call(PyTableCode.java)
         at org.python.core.PyTableCode.call(PyTableCode.java)
         at org.python.core.PyFunction.__call__(PyFunction.java)
         at org.python.core.PyMethod.__call__(PyMethod.java)
         at org.python.pycode._pyx55.f$0(<string>:33)
         at org.python.pycode._pyx55.call_function(<string>)
         at org.python.core.PyTableCode.call(PyTableCode.java)
         at org.python.core.PyCode.call(PyCode.java)
         at org.python.core.Py.runCode(Py.java)
         at org.python.core.Py.exec(Py.java)
         at org.python.util.PythonInterpreter.exec(PythonInterpreter.java)
         at org.apache.bsf.engines.jython.JythonEngine.exec(Unknown Source)
         at com.sunopsis.dwg.codeinterpretor.k.a(k.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSqlC.treatTaskTrt(SnpSessTaskSqlC.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(DwgCommandSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
         at com.sunopsis.dwg.cmd.e.i(e.java)
         at com.sunopsis.dwg.cmd.h.y(h.java)
         at com.sunopsis.dwg.cmd.e.run(e.java)
         at java.lang.Thread.run(Unknown Source)
    java.sql.SQLException: java.sql.SQLException: [Microsoft][ODBC dBase Driver]Invalid string or buffer length      
    at org.apache.bsf.engines.jython.JythonEngine.exec(Unknown Source)      
    at com.sunopsis.dwg.codeinterpretor.k.a(k.java)      
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java)      
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java)      
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java)      
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)      
    at com.sunopsis.dwg.dbobj.SnpSessTaskSqlC.treatTaskTrt(SnpSessTaskSqlC.java)      
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)      
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)      
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)      
    at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(DwgCommandSession.java)      
    at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)      
    at com.sunopsis.dwg.cmd.e.i(e.java)      
    at com.sunopsis.dwg.cmd.h.y(h.java)      
    at com.sunopsis.dwg.cmd.e.run(e.java)      
    at java.lang.Thread.run(Unknown Source)
    Any further idea?
    Thanks,
    scagliaf

  • Error in Reverse Engineering an XML file

    I am tring to set up ODI to read and XML file and post it to a DB.
    I am using Oracle Data Integrator 10.1.3.5
    I have set up the Connection in the Topology Manager and when I ran the Test it returned OK.
    I went to the Model tab in the Designer and tried to Reverse engineer the file. I followed the instruction int he User's Guide but I get an error:
    The Technology or the Driver used doesn not support Reverse Engineering. The User's guide says you can do it, but Designer tells me I can't.
    Has anyone received this error before and how can i get around it.
    I am using:
    com.sunopsis.jdbc.driver.xml.SnpsXmlDriver
    as the JDBC Driver. THat is the one used in the guide and example.
    JDBC URL:
    jdbc:snps:xml?f=c:\OraHome_1\Oracledi\MercuryGate\MGTransImpTemplatev1.0.1.xml&re=MercuryGate&ro=true&case_sens=true&s=MercGate
    Any help will be appreciated.

    Try the Oracle Data Integrator Forum
    Data Integrator
    Edited by: Johnreardon on 13-Jan-2011 05:34

  • Reverse engineering in UNIX file server.

    Good day everyone,
    I am required to reverse engineer .csv files stored in a UNIX file server. I am really new in using ODI so I'm having problems doing this menial task.
    So far, these are the steps I have done:
    1. Inserted a File Data Server and a Physical schema to setup the connection and the define the path/directory
    2. Created a File logical Schema
    3. Context defined
    4. Made a new model
    As for creating the datastore, when I clicked the browse button to look for the file it gave me this error "The directory <path file> specified in your schema does not exist.
    I appreciate any response to thread and thank you in advance!

    Sutirtha,
    I am also looking to reverse engineer from the unix server and looking for a solution. As suggested by you ,
    If your files are on a remote File System, you will need to copy one of your files to the machine ODI Designer is running on to allow ODI to retrieve the metadata information of the file.
    i have copied the same in one of the networked drives.
    Then define the File Datastore in ODI Designer. Once that is done , right click on the File Datastore select View Data, if you can view data, that means the File Datastore has been defined correctly.
    I have created the datastore which points to this networked drive.. and i can see this from networked drive from the designer..when i click the resource name button
    Once View Data is successful, you now change the directories (Data and Work Schema in Topology) to point at the remote File System. These directories must be accessible to the ODI Agent that will be used to run the transformations. The directory can be an absolute path (m:/public/data/files) or relative to the ODI Agent start up directory (../demo/files).
    here, do you want me to the change the directory to the remote unix server(??). when i do that and click on the resource name it fails..
    however, when eventhough the user id and password refers to the remote server and when i test for connection using my local agent and my development agent , the test is successful..
    please suggest..

  • Error While doing reverse engineering on XML file

    I am getting the error when I try to do reverse-engineering on a xml file.
    I have set up topology like this:
    JDBC Driver: com.sunnopsis.jdbc.driver.xml.SnpsXmlDriver
    JDBC URL: jdbc:snps:xml?file=c:\Temp\hoy\CRM_CR_CURRENCY.xml&dtd=C:\Temp\hoy\ServiciosSerivaConsultasTypes0.xsd
    The XSD file:
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <xs:schema xmlns:s3="http://www.openuri.org/2006/12/wsdl/upgradedJWS" xmlns:s0="http://schemas.xmlsoap.org/wsdl/" xmlns:s1="http://co/com/bancodecredito/eai/serviciosLinea/seriva" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://co/com/bancodecredito/eai/serviciosLinea/seriva/impl" xmlns:s2="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="" targetNamespace="http://co/com/bancodecredito/eai/serviciosLinea/seriva/impl" attributeFormDefault="unqualified" elementFormDefault="qualified">
    <xs:element name="indicadoresResponse">
    <xs:complexType>
    <xs:sequence>
         <xs:element name="WS_ResultadoConsultaIndicadores">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="Error" type="xs:string"/>
                        <xs:element name="Descripcion" type="xs:string"/>
                        <xs:element name="indicadores" maxOccurs="unbounded" minOccurs="0">
                        <xs:complexType>
                             <xs:sequence>
                                  <xs:element name="fecha" type="xs:string"/>
    <xs:element name="descripcion" type="xs:string"/>
    <xs:element name="tipoIndicador" type="xs:int"/>
    <xs:element name="codigoIndicador" type="xs:int"/>
    <xs:element name="codigoVertice" type="xs:int"/>
    <xs:element name="plazo" type="xs:int"/>
    <xs:element name="valor" type="xs:double"/>
    <xs:element name="comportamiento" type="xs:int"/>
    <xs:element name="formato" type="xs:int"/>
                             </xs:sequence>
                             </xs:complexType>
                        </xs:element>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
    </xs:sequence>      
    </xs:complexType>
    </xs:element>
    </xs:schema>
    and the xml file:
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <m:indicadoresResponse xmlns:m="http://co/com/bancodecredito/eai/serviciosLinea/seriva">
    <ns0:WS_ResultadoConsultaIndicadores xmlns:ns0="http://co/com/bancodecredito/eai/serviciosLinea/seriva/impl">
    <ns0:Error>0</ns0:Error>
    <ns0:Descripcion>Transacción exitosa</ns0:Descripcion>
    <ns0:indicadores>
    <ns0:fecha>2011-08-10 00:00:00.0</ns0:fecha>
    <ns0:descripcion>VALORACION (TRM VIGENTE) UVR/UVR</ns0:descripcion>
    <ns0:tipoIndicador>3</ns0:tipoIndicador>
    <ns0:codigoIndicador>312</ns0:codigoIndicador>
    <ns0:codigoVertice>0</ns0:codigoVertice>
    <ns0:plazo>0</ns0:plazo>
    <ns0:valor>196.9975</ns0:valor>
    <ns0:comportamiento>1</ns0:comportamiento>
    <ns0:formato>3</ns0:formato>
    </ns0:indicadores>
    <ns0:indicadores>
    <ns0:fecha>2011-08-10 00:00:00.0</ns0:fecha>
    <ns0:descripcion>COMPRA (BID) UVR/UVR</ns0:descripcion>
    <ns0:tipoIndicador>3</ns0:tipoIndicador>
    <ns0:codigoIndicador>313</ns0:codigoIndicador>
    <ns0:codigoVertice>0</ns0:codigoVertice>
    <ns0:plazo>0</ns0:plazo>
    <ns0:valor>196.9975</ns0:valor>
    <ns0:comportamiento>1</ns0:comportamiento>
    <ns0:formato>3</ns0:formato>
    </ns0:indicadores>
    <ns0:indicadores>
    <ns0:fecha>2011-08-10 00:00:00.0</ns0:fecha>
    <ns0:descripcion>VENTA (ASK) UVR/UVR</ns0:descripcion>
    <ns0:tipoIndicador>3</ns0:tipoIndicador>
    <ns0:codigoIndicador>314</ns0:codigoIndicador>
    <ns0:codigoVertice>0</ns0:codigoVertice>
    <ns0:plazo>0</ns0:plazo>
    <ns0:valor>196.9975</ns0:valor>
    <ns0:comportamiento>1</ns0:comportamiento>
    <ns0:formato>3</ns0:formato>
    </ns0:indicadores>
    <ns0:indicadores>
    <ns0:fecha>2011-08-10 00:00:00.0</ns0:fecha>
    <ns0:descripcion>BID BANCO REPUBLICA EUR/EUR</ns0:descripcion>
    <ns0:tipoIndicador>3</ns0:tipoIndicador>
    <ns0:codigoIndicador>396</ns0:codigoIndicador>
    <ns0:codigoVertice>0</ns0:codigoVertice>
    <ns0:plazo>0</ns0:plazo>
    <ns0:valor>1.4367</ns0:valor>
    <ns0:comportamiento>1</ns0:comportamiento>
    <ns0:formato>3</ns0:formato>
    </ns0:indicadores>
    <ns0:indicadores>
    <ns0:fecha>2011-08-10 00:00:00.0</ns0:fecha>
    <ns0:descripcion>ASK BANCO REPUBLICA EUR/EUR</ns0:descripcion>
    <ns0:tipoIndicador>3</ns0:tipoIndicador>
    <ns0:codigoIndicador>397</ns0:codigoIndicador>
    <ns0:codigoVertice>0</ns0:codigoVertice>
    <ns0:plazo>0</ns0:plazo>
    <ns0:valor>1.4367</ns0:valor>
    <ns0:comportamiento>1</ns0:comportamiento>
    <ns0:formato>3</ns0:formato>
    </ns0:indicadores>
    <ns0:indicadores>
    <ns0:fecha>2011-08-10 00:00:00.0</ns0:fecha>
    <ns0:descripcion>TRM BANCO REPUBLICA EUR/EUR</ns0:descripcion>
    <ns0:tipoIndicador>3</ns0:tipoIndicador>
    <ns0:codigoIndicador>398</ns0:codigoIndicador>
    <ns0:codigoVertice>0</ns0:codigoVertice>
    <ns0:plazo>0</ns0:plazo>
    <ns0:valor>1.4367</ns0:valor>
    <ns0:comportamiento>1</ns0:comportamiento>
    <ns0:formato>3</ns0:formato>
    </ns0:indicadores>
    <ns0:indicadores>
    <ns0:fecha>2011-08-10 00:00:00.0</ns0:fecha>
    <ns0:descripcion>BID BANCO REPUBLICA UVR/UVR</ns0:descripcion>
    <ns0:tipoIndicador>3</ns0:tipoIndicador>
    <ns0:codigoIndicador>432</ns0:codigoIndicador>
    <ns0:codigoVertice>0</ns0:codigoVertice>
    <ns0:plazo>0</ns0:plazo>
    <ns0:valor>196.9975</ns0:valor>
    <ns0:comportamiento>1</ns0:comportamiento>
    <ns0:formato>3</ns0:formato>
    </ns0:indicadores>
    <ns0:indicadores>
    <ns0:fecha>2011-08-10 00:00:00.0</ns0:fecha>
    <ns0:descripcion>ASK BANCO REPUBLICA UVR/UVR</ns0:descripcion>
    <ns0:tipoIndicador>3</ns0:tipoIndicador>
    <ns0:codigoIndicador>433</ns0:codigoIndicador>
    <ns0:codigoVertice>0</ns0:codigoVertice>
    <ns0:plazo>0</ns0:plazo>
    <ns0:valor>196.9975</ns0:valor>
    <ns0:comportamiento>1</ns0:comportamiento>
    <ns0:formato>3</ns0:formato>
    </ns0:indicadores>
    <ns0:indicadores>
    <ns0:fecha>2011-08-10 00:00:00.0</ns0:fecha>
    <ns0:descripcion>TRM BANCO REPUBLICA UVR/UVR</ns0:descripcion>
    <ns0:tipoIndicador>3</ns0:tipoIndicador>
    <ns0:codigoIndicador>434</ns0:codigoIndicador>
    <ns0:codigoVertice>0</ns0:codigoVertice>
    <ns0:plazo>0</ns0:plazo>
    <ns0:valor>196.9975</ns0:valor>
    <ns0:comportamiento>1</ns0:comportamiento>
    <ns0:formato>3</ns0:formato>
    </ns0:indicadores>
    <ns0:indicadores>
    <ns0:fecha>2011-08-10 00:00:00.0</ns0:fecha>
    <ns0:descripcion>BID BANCO REPUBLICA USD/USD</ns0:descripcion>
    <ns0:tipoIndicador>3</ns0:tipoIndicador>
    <ns0:codigoIndicador>390</ns0:codigoIndicador>
    <ns0:codigoVertice>0</ns0:codigoVertice>
    <ns0:plazo>0</ns0:plazo>
    <ns0:valor>1800.7300</ns0:valor>
    <ns0:comportamiento>2</ns0:comportamiento>
    <ns0:formato>3</ns0:formato>
    </ns0:indicadores>
    <ns0:indicadores>
    <ns0:fecha>2011-08-10 00:00:00.0</ns0:fecha>
    <ns0:descripcion>ASK BANCO REPUBLICA USD/USD</ns0:descripcion>
    <ns0:tipoIndicador>3</ns0:tipoIndicador>
    <ns0:codigoIndicador>391</ns0:codigoIndicador>
    <ns0:codigoVertice>0</ns0:codigoVertice>
    <ns0:plazo>0</ns0:plazo>
    <ns0:valor>1801.2100</ns0:valor>
    <ns0:comportamiento>2</ns0:comportamiento>
    <ns0:formato>3</ns0:formato>
    </ns0:indicadores>
    <ns0:indicadores>
    <ns0:fecha>2011-08-10 00:00:00.0</ns0:fecha>
    <ns0:descripcion>TRM BANCO REPUBLICA USD/USD</ns0:descripcion>
    <ns0:tipoIndicador>3</ns0:tipoIndicador>
    <ns0:codigoIndicador>395</ns0:codigoIndicador>
    <ns0:codigoVertice>0</ns0:codigoVertice>
    <ns0:plazo>0</ns0:plazo>
    <ns0:valor>1800.9700</ns0:valor>
    <ns0:comportamiento>2</ns0:comportamiento>
    <ns0:formato>3</ns0:formato>
    </ns0:indicadores>
    <ns0:indicadores>
    <ns0:fecha>2011-08-10 00:00:00.0</ns0:fecha>
    <ns0:descripcion>VALORACION (TRM VIGENTE) EUR/EUR</ns0:descripcion>
    <ns0:tipoIndicador>3</ns0:tipoIndicador>
    <ns0:codigoIndicador>241</ns0:codigoIndicador>
    <ns0:codigoVertice>0</ns0:codigoVertice>
    <ns0:plazo>0</ns0:plazo>
    <ns0:valor>1.4267</ns0:valor>
    <ns0:comportamiento>1</ns0:comportamiento>
    <ns0:formato>3</ns0:formato>
    </ns0:indicadores>
    <ns0:indicadores>
    <ns0:fecha>2011-08-10 00:00:00.0</ns0:fecha>
    <ns0:descripcion>VALORACION (TRM VIGENTE) USD/USD</ns0:descripcion>
    <ns0:tipoIndicador>3</ns0:tipoIndicador>
    <ns0:codigoIndicador>246</ns0:codigoIndicador>
    <ns0:codigoVertice>0</ns0:codigoVertice>
    <ns0:plazo>0</ns0:plazo>
    <ns0:valor>6.4573</ns0:valor>
    <ns0:comportamiento>2</ns0:comportamiento>
    <ns0:formato>3</ns0:formato>
    </ns0:indicadores>
    <ns0:indicadores>
    <ns0:fecha>2011-08-10 00:00:00.0</ns0:fecha>
    <ns0:descripcion>VALORACION (TRM VIGENTE) USD/USD</ns0:descripcion>
    <ns0:tipoIndicador>3</ns0:tipoIndicador>
    <ns0:codigoIndicador>251</ns0:codigoIndicador>
    <ns0:codigoVertice>0</ns0:codigoVertice>
    <ns0:plazo>0</ns0:plazo>
    <ns0:valor>4.3000</ns0:valor>
    <ns0:comportamiento>0</ns0:comportamiento>
    <ns0:formato>3</ns0:formato>
    </ns0:indicadores>
    <ns0:indicadores>
    <ns0:fecha>2011-08-10 00:00:00.0</ns0:fecha>
    <ns0:descripcion>VALORACION (TRM VIGENTE) USD/USD</ns0:descripcion>
    <ns0:tipoIndicador>3</ns0:tipoIndicador>
    <ns0:codigoIndicador>256</ns0:codigoIndicador>
    <ns0:codigoVertice>0</ns0:codigoVertice>
    <ns0:plazo>0</ns0:plazo>
    <ns0:valor>0.9913</ns0:valor>
    <ns0:comportamiento>1</ns0:comportamiento>
    <ns0:formato>3</ns0:formato>
    </ns0:indicadores>
    <ns0:indicadores>
    <ns0:fecha>2011-08-10 00:00:00.0</ns0:fecha>
    <ns0:descripcion>VALORACION (TRM VIGENTE) USD/USD</ns0:descripcion>
    <ns0:tipoIndicador>3</ns0:tipoIndicador>
    <ns0:codigoIndicador>261</ns0:codigoIndicador>
    <ns0:codigoVertice>0</ns0:codigoVertice>
    <ns0:plazo>0</ns0:plazo>
    <ns0:valor>12.4332</ns0:valor>
    <ns0:comportamiento>1</ns0:comportamiento>
    <ns0:formato>3</ns0:formato>
    </ns0:indicadores>
    <ns0:indicadores>
    <ns0:fecha>2011-08-10 00:00:00.0</ns0:fecha>
    <ns0:descripcion>VALORACION (TRM VIGENTE) USD/USD</ns0:descripcion>
    <ns0:tipoIndicador>3</ns0:tipoIndicador>
    <ns0:codigoIndicador>272</ns0:codigoIndicador>
    <ns0:codigoVertice>0</ns0:codigoVertice>
    <ns0:plazo>0</ns0:plazo>
    <ns0:valor>77.2692</ns0:valor>
    <ns0:comportamiento>2</ns0:comportamiento>
    <ns0:formato>3</ns0:formato>
    </ns0:indicadores>
    <ns0:indicadores>
    <ns0:fecha>2011-08-10 00:00:00.0</ns0:fecha>
    <ns0:descripcion>VALORACION (TRM VIGENTE) GBP/GBP</ns0:descripcion>
    <ns0:tipoIndicador>3</ns0:tipoIndicador>
    <ns0:codigoIndicador>277</ns0:codigoIndicador>
    <ns0:codigoVertice>0</ns0:codigoVertice>
    <ns0:plazo>0</ns0:plazo>
    <ns0:valor>1.6341</ns0:valor>
    <ns0:comportamiento>2</ns0:comportamiento>
    <ns0:formato>3</ns0:formato>
    </ns0:indicadores>
    <ns0:indicadores>
    <ns0:fecha>2011-08-10 00:00:00.0</ns0:fecha>
    <ns0:descripcion>VALORACION (TRM VIGENTE) USD/USD</ns0:descripcion>
    <ns0:tipoIndicador>3</ns0:tipoIndicador>
    <ns0:codigoIndicador>282</ns0:codigoIndicador>
    <ns0:codigoVertice>0</ns0:codigoVertice>
    <ns0:plazo>0</ns0:plazo>
    <ns0:valor>5.2216</ns0:valor>
    <ns0:comportamiento>2</ns0:comportamiento>
    <ns0:formato>3</ns0:formato>
    </ns0:indicadores>
    <ns0:indicadores>
    <ns0:fecha>2011-08-10 00:00:00.0</ns0:fecha>
    <ns0:descripcion>VALORACION (TRM VIGENTE) AUD/AUD</ns0:descripcion>
    <ns0:tipoIndicador>3</ns0:tipoIndicador>
    <ns0:codigoIndicador>340</ns0:codigoIndicador>
    <ns0:codigoVertice>0</ns0:codigoVertice>
    <ns0:plazo>0</ns0:plazo>
    <ns0:valor>1.0198</ns0:valor>
    <ns0:comportamiento>2</ns0:comportamiento>
    <ns0:formato>3</ns0:formato>
    </ns0:indicadores>
    </ns0:WS_ResultadoConsultaIndicadores>
    </m:indicadoresResponse>
    When I try do reverse engineering I get:
    java.sql.SQLException: class java.sql.SQLException
    com.sunopsis.tools.core.exception.SnpsRuntimeException: ODI-40798 Tipo Desconocido: {0}element
    What is the issue ?
    When I change the xml file , and I remove the namespaces, so that xml file is changed like this:
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <indicadoresResponse >
    <WS_ResultadoConsultaIndicadores >
    <Error>0</Error>
    <Descripcion>Transacción exitosa</Descripcion>
    <indicadores>
    <fecha>2011-08-10 00:00:00.0</fecha>
    <descripcion>VALORACION (TRM VIGENTE) UVR/UVR</descripcion>
    <tipoIndicador>3</tipoIndicador>
    <codigoIndicador>312</codigoIndicador>
    <codigoVertice>0</codigoVertice>
    <plazo>0</plazo>
    <valor>196.9975</valor>
    <comportamiento>1</comportamiento>
    <formato>3</formato>
    </indicadores>
    <indicadores>
    <fecha>2011-08-10 00:00:00.0</fecha>
    <descripcion>COMPRA (BID) UVR/UVR</descripcion>
    <tipoIndicador>3</tipoIndicador>
    <codigoIndicador>313</codigoIndicador>
    <codigoVertice>0</codigoVertice>
    <plazo>0</plazo>
    <valor>196.9975</valor>
    <comportamiento>1</comportamiento>
    <formato>3</formato>
    </indicadores>
    <indicadores>
    <fecha>2011-08-10 00:00:00.0</fecha>
    <descripcion>VENTA (ASK) UVR/UVR</descripcion>
    <tipoIndicador>3</tipoIndicador>
    <codigoIndicador>314</codigoIndicador>
    <codigoVertice>0</codigoVertice>
    <plazo>0</plazo>
    <valor>196.9975</valor>
    <comportamiento>1</comportamiento>
    <formato>3</formato>
    </indicadores>
    <indicadores>
    <fecha>2011-08-10 00:00:00.0</fecha>
    <descripcion>BID BANCO REPUBLICA EUR/EUR</descripcion>
    <tipoIndicador>3</tipoIndicador>
    <codigoIndicador>396</codigoIndicador>
    <codigoVertice>0</codigoVertice>
    <plazo>0</plazo>
    <valor>1.4367</valor>
    <comportamiento>1</comportamiento>
    <formato>3</formato>
    </indicadores>
    <indicadores>
    <fecha>2011-08-10 00:00:00.0</fecha>
    <descripcion>ASK BANCO REPUBLICA EUR/EUR</descripcion>
    <tipoIndicador>3</tipoIndicador>
    <codigoIndicador>397</codigoIndicador>
    <codigoVertice>0</codigoVertice>
    <plazo>0</plazo>
    <valor>1.4367</valor>
    <comportamiento>1</comportamiento>
    <formato>3</formato>
    </indicadores>
    <indicadores>
    <fecha>2011-08-10 00:00:00.0</fecha>
    <descripcion>TRM BANCO REPUBLICA EUR/EUR</descripcion>
    <tipoIndicador>3</tipoIndicador>
    <codigoIndicador>398</codigoIndicador>
    <codigoVertice>0</codigoVertice>
    <plazo>0</plazo>
    <valor>1.4367</valor>
    <comportamiento>1</comportamiento>
    <formato>3</formato>
    </indicadores>
    <indicadores>
    <fecha>2011-08-10 00:00:00.0</fecha>
    <descripcion>BID BANCO REPUBLICA UVR/UVR</descripcion>
    <tipoIndicador>3</tipoIndicador>
    <codigoIndicador>432</codigoIndicador>
    <codigoVertice>0</codigoVertice>
    <plazo>0</plazo>
    <valor>196.9975</valor>
    <comportamiento>1</comportamiento>
    <formato>3</formato>
    </indicadores>
    <indicadores>
    <fecha>2011-08-10 00:00:00.0</fecha>
    <descripcion>ASK BANCO REPUBLICA UVR/UVR</descripcion>
    <tipoIndicador>3</tipoIndicador>
    <codigoIndicador>433</codigoIndicador>
    <codigoVertice>0</codigoVertice>
    <plazo>0</plazo>
    <valor>196.9975</valor>
    <comportamiento>1</comportamiento>
    <formato>3</formato>
    </indicadores>
    <indicadores>
    <fecha>2011-08-10 00:00:00.0</fecha>
    <descripcion>TRM BANCO REPUBLICA UVR/UVR</descripcion>
    <tipoIndicador>3</tipoIndicador>
    <codigoIndicador>434</codigoIndicador>
    <codigoVertice>0</codigoVertice>
    <plazo>0</plazo>
    <valor>196.9975</valor>
    <comportamiento>1</comportamiento>
    <formato>3</formato>
    </indicadores>
    <indicadores>
    <fecha>2011-08-10 00:00:00.0</fecha>
    <descripcion>BID BANCO REPUBLICA USD/USD</descripcion>
    <tipoIndicador>3</tipoIndicador>
    <codigoIndicador>390</codigoIndicador>
    <codigoVertice>0</codigoVertice>
    <plazo>0</plazo>
    <valor>1800.7300</valor>
    <comportamiento>2</comportamiento>
    <formato>3</formato>
    </indicadores>
    <indicadores>
    <fecha>2011-08-10 00:00:00.0</fecha>
    <descripcion>ASK BANCO REPUBLICA USD/USD</descripcion>
    <tipoIndicador>3</tipoIndicador>
    <codigoIndicador>391</codigoIndicador>
    <codigoVertice>0</codigoVertice>
    <plazo>0</plazo>
    <valor>1801.2100</valor>
    <comportamiento>2</comportamiento>
    <formato>3</formato>
    </indicadores>
    <indicadores>
    <fecha>2011-08-10 00:00:00.0</fecha>
    <descripcion>TRM BANCO REPUBLICA USD/USD</descripcion>
    <tipoIndicador>3</tipoIndicador>
    <codigoIndicador>395</codigoIndicador>
    <codigoVertice>0</codigoVertice>
    <plazo>0</plazo>
    <valor>1800.9700</valor>
    <comportamiento>2</comportamiento>
    <formato>3</formato>
    </indicadores>
    <indicadores>
    <fecha>2011-08-10 00:00:00.0</fecha>
    <descripcion>VALORACION (TRM VIGENTE) EUR/EUR</descripcion>
    <tipoIndicador>3</tipoIndicador>
    <codigoIndicador>241</codigoIndicador>
    <codigoVertice>0</codigoVertice>
    <plazo>0</plazo>
    <valor>1.4267</valor>
    <comportamiento>1</comportamiento>
    <formato>3</formato>
    </indicadores>
    <indicadores>
    <fecha>2011-08-10 00:00:00.0</fecha>
    <descripcion>VALORACION (TRM VIGENTE) USD/USD</descripcion>
    <tipoIndicador>3</tipoIndicador>
    <codigoIndicador>246</codigoIndicador>
    <codigoVertice>0</codigoVertice>
    <plazo>0</plazo>
    <valor>6.4573</valor>
    <comportamiento>2</comportamiento>
    <formato>3</formato>
    </indicadores>
    <indicadores>
    <fecha>2011-08-10 00:00:00.0</fecha>
    <descripcion>VALORACION (TRM VIGENTE) USD/USD</descripcion>
    <tipoIndicador>3</tipoIndicador>
    <codigoIndicador>251</codigoIndicador>
    <codigoVertice>0</codigoVertice>
    <plazo>0</plazo>
    <valor>4.3000</valor>
    <comportamiento>0</comportamiento>
    <formato>3</formato>
    </indicadores>
    <indicadores>
    <fecha>2011-08-10 00:00:00.0</fecha>
    <descripcion>VALORACION (TRM VIGENTE) USD/USD</descripcion>
    <tipoIndicador>3</tipoIndicador>
    <codigoIndicador>256</codigoIndicador>
    <codigoVertice>0</codigoVertice>
    <plazo>0</plazo>
    <valor>0.9913</valor>
    <comportamiento>1</comportamiento>
    <formato>3</formato>
    </indicadores>
    <indicadores>
    <fecha>2011-08-10 00:00:00.0</fecha>
    <descripcion>VALORACION (TRM VIGENTE) USD/USD</descripcion>
    <tipoIndicador>3</tipoIndicador>
    <codigoIndicador>261</codigoIndicador>
    <codigoVertice>0</codigoVertice>
    <plazo>0</plazo>
    <valor>12.4332</valor>
    <comportamiento>1</comportamiento>
    <formato>3</formato>
    </indicadores>
    <indicadores>
    <fecha>2011-08-10 00:00:00.0</fecha>
    <descripcion>VALORACION (TRM VIGENTE) USD/USD</descripcion>
    <tipoIndicador>3</tipoIndicador>
    <codigoIndicador>272</codigoIndicador>
    <codigoVertice>0</codigoVertice>
    <plazo>0</plazo>
    <valor>77.2692</valor>
    <comportamiento>2</comportamiento>
    <formato>3</formato>
    </indicadores>
    <indicadores>
    <fecha>2011-08-10 00:00:00.0</fecha>
    <descripcion>VALORACION (TRM VIGENTE) GBP/GBP</descripcion>
    <tipoIndicador>3</tipoIndicador>
    <codigoIndicador>277</codigoIndicador>
    <codigoVertice>0</codigoVertice>
    <plazo>0</plazo>
    <valor>1.6341</valor>
    <comportamiento>2</comportamiento>
    <formato>3</formato>
    </indicadores>
    <indicadores>
    <fecha>2011-08-10 00:00:00.0</fecha>
    <descripcion>VALORACION (TRM VIGENTE) USD/USD</descripcion>
    <tipoIndicador>3</tipoIndicador>
    <codigoIndicador>282</codigoIndicador>
    <codigoVertice>0</codigoVertice>
    <plazo>0</plazo>
    <valor>5.2216</valor>
    <comportamiento>2</comportamiento>
    <formato>3</formato>
    </indicadores>
    <indicadores>
    <fecha>2011-08-10 00:00:00.0</fecha>
    <descripcion>VALORACION (TRM VIGENTE) AUD/AUD</descripcion>
    <tipoIndicador>3</tipoIndicador>
    <codigoIndicador>340</codigoIndicador>
    <codigoVertice>0</codigoVertice>
    <plazo>0</plazo>
    <valor>1.0198</valor>
    <comportamiento>2</comportamiento>
    <formato>3</formato>
    </indicadores>
    </WS_ResultadoConsultaIndicadores>
    </indicadoresResponse>
    It works!!!! I can do reverse engineering....What is the issue? I am running everthing with agent as Local
    I really appreciate any hints.
    Thanks in advance,
    Deibys

    Hi,
    Try specifying the "re" (Root Element) parameter in the URL. For example re=indicadoresResponse
    If it still fails could you post the full java error stack?
    Good luck!
    Jose

  • Error while reverse engineering a Flat File

    Hi
    I am getting following error while trying to reverse engineer a Flat file. Could you help in identifying what's the problem
    com.sunopsis.core.SecurityAccessException: oracle.odi.core.exception.OdiRuntimeException: OdiInstance is closed
         at com.sunopsis.dwg.DwgObject.getterSecurityControl(DwgObject.java:2923)
         at com.sunopsis.dwg.dbobj.generated.GeneratedSnpTechno.getMaxTabNameLen(GeneratedSnpTechno.java:1011)
         at com.sunopsis.dwg.dbobj.SnpLschema.getObjectName(SnpLschema.java:626)
         at com.sunopsis.dwg.dbobj.SnpLschema.getLocalObjectName(SnpLschema.java:247)
         at com.sunopsis.dwg.dbobj.SnpTable.getFullTableName(SnpTable.java:1013)
         at com.sunopsis.dwg.dbobj.SnpTable.fileDataStoreReversePhase1(SnpTable.java:632)
         at com.sunopsis.graphical.frame.edit.EditFrameSnpTable.doReverseFromTable(EditFrameSnpTable.java:806)
         at com.sunopsis.graphical.frame.edit.EditFrameSnpTable.jButtonReverseDelimiter_ActionPerformed(EditFrameSnpTable.java:3447)
         at com.sunopsis.graphical.frame.edit.EditFrameSnpTable$IvjEventHandler.actionPerformed(EditFrameSnpTable.java:356)
         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)
    Caused by: oracle.odi.core.exception.OdiRuntimeException: OdiInstance is closed
         at oracle.odi.core.OdiInstance.verifyOpen(OdiInstance.java:921)
         at oracle.odi.core.OdiInstance.getMasterRepository(OdiInstance.java:748)
         at com.sunopsis.security.DefaultDwgSecurityManager.createConnections(DefaultDwgSecurityManager.java:292)
         at com.sunopsis.security.DefaultDwgSecurityManager.getMethodByObject(DefaultDwgSecurityManager.java:265)
         at com.sunopsis.dwg.DwgObject.consultControl(DwgObject.java:878)
         at com.sunopsis.dwg.DwgObject.consult(DwgObject.java:844)
         at com.sunopsis.dwg.DwgObject.getterSecurityControl(DwgObject.java:2911)
         ... 45 more
    regards
    Sunil

    Very strange that the ODI Instance is closed. Since it's the entry point to the master/work repository, ODI is not able to write your new datastore in the work repository.
    You can try to close ODI Studio and open it again.
    Are you working with an out-of-the-box RKM or did you customize it?
    Regards,
    JeromeFr

  • Reverse engineering using Flat file

    Hello,
    Can someone help me please.
    My environment,
    I am new to ODI and trying to work with it.
    My source DB = FLAT FILE
    Target DB = MySQL5.1
    I created a new project and models. I have the physical and logical architecture and all the connections are working. In the physical architecture, I specified the path of the csv file as c:\textfile.csv
    I created a new model and a data store and pointed the the file to above directory and file.
    When I click on reverse in column tab, it says
    ERROR: The directory c:\textfile.csv specified in your schema, does not exist.
    I am unable to figure out the problem. Can someone help me please.
    Thank you.
    Edited by: user9946607 on Mar 17, 2010 5:52 PM

    Hi,
    Thank you.
    I was able to solve the error for the file loading, now i have used the lkm as file to sql and LKM sql control append, it says execution session started, but when i go to operator, it fails at Load and gives an error:
    7000 : null : java.sql.SQLException: Could not read heading rows from file
    java.sql.SQLException: Could not read heading rows from file
    at com.sunopsis.jdbc.driver.file.x.<init>(x.java)
    at com.sunopsis.jdbc.driver.file.a.d.d.a(d.java)
    at com.sunopsis.jdbc.driver.file.g.a(g.java)
    at com.sunopsis.jdbc.driver.file.w.executeQuery(w.java)
    at com.sunopsis.sql.SnpsQuery.executeQuery(SnpsQuery.java)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execCollOrders(SnpSessTaskSql.java)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSqlC.treatTaskTrt(SnpSessTaskSqlC.java)
    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
    at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(DwgCommandSession.java)
    at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
    at com.sunopsis.dwg.cmd.e.i(e.java)
    at com.sunopsis.dwg.cmd.g.y(g.java)
    at com.sunopsis.dwg.cmd.e.run(e.java)
    at java.lang.Thread.run(Unknown Source)

  • Reverse engineering a flat file

    what is the procedure to reverse engineer a file which is in the following format:
    /* 1 */
    "emp_id" : "101",
    "last_name" : "abc",
    "salary" : "20000"
    /* 2 */
    "emp_id" : "102",
    "last_name" : "xyz",
    "salary" : "50000"
    }

    Hi vaibhav
    If I will be in your situation, I will go for Jython/java to read these records. You have to customize it.
    Using ODI Studio you cannot reverse this.
    Thanks.

  • Reverse engineering from an existing database

    just wondering if the SQL Data Modeler can reverse engineer an oracle 10g database, already in existence? If so, what are the steps/menu choices?
    Thanks
    Paul

    Hi Paul,
    menu path is File>Import>"Data Dictionary".
    You need to define connection to Oracle database. If you use SQLDeveloper you can export your connections and import them at connections page of import wizard.Look at release notes [http://www.oracle.com/technology/products/database/datamodeler/html/ReleaseNotes.htm] for none Oracle databases.
    Philip

  • Reg: Reverse engineering from Code to Flowchart -

    Hi Experts,
    I'm facing problems while generating Flowchart from an existing old legacy PL/SQL code.
    Is there any tool available which can generate that? Oracle SQL Developer, Toad, etc...?
    I'm quite sure it'll no way be comparable to a flowchart created by a human brain, but will help in some way as the code is huge.
    If it gives a basic outline (big picture), I can analyze the code and add the rest.
    Any pointers is much appreciated.
    Thanks,
    Ranit

    Parsing even formatted code is tricky and usually just not worth the effort.
    This might most probably include your case too as reverse means the normal thing is the other way around so you're supposed to do something someone other had not done.
    To confirm the validity of never say never I admit having done something resembling parsing (from far and by night), it's not perfect, but it can do the job (at least here)
    A Loop Hunter:
    select owner,name,type,the_object,max(loop_count) loop_count,max(loop_depth) max_loop_depth,max(commit_in_loop) commit_in_loop
      from (select owner,name,type,keyword,the_object,loop_count,loop_depth,commit_in_loop
              from (select owner,name,type,keyword,the_object,
                           row_number() over (partition by owner,name,the_object order by line) prn,
                           row_number() over (order by owner,name,the_object,line) rn
                      from (select owner,name,type,line,keyword,
                                   last_value(case when instr(keyword,'loop') = 0
                                                    and instr(keyword,'commit') = 0
                                                   then keyword
                                              end
                                             ) ignore nulls over (partition by owner,name order by line) the_object
                              from (select owner,name,type,line,
                                           lower(case when instr(lower(text),'procedure') > 0
                                                      then regexp_replace(regexp_replace(ltrim(replace(case when instr(text,'.') > 0
                                                                                                            then 'procedure '||
                                                                                                                 substr(text,instr(text,'.',-1,1) + 1)
                                                                                                            else text
                                                                                                       end,'"'
                                                                                              ),'^(procedure\s*\w+)[( ].*','\1',1,1,'i'
                                                                                        ),'( ){2,}',' ')
                                                      when instr(lower(text),'function') > 0
                                                      then regexp_replace(regexp_replace(ltrim(replace(case when instr(text,'.') > 0
                                                                                                            then 'function '||
                                                                                                                 substr(text,instr(text,'.',-1,1) + 1)
                                                                                                            else text
                                                                                                       end,'"'
                                                                                              ),'^(function\s*\w+)[( ].*','\1',1,1,'i'
                                                                                        ),'( ){2,}',' ')
                                                      when instr(lower(text),'commit') > 0
                                                      then 'commit'
                                                      when instr(lower(text),'end loop') > 0
                                                      then 'end loop'
                                                      else 'loop'
                                                 end
                                                ) keyword
                                      from all_source
                                     where instr(','||upper(nvl(:owner_list,owner))||',',','||owner||',') > 0
                                       and instr(','||upper(nvl(:object_name_list,name))||',',','||name||',') > 0
                                       and instr(','||upper(nvl(:object_type_list,type))||',',','||type||',') > 0
                                       and regexp_like(ltrim(replace(text,chr(9),' ')),'^[^-/*].+')                        -- not a comment
                                       and (regexp_like(lower(ltrim(replace(text,chr(9),' '))),'^(procedure|function).*')
                                        or  instr(lower(replace(text,chr(9),' ')),' loop') > 0
                                        or  instr(lower(replace(text,chr(9),' ')),'commit') > 0
             model
               partition by (owner,name,type,the_object)
               dimension by (rn)
               measures (keyword,0 loop_count,0 loop_depth,0 commit_in_loop,prn)
               rules
               (loop_count[any] = case when prn[cv()] = 1
                                       then 0
                                       when keyword[cv()] = 'end loop'
                                       then loop_count[cv() - 1] + 1
                                       else loop_count[cv() - 1]
                                  end,
                loop_depth[any] = case when prn[cv()] = 1
                                       then 0
                                       when keyword[cv()] = 'loop'
                                       then loop_depth[cv() - 1] + 1
                                       when keyword[cv()] = 'end loop'
                                       then loop_depth[cv() - 1] - 1
                                       else loop_depth[cv() - 1]
                                  end,
                commit_in_loop[any] = case when prn[cv()] = 1
                                           then 0
                                           when keyword[cv()] = 'commit'
                                            and loop_depth[cv()] != 0
                                           then commit_in_loop[cv() - 1] + 1
                                           else commit_in_loop[cv() - 1]
                                      end
    group by owner,name,type,the_object
    having max(loop_count) >= max(loop_depth) and max(loop_depth) > 0
    order by max_loop_depth desc
    Regards
    Etbin

  • DATA MODELER: reverse engineering from existing database

    After IMPORT -> Data Dictionary
    Went thru dialog and Relational Model was displayed.
    Sorry,
    There was not relationship shown between each entity.
    Right, no Bachman lines between the boxes.
    Clicked the "<<" button to create Logical Model.
    Again, no lines between the boxes.
    Any suggestions?

    Hi,
    Do you have foreign keys defined in database? Is it supported database or you use generic JDBC import?
    Can you check log file for errors logged there? (it's in log directory of your installation)
    You need foreign keys defined in relational model in order to get relationships in logical model.
    Philip

  • Reverse-engineering excel files in ODI

    Hi,
    I am currently creating an ODBC Data Source to connect to MS Excel and then reverse-engineering the excel file.Do I need to create separate ODBC Data Source for each excel file or is there any other way to achieve this?
    Please suggest.
    Thanks in advance.

    hi Dev
    1. Have you defined the correct link between DSN and your Excel File the answer is yes
    2. Have you test the Connection in Topology ?yes and it's OK
    3. Also is your Excel file has an Extension of XLS ? yes
    4. When reversing have you check the required Technology - Microsoft Excel with required Logical Schema and context Yes i have Microsoft Excel with required Logical Schema and context
    and also try checking the Tables and System Tables for reversing .I' can't

  • Loading data from flat file...

    Hello,
    I am actually experiencing a problem where I cant load data from a flat file into a table. I have actually reverse engineered the flat file into ODI. But the thing is I don't know how to load the data that is reversed into a RDBMS table. Added, I don't know how create this RDBMS table form within ODI to be reflected on the DB. Added, don't know how to load the data from the flat file onto this table without having to add the columns in order to map between the flat file and the table.
    In conclusion, I need to know how to create an RDBMS table from within ODI on the database. And how to automatically map the flat file to the DB table and load the data into the DB table.
    Regards,
    Hossam

    Hi Hossam,
    We can used ODI procedure to create table in the DB.
    Make sure you keep the column name in the table name same as the column name in FLAT FILE so that it can automatically map the column.
    and regarding Loading data from FLAT File i.e. our source table is FLAT FILE till ODI 10.1.3.4 we need to manually insert the datastore since the file system cannot be reversed.
    Please let me know Hossam if i can assis you further.
    Thanks and Regards,
    Andy

  • Newly added column not reversed by strand  reverse engineering

    Hi Guys,
    I have reverse engg a datastore from Oracle database and later I added one new columns in the same table at database level. Now when I am doing strand reverse Engineering from the model the newly added columns are not being reflected in ODI.
    please comment/advise.
    I want to do this through strand reverse Engineering.
    Thanks,
    Giri

    Appreciate if any one share suggestion/inputs on this issue

  • How to print the content in Reverse which is read from the file

    i have written a program to display the content of the file using files concept. now the task is how to display it in reverse order i.e from last to first which is read from the file.

    If it will all fit in memory read the file as you are doing now appending everything into a StringBuilder. Then use the reverse() method of that class to obtain your output.
    http://java.sun.com/javase/6/docs/api/java/lang/StringBuilder.html#reverse()

Maybe you are looking for

  • Adobe Photoshop Express Organizer - help manual needed

    Please excuse me if I'm posting this request to the wrong forum, but I'm looking for a tutorial on how to use the online Adobe Photoshop Express Organizer, which I access through photoshop.com.   I can't locate a tutorial or instructions on it anywhe

  • PL/SQl with Decode

    Hi, I have a PL/SQL Procedure to insert a new record into a table ! So I use the decode function, because I don't want to program the logic in the application. Is it a good solution Thanks marcel

  • I can't get airdrop to work between iPhone 5 and Macbook Air.

    Can anyone tell me how to use airdrop between iPhone and Macbook?

  • Object too small to select on design canvas

    I have created 14px by 14px images for a mini navigation area, and added them to a set of Image components.  Due to the very small size, these objects are not selectable on the Xcelsius design canvas, although I can select them in the object browser.

  • Use the MBP as a display

    Two questions: 1. Is there a way to use a MBP (or even a iMac or just a PC monitor) as a display for an XBox 360 using some sort of cables and converters. 2. I have an old iMac G5 running Panther and is there a way to just use that as an additional d