Error in GetObjectName

Hi,
I'm having trouble using the context and logical schema in the command below:
UPDATE <%=odiRef.getObjectName("L","LOG_CARGA_FUSION","L_DW_FUSION_SYS_DESENV","D")%>
set flag_execucao = 'V'
where flag_execucao = 'F'
and rownum = 1
and nm_origem = '#vg_TABLE_ORIGEM'
and nm_destino = '#vg_TABLE_DESTINO'
and cd_carga = '#vg_CD_CARGA'
I'm not leaving the procedure set in context and not the logical schema, for it to come through the command.
the operator it returns me the following error:
java.lang.Exception: Erro interno: objeto ConnectConnection
ColConnectId:null
ColContextCode:01_CTX_DESENV
ColConName:null
ColIndCommit:null
ColIsolLevel:null
ColLschemaName:null
ColPlanComp:null
ColTechIntName:ORACLE
DefConnectId:null
DefContextCode:01_CTX_DESENV
DefConName:null
DefIndCommit:null
DefIsolLevel:null
DefLschemaName:null
DefPlanComp:null
DefTechIntName:ORACLE
ExeChannel:J
IndErr:0
IndLogMethod:null
IndLogNb:null
LogLevDet:3
Nno:18
OrdTrt:0
ScenTaskNo:38
SessNo:364001
TaskName1:Procedimento
TaskName2:INSERE_LOG_CARGA
TaskName3:INSERE_LOG
TaskType:S
     at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execStdOrders(SnpSessTaskSql.java)
     at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
     at com.sunopsis.dwg.dbobj.SnpSessTaskSqlS.treatTaskTrt(SnpSessTaskSqlS.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)
what can this go wrong?
thanks,

Cristina,
Check have you selected the correct Technology in the Procedure , since you are getting the error -java.lang.Exception: Erro interno: objeto ConnectConnection. Its related to connection .
If you have ? , are you using the Command on Source , with Command on Target as Null . In that case move the codes to Command to Target and execute.
Please let me know if you need any other help.
Thanks

Similar Messages

  • Can substitution methods other than the Global be used in a procedure ?

    Hi All,
    I am very much new to ODI .Apologies if the question seems silly.
    As part of an exercise I am working with ODI variables and substitution methods.
    My question is substitution methods like odiRef.getColList,odiRef.getFrom,getTargetColList() used in KM's for Code Generation while executing an interface,
    can they be used in a ODI procedure giving the necessary parameters as they require .
    Eg : Command on source :
    select     
         <%=odiRef.getColList("", "[COL_NAME]", ",\n\t", "", "")%>
    from <%=odiRef.getObjectName( "TABLE_NAME" )%>
    Command on target :
    insert into <%=odiRef.getTable("L", "TABLE_NAME", "D")%>
         <%=odiRef.getColList("", "[CX_COL_NAME]", ",\n\t", "","")%>
    values
         <%=odiRef.getColList("", ":[CX_COL_NAME]", ",\n\t", "","")%>
    Ofcourse ,this is what an interface does but my requirement is to pass table name as variables and run this code iteratively to load targets,which again will be passed as variable.
    Will this run as a ODI procedure ?I tried and am getting exception errors.The getobjectName being global works fine with the proper table name generated in the code,but the getCollist does not work .Hence wanted to know if this standalone procedure is possible or will this code run only as part of KM over a interface?
    Thanks,

    Hi ,
    I had gone through this document,and from other sources also got a same answer that it cant be used.But is there a way it can be done?
    Actually we have many number of the small tables with just 10 records to be brought into the warehouse.The idea is to instead of doing it via an interface , why not try with a control table with an just the relevant entries and a procedure as above posted code.
    Some ideas would help.
    Thanks,

  • Error while Inserting data into flow table

    Hi All,
    I am very new to ODI, I am facing lot of problem in my 1st interface. So I have many questions here, please forgive me if it has irritated to you.
    ========================
    I am developing a simple Project to load a data from an input source file (csv) file into a staging table.
    My plan is to achieve this in 3 interfaces:
    1. Interface-1 : Load the data from an input source (csv) file into a staging table (say Stg_1)
    2. Interface-2 : Read the data from the staging table (stg_1) apply the business rules to it and copy the processed records into another staging table (say stg_2)
    3. Interface-3 : Copy the data from staging table (stg_2) into the target table (say Target) in the target database.
    Question-1 : Is this approach correct?
    ========================
    I don't have any key columns in the staging table (stg_1). When I tried to execute the Flow Control of this I got an error:
    Flow Control not possible if no Key is declared in your Target Datastore
    With one of the response (the response was - "FLOW control requires a KEY in the target table") in this Forum I have introduced a column called "Record_ID" and made it a Primary Key column into my staging table (stg_1) and my problem has been resolved.
    Question-2 : Is a Key column compulsary in the target table? I am working in BO Data Integrator, there is no such compulsion ... I am little confused.
    ========================
    Next, I have defined one Project level sequence. I have mapped the newly introduced key column Record_Id (Primary Key) with the Project level sequence. Now I am got another error of "CKM not selected".
    For this, I have inserted "Insert Check (CKM)" knowledge module in my Project. With this the above problem of "CKM not selected" has been resolved.
    Question-3 : When is this CKM knowledge module required?
    ========================
    After this, the flow/interface is failing while loading data into the intermediar ODI created flow table (I$)
    1 - Loading - SS_0 - Drop work table
    2 - Loading - SS_0 - Create work table
    3 - Loading - SS_0 - Load data
    5 - Integration - FTE Actual data to Staging table - Drop flow table
    6 - Integration - FTE Actual data to Staging table - Create flow table I$
    7 - Integration - FTE Actual data to Staging table - Delete target table
    8 - Integration - FTE Actual data to Staging table - Insert flow into I$ table
    The Error is at Step-8 above. When opened the "Execution" tab for this step I found the message - "Missing parameter Project_1.FTE_Actual_Data_seq_NEXTVAL RECORD_ID".
    Question-4 : What/why is this error? Did I made any mistake while creating a sequence?

    Everyone is new and starts somewhere. And the community is there to help you.
    1.) What is the idea of moving data from stg_1 and then to stg_2 ? Do you really need it for any other purpose other than move data from SourceFile to Target DB.
    Otherwise, its simple to move data from SourceFile -> Target Table
    2.) Does your Target table have a Key ?
    3.) CKM (Check KM) is required when you want to do constraint validation (Checking) on your data. You can define constraints (business rules) on the target table and Flow Control will check the data that is flowing from Source File to Target table using the CKM. All the records that donot satisfy the constraint will be added to E$ (Error table) and will not be added to the Target table.
    4.) Try to avoid ODI sequences. They are slow and arent scalable. Try to use Database sequence wherever possible. And use the DB sequence is target mapping as
    <%=odiRef.getObjectName( "L" , "MY_DB_Sequence_Row" , "D" )%>.nextval
    where MY_DB_Sequence_Row is the oracle sequence in the target schema.
    HTH

  • Error while creating OAM MBean Conection

    I am in the process of integrating OAM with OIM. When I run the idmConfigTool, I get the following error. Any suggestions
    [oracle@idmhost2 bin]$ /u01/app/oracle/middleware/Oracle_IDM1/idmtools/bin/idmConfigTool.sh -configOAM input_file=/u01/OAMconfigPropertyFile
    Enter ID Store Bind DN password :
    Enter User Password for WLSPASSWD:
    Confirm User Password for WLSPASSWD:
    Enter User Password for OAM11G_OIM_WEBGATE_PASSWD:
    Confirm User Password for OAM11G_OIM_WEBGATE_PASSWD:
    Enter User Password for IDSTORE_PWD_OAMSOFTWAREUSER:
    Confirm User Password for IDSTORE_PWD_OAMSOFTWAREUSER:
    Enter User Password for IDSTORE_PWD_OAMADMINUSER:
    Confirm User Password for IDSTORE_PWD_OAMADMINUSER:
    oracle.idm.automation.exception.ExecutionFailedException: Error while creating OAM MBean Conection
            at oracle.idm.automation.impl.oam.handlers.OAM11gIntegrationHandler.getObjectName(OAM11gIntegrationHandler.java:934)
            at oracle.idm.automation.impl.oam.handlers.OAM11gIntegrationHandler.configOAM11gIdStore(OAM11gIntegrationHandler.java:306)
            at oracle.idm.automation.impl.oam.handlers.OAM11gIntegrationHandler.execute(OAM11gIntegrationHandler.java:696)
            at oracle.idm.automation.AutomationTool.configOAM(AutomationTool.java:593)
            at oracle.idm.automation.AutomationTool.parseCmdLine(AutomationTool.java:218)
            at oracle.idm.automation.AutomationTool.main(AutomationTool.java:132)
    There were errors found. Details have been logged to automation.log
    The Automationlog file details
    FINER: ENTRY
    Jul 16, 2013 2:09:36 AM oracle.idm.automation.impl.oam.handlers.OAM11gIntegrationHandler getObjectName
    SEVERE: Error while creating OAM MBean Conection
    java.lang.Exception: No foundation mbeans found
            at oracle.idm.automation.impl.oam.handlers.OAM11gIntegrationHandler.getObjectName(OAM11gIntegrationHandler.java:915)
            at oracle.idm.automation.impl.oam.handlers.OAM11gIntegrationHandler.configOAM11gIdStore(OAM11gIntegrationHandler.java:306)
            at oracle.idm.automation.impl.oam.handlers.OAM11gIntegrationHandler.execute(OAM11gIntegrationHandler.java:696)
            at oracle.idm.automation.AutomationTool.configOAM(AutomationTool.java:593)
            at oracle.idm.automation.AutomationTool.parseCmdLine(AutomationTool.java:218)
            at oracle.idm.automation.AutomationTool.main(AutomationTool.java:132)
    Jul 16, 2013 2:09:36 AM oracle.idm.automation.impl.oam.handlers.OAM11gIntegrationHandler configOAM11gIdStore
    SEVERE: Error while configuring User ID Store
    oracle.idm.automation.exception.ExecutionFailedException: Error while creating OAM MBean Conection
            at oracle.idm.automation.impl.oam.handlers.OAM11gIntegrationHandler.getObjectName(OAM11gIntegrationHandler.java:934)
            at oracle.idm.automation.impl.oam.handlers.OAM11gIntegrationHandler.configOAM11gIdStore(OAM11gIntegrationHandler.java:306)
            at oracle.idm.automation.impl.oam.handlers.OAM11gIntegrationHandler.execute(OAM11gIntegrationHandler.java:696)
            at oracle.idm.automation.AutomationTool.configOAM(AutomationTool.java:593)
            at oracle.idm.automation.AutomationTool.parseCmdLine(AutomationTool.java:218)
            at oracle.idm.automation.AutomationTool.main(AutomationTool.java:132)
    Jul 16, 2013 2:09:36 AM oracle.idm.automation.impl.oam.handlers.OAM11gIntegrationHandler configOAM11gIdStore
    SEVERE: Error while creating OAM MBean Conection

    Caused by: java.net.ConnectException: Connection refused
    Is the Oracle application server running?

  • ODI -OBIEE Lineage:Error while running ODI Procedure

    Hi ,
    I am using prebuilt mapping provided by oracle to achive dtata lineage between odi and obiee.
    I am getting error when i run scenario at Create "Same Column dummy Exp" procedure step.
    Error Info :
    ODI-1228: Task Create the "Same Column" dummy Expression (Procedure) fails on the target ORACLE connection ORACLE_XPONE.
    Caused By: java.sql.SQLSyntaxErrorException: ORA-00984: column not allowed here
    Procedure info:
    insert into <%=odiRef.getObjectName("LINEAGE_EXPRESSION")%>
    (I_LINEAGE_EXPRESSION, PROJECT_NAME, FOLDER_NAME, JOB_NAME, EXPRESSION, EXPRESSION_ORIGIN)
    values
    (<%=odiRef.getObjectName("BI_OBJ_ID.NEXTVAL")%>, 'Dummy', 'Dummy', 'Dummy', '(Same Column)', 'Dummy')
    Please let me know how to overcome this problem if anybody have achived lineaged by using oracle provided mappings.
    Thanks in Advance

    Hi,
    If you are on ODI 11g remove the odiRef.getObjectName("BI_OBJ_ID.NEXTVAL") function call and just give the sequence BI_OBJ_ID.NEXTVAL where ever its being used.
    Regards,
    Rajesh

  • While executing the Procedure Getting Error

    Hi I am New to ODI.
    I create one new Procedure just to delete the Target table.
    delete from <%=snpRef.getTable("L","T_CUSTOMER","D")%>. T_Customer is my target table.Technology:Oracle(Both Source and Target)
    I selected the correct Context ,Schema and Technology.
    While executing the procedure i am getting following error
    java.lang.Exception: Internal error: object ConnectConnection
    ColConnectId:null
    ColContextCode:DEV
    ColConName:null
    ColIndCommit:null
    ColIsolLevel:null
    ColLschemaName:null
    ColPlanComp:null
    ColTechIntName:null
    DefConnectId:null
    DefContextCode:DEV
    DefConName:null
    DefIndCommit:null
    DefIsolLevel:null
    DefLschemaName:FCS
    DefPlanComp:null
    DefTechIntName:ORACLE
    ExeChannel:J
    IndErr:1
    IndLogMethod:null
    IndLogNb:null
    LogLevDet:3
    Nno:1
    OrdTrt:0
    ScenTaskNo:1
    SessNo:61001
    TaskName1:Procedure
    TaskName2:Delete
    TaskName3:Delete
    TaskType:S
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execSrcOrders(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSqlS.treatTaskTrt(SnpSessTaskSqlS.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)
    Thanks in advance.

    i Used the below syntax and checked its working fine.
    delete from <%=snpRef.getObjectName("L","T_CUSTOMER","D")%>

  • IKM file to file (java) error

    Hi Team,
    I am using IKM file to file (java) to laod the data and am getting the following error at compile step. Please help me out here.
    com.sunopsis.tools.core.exception.SnpsSimpleMessageException: ODI-17517: Error during task interpretation.
    Task: 2
    java.lang.Exception: BeanShell script error: Sourced file: inline evaluation of: ``out.print("OdiOutFile \"-FILE=") ; out.print(snpRef.getSchemaName("CT_Sample", " . . . '' : Unary operation "+" inappropriate for object : at Line: 178 : in file: inline evaluation of: `` /* This function is used to replace at code generation time the column names in . . . '' : + ");" ) ;
    BSF info: Create transformer at line: 0 column: columnNo
    at com.sunopsis.dwg.codeinterpretor.SnpCodeInterpretor.transform(SnpCodeInterpretor.java:485)
    at com.sunopsis.dwg.dbobj.SnpSessStep.createTaskLogs(SnpSessStep.java:711)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:461)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2093)
    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:366)
    at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)
    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:300)
    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:292)
    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:855)
    at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)
    at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)
    at java.lang.Thread.run(Thread.java:662)
    Caused by: org.apache.bsf.BSFException: BeanShell script error: Sourced file: inline evaluation of: ``out.print("OdiOutFile \"-FILE=") ; out.print(snpRef.getSchemaName("CT_Sample", " . . . '' : Unary operation "+" inappropriate for object : at Line: 178 : in file: inline evaluation of: `` /* This function is used to replace at code generation time the column names in . . . '' : + ");" ) ;
    BSF info: Create transformer at line: 0 column: columnNo
    at bsh.util.BeanShellBSFEngine.eval(Unknown Source)
    at bsh.util.BeanShellBSFEngine.exec(Unknown Source)
    at com.sunopsis.dwg.codeinterpretor.SnpCodeInterpretor.transform(SnpCodeInterpretor.java:471)
    ... 11 more
    Text: OdiOutFile "-FILE=<?=snpRef.getSchemaName("CT_Sample", "W") ?>/<?= getOdiClassName() ?>.java"
    import java.io.BufferedWriter;
    import java.io.BufferedReader;
    import java.io.Reader;
    import java.io.FileReader;
    import java.io.FileInputStream;
    import java.io.InputStreamReader;
    import java.io.FileOutputStream;
    import java.io.OutputStreamWriter;
    import java.io.FileWriter;
    import java.io.File;
    import java.io.IOException;
    import java.io.FilenameFilter;
    import java.util.Scanner;
    import java.util.HashMap;
    import java.util.regex.Pattern;
    import java.util.regex.Matcher;
    import java.lang.String;
    import java.lang.StringBuilder;
    import java.lang.RuntimeException;
    import java.text.ParseException;
    import java.text.ParsePosition;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.text.DecimalFormat;
    import java.text.DecimalFormatSymbols;
    import java.math.BigDecimal;
    public class <?= getOdiClassName() ?> {
    /* Number of threads that are to be run in parallel */
    static int NB_THREADS = 1;
      BufferedWriter pBufferedWriter;
    BufferedWriter pBufferedLogWriter;
    BufferedWriter pBufferedBadWriter;
    int nbError;
    int nbErrorInPrevFiles;
    int nbLine;
    int nbTotalLine;
    int nbWarning;
    int nbFiles;
    int nbFilter;
    int nbFilterInPrevFiles;
    int nbHeader;
    int nbInserted;
    boolean doWeContinueBatch = true;
    boolean maxErrorReach = false;
    //boolean warning = false;
    //String warning_txt ="";
    Date debut = new Date();
    Date end =  new Date();
    static int maxError=0;
      * @param pBufferedWriter
      * @param pBufferedLogWriter
      * @param pBufferedBadWriter
      * @param nbError
      * @param nbLine
      * @throws IOException
    public <?= getOdiClassName() ?>(String targF,String logF,String badF) throws IOException {
      super();
      this.pBufferedWriter = new BufferedWriter(new FileWriter(targF, false));
      this.pBufferedLogWriter = new BufferedWriter(new FileWriter(logF, false ));
      this.pBufferedBadWriter = new BufferedWriter(new FileWriter(badF, false )); 
      pBufferedLogWriter.append("Oracle Data Integrator * File to File:\nCopyright (c) Oracle Corporation.  All rights reserved.");
      pBufferedLogWriter.append("\n\nNumber of threads: "+NB_THREADS);
      pBufferedLogWriter.append("\n\nDiscardmax: 1");
      pBufferedLogWriter.append("\n\nOutputFile:\t\t"+targF+"\nBAD file:\t\t"+badF+"\n");
      this.nbError = 0;
      this.nbErrorInPrevFiles = 0;
      this.nbLine = 0;
      this.nbTotalLine=0;
      this.nbWarning=0;
      this.nbFiles=0;
      this.nbHeader=0;
      this.nbFilter=0;
      this.nbFilterInPrevFiles = 0;
      this.nbInserted=0;
    /* A simple object used to synchronize the reads of the source file and avoid overlap between the various threads */
    static Object lock = new Object();
    HashMap<Object, BigDecimal> sequenceMap = new HashMap<Object, BigDecimal>();
    HashMap<Object, BigDecimal> counterMap = new HashMap<Object, BigDecimal>();;
    public boolean getDoWeContinueBatch()
      return doWeContinueBatch;
    public void addInserted()
      synchronized(lock) {
       nbInserted+=1;
    public void addWarning()
      synchronized(lock) {
       nbWarning+=1;
    public void addFilter()
      synchronized(lock) {
       nbFilter+=1;
    public BigDecimal getCounter(Object pFieldValue, long pStartValue) {
      if (counterMap.containsKey(pFieldValue)) {
       return counterMap.get(pFieldValue);
      } else {
       counterMap.put(pFieldValue, new BigDecimal(pStartValue));
       return counterMap.get(pFieldValue);
    public BigDecimal incrementCounter(Object pFieldValue, long pStartValue) {
      if (counterMap.containsKey(pFieldValue)) {
       counterMap.put(pFieldValue, counterMap.get(pFieldValue).add(BigDecimal.ONE));
       return counterMap.get(pFieldValue);
      } else {
       counterMap.put(pFieldValue, new BigDecimal(pStartValue));
       return counterMap.get(pFieldValue);
    public BigDecimal smartSequence(Object pField, Object pValue, long pStartValue) {
      if (pField.equals(pValue)) {
       return incrementCounter(pValue, pStartValue);
      } else {
       return getCounter(pValue, pStartValue);
    public BigDecimal smartSequence(Object pField, Object pValue) {
      return smartSequence(pField, pValue, 0);
    public BigDecimal normalSequence(Object pSequenceName, long pStartValue) {
      if (sequenceMap.containsKey(pSequenceName)) {
       synchronized(sequenceMap.get(pSequenceName)) {
        sequenceMap.put(pSequenceName, sequenceMap.get(pSequenceName).add(BigDecimal.ONE));
        return sequenceMap.get(pSequenceName);
      } else {
       synchronized (sequenceMap) {
        sequenceMap.put(pSequenceName, new BigDecimal(pStartValue));
        return sequenceMap.get(pSequenceName);
    public BigDecimal normalSequence(Object pSequenceName) {
      return normalSequence(pSequenceName, 0);
    /* Utility class used for String processing */
    class OdiStringUtils {
      /* This method is used to write Input String into the StringBuilder that contains the target row and pad with spaces if necessary */
      public void pad(StringBuilder pStringBuilder, String pString, int pLength) {
       pStringBuilder.append(pString);
       for (int i=0;i<pLength-pString.length();i++) {
        pStringBuilder.append(' ');
    /* This class is the formatter for Strings that are to be written to the target file */
    class OdiStringFormatOUT{
      OdiStringUtils myStringUtils;
      String colName;
      String colMandatory;
      String colFormat;
      String colDecSep;
      String colNullIfErr;
      int    colBytes;
      String xString;
      private void check(Warning Odiwarn) throws Exception
       if (xString.length() > colBytes)
        {if (colNullIfErr=="0"){
         throw new Exception ("Column "+ colName+" : "+xString+" Value too long\n");
         if (colNullIfErr=="1")
          Odiwarn.AddWarn("Column "+ colName+" : "+xString+" Value too long\n");
         xString="";
         return;  
        if (xString.length() ==0)
        {if (colNullIfErr=="0"){
         throw new Exception ("Column "+ colName+" : is mandatory\n");
         if (colNullIfErr=="1")
          Odiwarn.AddWarn("Column "+ colName+" : is mandatory\n");
      public OdiStringFormatOUT(String pColName,String pColMandatory, String pColFormat,String pColDecSep, String pColNullIfErr,int pColBytes, OdiStringUtils pStringUtils) {
       myStringUtils = pStringUtils;
       colName = pColName;
       colMandatory = pColMandatory;
       colFormat = pColFormat;
       colDecSep = pColDecSep;
       colNullIfErr = pColNullIfErr;
       colBytes = pColBytes;
      public void format(String pString, StringBuilder pStringBuilder,Warning Odiwarn) throws Exception {
       xString=pString;
       this.check(Odiwarn);
       pStringBuilder.append(xString);
    /* This class is the formatter for Strings that are to be read from the source file */
    class OdiStringFormatIN{
      OdiStringUtils myStringUtils;
      String odiColname;
      String colNullIfErr;
      public OdiStringFormatIN(OdiStringUtils pStringUtils, String pColname, String pColNullIfErr) {
       myStringUtils = pStringUtils;
       odiColname=pColname;
       colNullIfErr=pColNullIfErr;
      public String parse(String pString,Warning Odiwarn) {
       return pString;
    /* This class is the formatter for Numbers that are to be written to the target file.
    Note that some more format() functions should be added to fully support all the possible datatypes (int, etc.) */
    class OdiNumberFormatOUT{
      OdiStringUtils myStringUtils;
      DecimalFormat internalParser;
      String colName;
      String colMandatory;
      String colFormat;
      String colDecSep;
      String colNullIfErr;
      int    colBytes;
      private void check(Number pNumber,Warning Odiwarn) throws Exception
       if (pNumber == null && colMandatory=="1" )
        {if (colNullIfErr=="0"){
         throw new Exception ("Column "+ colName+" is  mandatory\n");
         if (colNullIfErr=="1")
          Odiwarn.AddWarn("Column "+ colName+" is  mandatory\n");
       private void check(double pDouble,Warning Odiwarn) throws Exception
       if (false)
        {if (colNullIfErr=="0"){
         throw new Exception ("Column "+ colName+" : "+pDouble+" Value too long\n");
         if (colNullIfErr=="1")
          Odiwarn.AddWarn("Column "+ colName+" : "+pDouble+" Value too long\n");
       private void check(long pLong,Warning Odiwarn) throws Exception
       if (false)
        {if (colNullIfErr=="0"){
         throw new Exception ("Column "+ colName+" : "+pLong+" Value too long\n");
         if (colNullIfErr=="1")
          Odiwarn.AddWarn("Column "+ colName+" : "+pLong+" Value too long\n");
      public OdiNumberFormatOUT(String pColName,String pColMandatory, String pColFormat,String pColDecSep, String pColNullIfErr,int pColBytes, OdiStringUtils pStringUtils) {
       myStringUtils = pStringUtils;
       colName = pColName;
       colMandatory = pColMandatory;
       colFormat = pColFormat;
       colDecSep = pColDecSep;
       colNullIfErr = pColNullIfErr;
       colBytes = pColBytes;
       if (colDecSep == null) {
        colDecSep = ".";
       if (colDecSep.length() != 1) {
        colDecSep = ".";
       DecimalFormatSymbols mySymbols = new DecimalFormatSymbols();
       mySymbols.setDecimalSeparator(colDecSep.charAt(0));
       internalParser = new DecimalFormat("#.#", mySymbols);
       internalParser.setParseBigDecimal(true);
      public void format(Number pNumber, StringBuilder pStringBuilder,Warning Odiwarn) throws Exception {
       this.check(pNumber,Odiwarn);
       if (pNumber == null) {
        return;
       pStringBuilder.append(internalParser.format(pNumber));
      public void format(double pDouble, StringBuilder pStringBuilder,Warning Odiwarn) throws Exception {
       this.check(pDouble,Odiwarn);
       pStringBuilder.append(internalParser.format(pDouble));
      public void format(long pLong, StringBuilder pStringBuilder,Warning Odiwarn) throws Exception {
       this.check(pLong,Odiwarn);
       pStringBuilder.append(internalParser.format(pLong));
    /* This class is the formatter for Numbers that are to be read from the source file. */
    class OdiNumberFormatIN{
      OdiStringUtils myStringUtils;
      DecimalFormat internalParser;
      ParsePosition internalParsePosition;
      String odiColname;
      String colNullIfErr;
      public OdiNumberFormatIN(String pDecimalSeparator, OdiStringUtils pStringUtils, String pColname, String pColNullIfErr) {
       myStringUtils = pStringUtils;
       odiColname=pColname;
       colNullIfErr=pColNullIfErr;
       if (pDecimalSeparator == null) {
        pDecimalSeparator = ".";
       if (pDecimalSeparator.length() != 1) {
        pDecimalSeparator = ".";
       DecimalFormatSymbols mySymbols = new DecimalFormatSymbols();
       mySymbols.setDecimalSeparator(pDecimalSeparator.charAt(0));
       internalParser = new DecimalFormat("#.#", mySymbols);
       internalParser.setParseBigDecimal(true);
       internalParsePosition = new ParsePosition(0);
      /* This function returns null in case an Exception occurs during the parsing of the String as a Number */
      public Number parse(String pString, Warning Odiwarn) throws Exception {
       internalParsePosition.setIndex(0);
       Number x= internalParser.parse(pString.trim(), internalParsePosition);
       if ((pString.trim().length()>internalParsePosition.getIndex()))
       { x=null;
        if (colNullIfErr=="0"){
        throw new Exception (odiColname+" "+pString.trim()+" Invalid number\n");
        if (colNullIfErr=="1")
         Odiwarn.AddWarn(odiColname+": "+pString.trim()+" Invalid number");
       return x;
    /* This class is the formatter for Dates that are to be read from the source file */
    class OdiDateFormatIN{
      OdiStringUtils myStringUtils;
      SimpleDateFormat internalParser;
      ParsePosition internalParsePosition;
      String odiColname;
      String colNullIfErr;
      String localPattern="";
      public OdiDateFormatIN(String pPattern, OdiStringUtils pStringUtils, String pColname, String pColNullIfErr) {
       myStringUtils = pStringUtils;
       odiColname = pColname;
       colNullIfErr=pColNullIfErr;
       if (pPattern == null) {
        localPattern = "dd/MM/yyyy";
       } else localPattern=pPattern;
       //internalParser = new SimpleDateFormat(pPattern);
       //internalParsePosition = new ParsePosition(0);
      /* This method returns null if an error occurs when parsing the String as a date */
      public Date parse(String pString, Warning Odiwarn) throws Exception {
       internalParser = new SimpleDateFormat(localPattern);
       internalParsePosition = new ParsePosition(0);
       internalParsePosition.setIndex(0);
       internalParser.setLenient(false);
       Date x= internalParser.parse(pString.trim(),internalParsePosition);
       //trace("this is bad file");
       if (internalParsePosition.getErrorIndex() > -1 && pString.length()>0 )
       { x=null;
        if (colNullIfErr=="1") {
         Odiwarn.AddWarn(odiColname+": "+pString.trim()+" Invalid date");
        if (colNullIfErr=="0") {
        throw new Exception (odiColname+" "+pString.trim()+" Invalid date\n");
       return x;
    /* This class is the formatter for Dates that are to be written to the target file */
    class OdiDateFormatOUT{
      OdiStringUtils myStringUtils;
      SimpleDateFormat internalParser;
      String colName;
      String colMandatory;
      String colFormat;
      String colDecSep;
      String colNullIfErr;
      int    colBytes;
      Date xDate;
       private void check(Warning Odiwarn) throws Exception
       if (false)
        {if (colNullIfErr=="0"){
         throw new Exception ("Column "+ colName+" : "+xDate+" Value too long\n");
         if (colNullIfErr=="1")
          Odiwarn.AddWarn("Column "+ colName+" : "+xDate+" Value too long\n");
      public OdiDateFormatOUT(String pColName,String pColMandatory, String pColFormat,String pColDecSep, String pColNullIfErr,OdiStringUtils pStringUtils)
       myStringUtils = pStringUtils;
       colName = pColName;
       colMandatory = pColMandatory;
       colFormat = pColFormat;
       colDecSep = pColDecSep;
       colNullIfErr = pColNullIfErr;
       colBytes = 0;
       if (colFormat == null) {
        colFormat = "dd/MM/yyyy";
       internalParser = new SimpleDateFormat(colFormat);
      public void format(Date pDate, StringBuilder pStringBuilder,Warning Odiwarn) throws Exception {
       xDate=pDate;
       this.check(Odiwarn);
       if (xDate != null) {
        pStringBuilder.append(internalParser.format(xDate));
    class Warning
    boolean warning;
    String warntext;
    int currentLine;
    int nbWarn;
    public Warning ()
      warning=false;
      warntext="";
    public void New (int i)
      warning=false;
      warntext="";
      currentLine=i;
      nbWarn=0;
    public void AddWarn (String txt)
        if (warning) {
        warntext=warntext+"\n"+txt;
         } else {
        warntext=warntext+"\n"+txt;
      warning=true;
      nbWarn+=1;
    /* This class contains the code of the Thread that reads a line from the source file, processes a line and writes the output to the Target */
    class OdiFileTransformer extends Thread {
      OdiStringUtils myStringUtils= new OdiStringUtils();
      Scanner myScanner;
      Warning Odiwarn=new Warning();
      <?
        createInputFormaters();
        createOutputFormaters();
      ?>
      String tmpString;
       String[] srcCols;
      <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C1;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C2;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C3;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C4;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C5;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C6;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C7;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C8;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C9;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C10;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C11;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C12;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C13;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C14;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C15;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C16;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C17;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C18;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C19;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C20;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C21;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C22;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C23;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C24;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C25;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C26;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C27;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C28;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C29;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C30;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C31;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C32;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C33;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C34;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C35;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C36;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C37;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C38;
       <? if ("DATE".equals("STRING")) {?>Date<? } else if ("NUMERIC".equals("STRING")) {?>Number<? } else { ?>String<? } ?> srcColsCTCL_C39;
      String srcRecordSeparator;
      String trgRecordSeparator;
      String trgLineSeparator;
      StringBuilder myStringBuilder;
      public OdiFileTransformer(Scanner pScanner){
       super();
       myScanner = pScanner;
       tmpString = null;
       this.setName("OdiFileTransformer");
        srcCols = new String[1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1];
       srcRecordSeparator = Pattern.quote(",");
       trgRecordSeparator = ",";
       trgLineSeparator = "\n";
       myStringBuilder = new StringBuilder();
      public void run() {
      boolean bad = false;
      try {
       while (doWeContinueBatch){
        /* The calls to the Scanner need to be synchronized manually as it is not threadsafe */
        synchronized(lock) {
         if (myScanner.hasNext()) {
          tmpString=myScanner.next();
          nbLine+=1;
         } else {
          return;
        bad = false;
        Odiwarn.New(nbLine);
        try {
        srcCols = tmpString.split(srcRecordSeparator);
        /* The Filters are generated as if Statements that go to the next row to process if any condition is false */
        /* We start the processing of the line by clearing the StringBuilder */
        myStringBuilder.setLength(0);
        <? createInputFormaters("CTCL.C1"); ?><? createInputFormaters("CTCL.C2"); ?><? createInputFormaters("CTCL.C3"); ?><? createInputFormaters("CTCL.C4"); ?><? createInputFormaters("CTCL.C5"); ?><? createInputFormaters("CTCL.C6"); ?><? createInputFormaters("CTCL.C7"); ?><? createInputFormaters("CTCL.C8"); ?><? createInputFormaters("CTCL.C9"); ?><? createInputFormaters("CTCL.C10"); ?><? createInputFormaters("CTCL.C11"); ?><? createInputFormaters("CTCL.C12"); ?><? createInputFormaters("CTCL.C13"); ?><? createInputFormaters("CTCL.C14"); ?><? createInputFormaters("CTCL.C15"); ?><? createInputFormaters("CTCL.C16"); ?><? createInputFormaters("CTCL.C17"); ?><? createInputFormaters("CTCL.C18"); ?><? createInputFormaters("CTCL.C19"); ?><? createInputFormaters("CTCL.C20"); ?><? createInputFormaters("CTCL.C21"); ?><? createInputFormaters("CTCL.C22"); ?><? createInputFormaters("CTCL.C23"); ?><? createInputFormaters("CTCL.C24"); ?><? createInputFormaters("CTCL.C25"); ?><? createInputFormaters("CTCL.C26"); ?><? createInputFormaters("CTCL.C27"); ?><? createInputFormaters("CTCL.C28"); ?><? createInputFormaters("CTCL.C29"); ?><? createInputFormaters("CTCL.C30"); ?><? createInputFormaters("CTCL.C31"); ?><? createInputFormaters("CTCL.C32"); ?><? createInputFormaters("CTCL.C33"); ?><? createInputFormaters("CTCL.C34"); ?><? createInputFormaters("CTCL.C35"); ?><? createInputFormaters("CTCL.C36"); ?><? createInputFormaters("CTCL.C37"); ?><? createInputFormaters("CTCL.C38"); ?><? createInputFormaters("CTCL.C39"); ?>
        <?= replaceMappings("outC1Formatter.format(CTCL.C1,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC2Formatter.format(CTCL.C2,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC3Formatter.format(CTCL.C3,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC4Formatter.format(CTCL.C4,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC5Formatter.format(CTCL.C5,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC6Formatter.format(CTCL.C6,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC7Formatter.format(CTCL.C7,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC8Formatter.format(CTCL.C8,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC9Formatter.format(CTCL.C9,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC10Formatter.format(CTCL.C10,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC11Formatter.format(CTCL.C11,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC12Formatter.format(CTCL.C12,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC13Formatter.format(CTCL.C13,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC14Formatter.format(CTCL.C14,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC15Formatter.format(CTCL.C15,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC16Formatter.format(CTCL.C16,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC17Formatter.format(CTCL.C17,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC18Formatter.format(CTCL.C18,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC19Formatter.format(CTCL.C19,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC20Formatter.format(CTCL.C20,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC21Formatter.format(CTCL.C21,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC22Formatter.format(CTCL.C22,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC23Formatter.format(CTCL.C23,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC24Formatter.format(CTCL.C24,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC25Formatter.format(CTCL.C25,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC26Formatter.format(CTCL.C26,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC27Formatter.format(CTCL.C27,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC28Formatter.format(CTCL.C28,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC29Formatter.format(CTCL.C29,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC30Formatter.format(CTCL.C30,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC31Formatter.format(CTCL.C31,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC32Formatter.format(CTCL.C32,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC33Formatter.format(CTCL.C33,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC34Formatter.format(CTCL.C34,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC35Formatter.format(CTCL.C35,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC36Formatter.format(CTCL.C36,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC37Formatter.format(CTCL.C37,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC38Formatter.format(CTCL.C38,myStringBuilder,Odiwarn);") ?><?= "myStringBuilder.append(trgRecordSeparator);" ?><?= replaceMappings("outC39Formatter.format(CTCL.C39,myStringBuilder,Odiwarn);") ?>
        myStringBuilder.append(trgLineSeparator);
        pBufferedWriter.write(myStringBuilder.toString());
        if (Odiwarn.warning)
         pBufferedLogWriter.append("\nwarning line: "+Odiwarn.currentLine+"\t"+Odiwarn.warntext);
         addWarning();
        addInserted();
        catch (Exception e) {
         // TODO: handle exception
         pBufferedLogWriter.append("\nError line: "+nbLine+"\t"+e.getMessage());
         e.printStackTrace();
         pBufferedBadWriter.append(tmpString+"\n");
         synchronized(lock) {
          nbError+=1;
          if (nbError >=1)
           {pBufferedLogWriter.append("Maximum number of errors reached \n");
              doWeContinueBatch=false;
              maxErrorReach=true;
           return;}
      catch (Exception e) {
       throw(new RuntimeException(e.getMessage()));
    static class OdiFileFilter implements FilenameFilter {
      Pattern myPattern;
      BufferedWriter myLogWriter;
      public OdiFileFilter (String pPattern,BufferedWriter logWriter) throws IOException {
       File pWorkSchema = new File("<?=snpRef.getSchemaName("CT_Sample", "D") ?>");
       StringBuilder buffer = new StringBuilder();
       pPattern = pWorkSchema.getAbsolutePath().replace("\\", "/") + "/" + pPattern;
       myLogWriter=logWriter;
       char[] chars = pPattern.toCharArray();
       for (int i = 0; i < chars.length; ++i)    {
        buffer.append(chars[i]);
       myPattern = Pattern.compile(buffer.toString());
       myLogWriter.append("\nPattern: " + buffer.toString());
      public boolean accept(File pDir, String pName) {
       Matcher myMatcher = myPattern.matcher(pDir.getAbsolutePath().replace("\\", "/") + "/" + pName);
       System.out.println("" + myMatcher.matches() + pDir.getAbsolutePath().replace("\\", "/") + "/" + pName);
       return myMatcher.matches();
    public static void main(String[] args) throws Exception{
      LOG_FILE =
      BAD_FILE =
       String wbadfile = "<?=snpRef.getObjectName("L", "FILE_OK.csv", "CT_Sample", "", "D") ?>.bad";
       String wlogfile = "<?=snpRef.getObjectName("L", "FILE_OK.csv", "CT_Sample", "", "D") ?>.log";
      <?= getOdiClassName() ?> myIKMFileProcessing = new <?= getOdiClassName() ?>("<?=snpRef.getObjectName("L", "FILE_OK.csv", "CT_Sample", "", "D") ?>",wlogfile,wbadfile);
      File[] inputFileList;
      OdiFileFilter myFileFilter = new OdiFileFilter("<?=snpRef.getObjectShortName("L", "Pfizer_Regional_CT_costs_Aug2013_AP.csv", "CT_Sample", "D") ?>",myIKMFileProcessing.pBufferedLogWriter);
      File inputDir = new File("<?=snpRef.getSchemaName("CT_Sample", "D") ?>");
      inputFileList = inputDir.listFiles(myFileFilter);
      String s="";
      if (inputFileList.length==0) {myIKMFileProcessing.pBufferedLogWriter.append("\n\tError : Source file does not exist");}
      for (int i=0;i<inputFileList.length;i++) {
       if (myIKMFileProcessing.getDoWeContinueBatch()) {
       s=myIKMFileProcessing.processInputFile(inputFileList[i]);
      myIKMFileProcessing.pBufferedLogWriter.append(s);
      myIKMFileProcessing.pBufferedLogWriter.flush();
    public String processInputFile(File pInputFile) throws Exception {
      /* We open the source File by taking the encoder into account if needed */
       Scanner myScanner = new Scanner(new BufferedReader(new FileReader(pInputFile)));
        pBufferedLogWriter.append("\nInput file:\t\t"+pInputFile.getAbsolutePath().replace("\\", "/"));
      /* We use a Scanner as the record separator might not necessarily be \n */
      myScanner.useDelimiter("\n");
      /* We read the first lines in order to ignore them depending on the setting of the source datastore */
      for (int i=0;i < 0;i++){
       if (myScanner.hasNext()) {
        myScanner.next();
        nbLine+=1;
        nbHeader+=1;
      OdiFileTransformer[] odiFileTransformers = new OdiFileTransformer[NB_THREADS];
      for (int i=0;i<NB_THREADS;i++){
       odiFileTransformers[i] = new OdiFileTransformer(myScanner );
      for (int i=0;i<NB_THREADS;i++){
       odiFileTransformers[i].start();
      for (int i=0;i<NB_THREADS;i++){
       odiFileTransformers[i].join();
      end=new Date();
        if (maxErrorReach)
        pBufferedLogWriter.append("\n\tNumber of lines read for this file:\t\t" + nbLine);
        pBufferedLogWriter.append("\n\tNumber of data lines read for this file:\t\t" + (nbLine-1) + "\n\n\n");
        pBufferedLogWriter.append("\n\tNumber of error lines read for this file:\t\t" + (nbError-nbErrorInPrevFiles));
        pBufferedLogWriter.append("\n\tNumber of data lines read and filtered out for this file:\t\t" + (nbFilter-nbFilterInPrevFiles)+"\n");
      else
         pBufferedLogWriter.append("\n\tNumber of lines for this file:\t\t" + nbLine);
         pBufferedLogWriter.append("\n\tNumber of data lines for this file:\t\t" + (nbLine-1));
         pBufferedLogWriter.append("\n\tNumber of error lines for this file:\t\t" + (nbError-nbErrorInPrevFiles));
         pBufferedLogWriter.append("\n\tNumber of data lines filtered out for this file:\t\t" + (nbFilter-nbFilterInPrevFiles)+"\n");
        nbFiles+=1;
        nbTotalLine+=nbLine;
        nbErrorInPrevFiles = nbError;
        nbFilterInPrevFiles = nbFilter;
        nbLine=0;
        String s = "\n\n\n\n************************** TOTAL FIGURES ********************************";
        s = s + "\n\t"+nbFiles+" input file(s) processed.\n";
        s = s + "\n\t"+nbTotalLine+" Rows successfully read.\n" ;
        s = s +"\t"+nbHeader+" Rows skipped (Header).\n" ;
        s = s + "\t"+nbInserted+" Rows successfully loaded.\n" ;
        s = s +"\t\t==>"+nbWarning+" Rows loaded with warning.\n" ;
        s = s +"\t"+nbError+" Rows not loaded due to data errors.\n" ;
        s = s +"\t"+nbFilter+" Rows not loaded because of filter.\n" ;
        s = s + "\n\n\n";
        s = s + "\n\tRun began on "+debut;
        s = s + "\n\tRun ended on "+end;
        //long x=   ;
        s = s + "\n\tElapsed time was:\t"+Math.abs(end.getTime() - debut.getTime())+" milliseconde";
      /* We flush the buffer for any data that has not been written on the disk yet */
      pBufferedWriter.flush();
      pBufferedLogWriter.flush();
      pBufferedBadWriter.flush();
      return s;
    at com.sunopsis.dwg.dbobj.SnpSessStep.createTaskLogs(SnpSessStep.java:738)
    at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:461)
    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2093)
    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:366)
    at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)
    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:300)
    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:292)
    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:855)
    at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)
    at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)
    at java.lang.Thread.run(Thread.java:662)

    This seems like a lot of code. I would suggest to compile your custom code outside of odi first to debug any syntax errors.

  • Error calling pl/sql function in target column

    Hi guys,
    I get this error when calling my function in ODI:
    Caused By: java.sql.SQLSyntaxErrorException: ORA-00904: "mySchema"."GET_ODI_DEFAULT_VALUE(1)": ongeldige ID --> 1 is an IN parameter
    while in sql developer I get a good result with following query:
    select mySchema.get_odi_default_value(1) from dual;
    In my target table for the primary key I call a sequence from mySchema and this works fine.
    I've tried the following synxtax in the mapping of my target column:
    - <%=odiRef.getObjectName( "L","GET_ODI_DEFAULT_VALUE(1)", "D" )%>
    - <%=odiRef.getObjectName( "L","GET_ODI_DEFAULT_VALUE", "D" )(1)%>
    Thanks for you advice

    iadgroe wrote:
    how to bring oracle function into ODI
    I thought for objects like sequences and functions you had to use 'odiRef.getObjectName' to get access to them.
    Am I wrong because now I'm a little confused???Hi,
    Best practices would be to use getobjectname method as this way your not hardcoding anything into the interface and you are referencing the logical object only, which means you can change the logical object later and not have to worry about changing the interfaces.

  • Seeded Page is erroring out in JDeveloper

    I copied few seeded page (MgrMainAppraiserPG, HierachyPG) from the APPL_TOP.
    When I am running the MgrMainAppraiserPG, it is erroring out with error
    'java.sql.SQLException: ORA-01008: not all variables bound'
    I have not done any changes and running the page after copying the xml file.
    Any idea why I am getting this error?
    oracle.apps.fnd.framework.OAException: oracle.jbo.SQLStmtException: JBO-27122: SQL error during statement preparation. Statement: SELECT * FROM (select decode(fnd_profile.value('BEN_DISPLAY_EMPLOYEE_NAME'),'FN',ppf.full_name, ppf.first_name||' '|| ppf.last_name) full_name,
    hr_person_type_usage_info.get_user_person_type(ppf.effective_end_date, ppf.person_id) person_type,
    Decode(paf.assignment_type,
              'C', hr_general.decode_lookup('CWK_ASG_CATEGORY', paf.employment_category),
    hr_general.decode_lookup('EMP_CAT', paf.employment_category)
    )employment_category,
    ppf.start_date, ppf.original_date_of_hire,
    decode(paf.period_of_service_id, null, pop.date_start, pos.date_start) date_start,
    decode(paf.period_of_service_id, null, pop.actual_termination_date, pos.actual_termination_date) actual_termination_date,
    Decode(paf.assignment_type,
              'C', hr_general.decode_lookup('HR_CWK_TERMINATION_REASONS', pop.termination_reason),
    hr_general.decode_lookup('LEAV_REAS', pos.leaving_reason)
    ) leaving_reason,
    paf.effective_start_date,
    hr_util_misc_ss.getObjectName('JOB', paf.job_id, ppf.business_group_id, jtl.name) job, paf.job_id,
    orgtl.name organization, orgtl.organization_id,
    bgtl.name business_group, bgtl.organization_id business_group_id,
    lvl.location_code,
    hr_util_misc_ss.getObjectName('GRADE', paf.grade_id, ppf.business_group_id, gtl.name) grade, paf.supervisor_id, ppf.person_id, paf.assignment_id, paf.primary_flag, paf.assignment_number,
    ppf.employee_number,
    ppf.npw_number cwk_number,
    nvl(paf.effective_start_date, ppf.effective_start_date) Asg_start_date,
    decode(nvl(paf.effective_end_date, ppf.effective_end_date), to_date('31/12/4712','DD/MM/RRRR'), null, nvl(paf.effective_end_date, ppf.effective_end_date) ) Asg_end_date,
    hr_general.decode_lookup('YES_NO', paf.primary_flag) Prim_Flag,
    lvl.derived_locale,
    v.vendor_name Supplier,
    paf.VENDOR_ASSIGNMENT_NUMBER Supplier_id_assignment,
    paf.VENDOR_EMPLOYEE_NUMBER Supplier_id_worker,
    Decode(paf.assignment_type,
              'C', hr_general.decode_lookup('HR_CWK_TERMINATION_REASONS', pop.termination_reason),
    hr_general.decode_lookup('LEAV_REAS', pos.leaving_reason)
    )term_reason,
    decode(ppf.rehire_recommendation, 'N', null, hr_general.decode_lookup('YES_NO', ppf.rehire_recommendation)) rehire,
    ast.user_status assignment_status,
    decode(paf.period_of_service_id, null, pop.date_start, pos.date_start) latest_hire_date,
    hr_util_misc_ss.getObjectName('POSITION', paf.position_id, ppf.business_group_id, ptl.name) position,
    ppf.REHIRE_REASON,
    paf.supervisor_assignment_id,
    null Work_Phone,
    null Position_Id,
    null Disc_Title,
    'Y' Manager_Enabled,
    null Payroll,
    null Normal_Hours,
    'Y1' details_enabled,
    ppf.email_address,
    org_info.org_information9 LegislationCode
    from per_assignments_f2 paf, per_assignment_status_types_tl ast,
    per_people_f ppf,
    hr_all_organization_units_tl orgtl, hr_all_organization_units_tl bgtl,
    per_jobs_tl jtl, hr_all_positions_f_tl ptl, hr_locations_all_vl lvl, po_vendors v,
    per_grades_tl gtl, per_periods_of_service pos, per_periods_of_placement pop, hr_organization_information org_info
    where trunc(sysdate) between paf.effective_start_date and paf.effective_end_date
    and trunc(sysdate) between ppf.effective_start_date and ppf.effective_end_date
    and (ppf.current_employee_flag = 'Y' or ppf.current_npw_flag = 'Y')
    and paf.primary_flag = decode(:0 ,'Y', paf.primary_flag, 'Y')
    and paf.assignment_type in ('E','C')
    and paf.person_id = ppf.person_id
    and paf.vendor_id = v.vendor_id(+)
    and paf.assignment_status_type_id = ast.assignment_status_type_id
    and ast.language = userenv('LANG')
    and paf.period_of_service_id = pos.period_of_service_id(+)
    and paf.period_of_placement_date_start = pop.date_start(+)
    and paf.person_id = pop.person_id(+)
    and paf.job_id = jtl.job_id(+)
    and jtl.language(+) = userenv('LANG')
    and paf.position_id = ptl.position_id(+)
    and ptl.language(+) = userenv('LANG')
    and paf.organization_id = orgtl.organization_id
    and orgtl.language = userenv('LANG')
    and ppf.business_group_id = bgtl.organization_id
    and bgtl.language = userenv('LANG')
    and paf.location_id = lvl.location_id(+)
    and paf.grade_id = gtl.grade_id(+)
    and gtl.language(+) = userenv('LANG')
    and org_info.organization_id = ppf.business_group_id
    and org_information_context = 'Business Group Information') QRSLT WHERE (:1 = SUPERVISOR_ID)AND (:2 = SUPERVISOR_ASSIGNMENT_ID or hr_general2.supervisor_assignments_in_use = 'FALSE' ) ORDER BY FULL_NAME
         at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:888)
         at oracle.apps.fnd.framework.webui.OAPageErrorHandler.prepareException(OAPageErrorHandler.java:1145)
         at oracle.apps.fnd.framework.webui.OAPageBean.renderDocument(OAPageBean.java:2898)
         at oracle.apps.fnd.framework.webui.OAPageBean.renderDocument(OAPageBean.java:2700)
         at OA.jspService(OA.jsp:48)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
         at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:209)
         at com.evermind.server.http.GetParametersRequestDispatcher.forward(GetParametersRequestDispatcher.java:189)
         at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:199)
         at OA.jspService(OA.jsp:45)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
         at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:209)
         at com.evermind.server.http.GetParametersRequestDispatcher.forward(GetParametersRequestDispatcher.java:189)
         at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:199)
         at OA.jspService(OA.jsp:45)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
         at java.lang.Thread.run(Thread.java:534)
    ## Detail 0 ##
    java.sql.SQLException: ORA-01008: not all variables bound
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
         at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
         at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:583)
         at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1983)
         at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1141)
         at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2487)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2854)
         at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:622)
         at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:550)
         at oracle.jbo.server.QueryCollection.buildResultSet(QueryCollection.java:627)
         at oracle.jbo.server.QueryCollection.executeQuery(QueryCollection.java:515)
         at oracle.jbo.server.ViewObjectImpl.executeQueryForCollection(ViewObjectImpl.java:3347)
         at oracle.jbo.server.OAJboViewObjectImpl.executeQueryForCollection(OAJboViewObjectImpl.java:825)
         at oracle.apps.fnd.framework.server.OAViewObjectImpl.executeQueryForCollection(OAViewObjectImpl.java:4465)
         at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:574)
         at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:538)
         at oracle.jbo.server.ViewRowSetIteratorImpl.ensureRefreshed(ViewRowSetIteratorImpl.java:2369)
         at oracle.jbo.server.ViewRowSetIteratorImpl.refresh(ViewRowSetIteratorImpl.java:2586)
         at oracle.jbo.server.ViewRowSetImpl.notifyRefresh(ViewRowSetImpl.java:1674)
         at oracle.jbo.server.ViewRowSetImpl.refreshRowSet(ViewRowSetImpl.java:3703)
         at oracle.jbo.server.ViewRowSetIteratorImpl.notifyDetailRowSets(ViewRowSetIteratorImpl.java:3018)
         at oracle.jbo.server.ViewRowSetIteratorImpl.notifyNavigation(ViewRowSetIteratorImpl.java:3126)
         at oracle.jbo.server.ViewRowSetIteratorImpl.internalSetCurrentRow(ViewRowSetIteratorImpl.java:2910)
         at oracle.jbo.server.ViewRowSetIteratorImpl.first(ViewRowSetIteratorImpl.java:1257)
         at oracle.jbo.server.ViewRowSetImpl.first(ViewRowSetImpl.java:2363)
         at oracle.jbo.server.ViewObjectImpl.first(ViewObjectImpl.java:5231)
         at oracle.apps.fnd.framework.webui.OADataBoundValueHGrid.getValue(OADataBoundValueHGrid.java:85)
         at oracle.apps.fnd.framework.webui.OAWebBeanHelper.getAttributeValueImpl(OAWebBeanHelper.java:1760)
         at oracle.apps.fnd.framework.webui.beans.table.OAHGridBean.getAttributeValueImpl(OAHGridBean.java:509)
         at oracle.cabo.ui.BaseUINode.getAttributeValue(Unknown Source)
         at oracle.cabo.ui.laf.base.desktop.table.HGridRenderingContext.getTableDataFromBean(Unknown Source)
         at oracle.cabo.ui.laf.base.xhtml.TableRenderingContext.<init>(Unknown Source)
         at oracle.cabo.ui.laf.base.desktop.table.HGridRenderingContext.<init>(Unknown Source)
         at oracle.cabo.ui.laf.base.desktop.HGridRenderer.createRenderingContext(Unknown Source)
         at oracle.cabo.ui.laf.base.xhtml.TableRenderer.getTableRenderingContext(Unknown Source)
         at oracle.cabo.ui.laf.base.xhtml.TableRenderer.renderContent(Unknown Source)
         at oracle.cabo.ui.laf.base.desktop.TableRenderer.renderContent(Unknown Source)
         at oracle.cabo.ui.laf.base.desktop.HGridRenderer.renderContent(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
         at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
         at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
         at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
         at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.composite.ContextPoppingUINode$ContextPoppingRenderer.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
         at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
         at oracle.cabo.ui.laf.oracle.desktop.HeaderRenderer.renderContent(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
         at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
         at oracle.cabo.ui.laf.base.xhtml.BorderLayoutRenderer.renderIndexedChildren(Unknown Source)
         at oracle.cabo.ui.laf.base.xhtml.BorderLayoutRenderer.renderContent(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
         at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
         at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.composite.UINodeRenderer.renderWithNode(Unknown Source)
         at oracle.cabo.ui.composite.UINodeRenderer.render(Unknown Source)
         at oracle.cabo.ui.laf.oracle.desktop.PageLayoutRenderer.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
         at oracle.cabo.ui.laf.base.xhtml.XhtmlLafRenderer.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
         at oracle.cabo.ui.laf.base.xhtml.BodyRenderer.renderContent(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.apps.fnd.framework.webui.beans.OABodyBean.render(OABodyBean.java:398)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
         at oracle.cabo.ui.laf.base.xhtml.DocumentRenderer.renderContent(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
         at oracle.cabo.ui.laf.base.xhtml.DocumentRenderer.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.partial.PartialPageUtils.renderPartialPage(Unknown Source)
         at oracle.apps.fnd.framework.webui.OAPageBean.render(OAPageBean.java:3209)
         at oracle.apps.fnd.framework.webui.OAPageBean.renderDocument(OAPageBean.java:2888)
         at oracle.apps.fnd.framework.webui.OAPageBean.renderDocument(OAPageBean.java:2700)
         at OA.jspService(OA.jsp:48)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
         at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:209)
         at com.evermind.server.http.GetParametersRequestDispatcher.forward(GetParametersRequestDispatcher.java:189)
         at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:199)
         at OA.jspService(OA.jsp:45)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
         at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:209)
         at com.evermind.server.http.GetParametersRequestDispatcher.forward(GetParametersRequestDispatcher.java:189)
         at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:199)
         at OA.jspService(OA.jsp:45)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
         at java.lang.Thread.run(Thread.java:534)

    This error is due to Bind Variables.
    When you run this page alone in JDEV, the page doesn't go thru the actual flow, which was designed for. So, the call to bind the variables may not be called when run in standalone.
    So, to test this page, you need to setup the Environment to go thru the same flow as when deployed.
    HTH
    Srini

  • Capturing Runtime Error Messages From ODI (Sunopsis) Operator

    Hi
    I have following question
    1) I want to capture error message of an activity that has failed during execution
    I have created a variable and used following query to capture it
    select T.TXT
    from <%=odiRef.getObjectName("L","SNP_EXP_TXT","D")%> T,
    <%=odiRef.getObjectName("L","SNP_STEP_LOG","D")%> S
    where S.SESS_NO = <%=odiRef.getSession("SESS_NO")%>
    and S.I_TXT_STEP_MESS = T.I_TXT
    order by T.TXT_ORD asc
    unfortunatly am not getting entire error message ,instead am getting first row of the error from SNP_EXP_TXT table.How to get entire error message in a variable.
    2) How can we know scenario name if we know session number?
    Please provide your inputs
    Thanks
    Baji

    Hi,
    Don't use this query, it won't work.
    Use the API GetPrevStepLog, it is simple and better...
    Take a look at:
    Use the http://www.oracle.com/technology/products/oracle-data-integrator/10.1.3/htdocs/documentation/oracledi_api_reference.pdf
    For the session name, just use getSession() Method ( too is at the pdf)
    I hope be helpful.
    Cezar
    Edited by: Cezar Santos on 21/11/2008 09:16

  • ODI Error while using substring function in odiref.getTable function

    Hi,
    I am trying to strip the interface table name in the IKM code.Below is the code
    create unique index      <%=odiRef.getTable("L","INT_NAME","W").substring(0,20)%>
    *on          <%=odiRef.getTable("L","INT_NAME","W")%>(<%=odiRef.getColList("", "[COL_NAME]", ", ", "", "UK")%>)*
    *<%=odiRef.getUserExit("FLOW_TABLE_OPTIONS")%>*
    But i get the below error, can some one please help ?
    com.sunopsis.tools.core.exception.SnpsSimpleMessageException: Error during task interpretation
    Task:8
    java.lang.Exception: BeanShell script error: Parse error at line 2, column 10. Encountered: ( BSF info: Create Unique Index on flow table at line: 0 column: columnNo
         at com.sunopsis.dwg.codeinterpretor.SnpCodeInterpretor.transform(SnpCodeInterpretor.java:635)
         at com.sunopsis.dwg.dbobj.SnpSessStep.createTaskLogs(SnpSessStep.java:671)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:441)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:1954)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:322)
         at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:224)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:246)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:237)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:794)
         at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:114)
         at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)
         at java.lang.Thread.run(Thread.java:662)
    Caused by: org.apache.bsf.BSFException: BeanShell script error: Parse error at line 2, column 10. Encountered: ( BSF info: Create Unique Index on flow table at line: 0 column: columnNo
         at bsh.util.BeanShellBSFEngine.eval(Unknown Source)
         at bsh.util.BeanShellBSFEngine.exec(Unknown Source)
         at com.sunopsis.dwg.codeinterpretor.SnpCodeInterpretor.transform(SnpCodeInterpretor.java:621)
         ... 11 more
    Text:create unique index      <?=snpRef.getObjectN
    on          <?=snpRef.getObjectName("L", "%INT_PRFL1_PROC_SHR_APRC_AMTZ_RQST", "W") ?>(WKFL_ACTV_ID)
    NOLOGGING
         at com.sunopsis.dwg.dbobj.SnpSessStep.createTaskLogs(SnpSessStep.java:692)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:441)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:1954)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:322)
         at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:224)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:246)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:237)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:794)
         at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:114)
         at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)
         at java.lang.Thread.run(Thread.java:662)
    Thanks,
    Babu.

    Hi Ram,
    please check, if the note 1396300 is implemented in your system?
    If so,  check the table T777F.
    It should have the following entries:
    MANDT ISTAT INFTY  FCODE
    002   1     ****   AEND
    002   1     ****   COP
    002   1     ****   CUTI
    002   1     ****   DEL
    002   1     ****   DISP
    002   1     ****   INSE
    002   1     ****   LISD
    002   1     ****   PLVO
    In case these entries are missing, please do an adjustment with your 000-client.
    Hope this help
    Sarah

  • "Invalid Expression " Error with Refreshing variable

    Hi
    When ever i try to validata following query in Refreshing tab of a variable, I am getting invalid expression error
    select USER_NAME from SNP_SESSION where SESS_NO = <%=odiRef.getSession()%>
    if i use following Query
    select STEP_MESS
    from <%=snpRef.getObjectName("L","SNP_STEP_LOG","D")%>
    where SESS_NO = <%=snpRef.getSession("SESS_NO")%>
    and STEP_STATUS = 'E'
    Its giving invalid table
    Need your suggestions
    Thanks
    Baji

    Hi
    Thanks alot for your information .But when ever i click on "Refresh" button available in refrshing tab.I am able to see following error in operator
    Execution
    java.sql.SQLException: ORA-00900: invalid SQL statement
    Description
    BeanShell script error: Sourced file: inline evaluation of: ``out.print("select USER_NAME from SNP_SESSION where SESS_NO = ") ; out.print(odiR . . . '' : Error in method invocation: Method getSession() not found in class'com.sunopsis.dwg.snpreference.b' : at Line: 2 : in file: inline evaluation of: ``out.print("select USER_NAME from SNP_SESSION where SESS_NO = ") ; out.print(odiR . . . '' : odiRef .getSession ( )
    BSF info: Filter_Records at line: 0 column: columnNo
    out.print("select USER_NAME from SNP_SESSION where SESS_NO = ") ;
    out.print(odiRef.getSession()) ;
    out.print(" \n\n\n\n\n\n") ;
    ****** ORIGINAL TEXT ******
    select USER_NAME from SNP_SESSION where SESS_NO = <%=odiRef.getSession()%>
    Thanks
    Baji

  • 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

  • ODI-17517: Error during task interpretation

    Hi Gurus,
    I try execute my interface, and ODI gives me this error. Does anybody knows what is this? I try to load essbase cube with ODI.
    com.sunopsis.tools.core.exception.SnpsSimpleMessageException: ODI-17517: Error during task interpretation.
    Task: 2
    java.lang.Exception: The application script threw an exception: com.sunopsis.tools.core.exception.SnpsSimpleMessageException: Exception getObjectName("L", "FACT_CUR", "LOG_ORACLE_DATABASE_PERO", "ESSBASE_CONTEXT", "D") : SnpPschemaCont.getObjectByIdent :  SnpPschemaCont does not exist BSF info: Load data into essbase at line: 0 column: columnNo
      at com.sunopsis.dwg.codeinterpretor.SnpCodeInterpretor.transform(SnpCodeInterpretor.java:489)
      at com.sunopsis.dwg.dbobj.SnpSessStep.createTaskLogs(SnpSessStep.java:737)
      at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:465)
      at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2128)
      at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:366)
      at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)
      at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:300)
      at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:292)
      at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:855)
      at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)
      at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)
      at java.lang.Thread.run(Thread.java:724)
    Caused by: java.lang.Exception: The application script threw an exception: com.sunopsis.tools.core.exception.SnpsSimpleMessageException: Exception getObjectName("L", "FACT_CUR", "LOG_ORACLE_DATABASE_PERO", "ESSBASE_CONTEXT", "D") : SnpPschemaCont.getObjectByIdent :  SnpPschemaCont does not exist BSF info: Load data into essbase at line: 0 column: columnNo
      at com.sunopsis.dwg.codeinterpretor.SnpCodeInterpretor.transform(SnpCodeInterpretor.java:476)
      ... 11 more
    Caused by: org.apache.bsf.BSFException: The application script threw an exception: com.sunopsis.tools.core.exception.SnpsSimpleMessageException: Exception getObjectName("L", "FACT_CUR", "LOG_ORACLE_DATABASE_PERO", "ESSBASE_CONTEXT", "D") : SnpPschemaCont.getObjectByIdent :  SnpPschemaCont does not exist BSF info: Load data into essbase at line: 0 column: columnNo
      at bsh.util.BeanShellBSFEngine.eval(Unknown Source)
      at bsh.util.BeanShellBSFEngine.exec(Unknown Source)
      at com.sunopsis.dwg.codeinterpretor.SnpCodeInterpretor.transform(SnpCodeInterpretor.java:471)
      ... 11 more
    Text: from com.hyperion.odi.common import ODIConstants
    from com.hyperion.odi.connection import HypAppConnectionFactory
    from java.lang import Class
    from java.lang import Boolean
    from java.sql import *
    from java.util import HashMap
    # Get the select statement on the staging area:
    sql= """select   FACT_CUR.ACCOUNT    "Account",FACT_CUR.PERIOD    "Period",FACT_CUR.YEAR    "Year",FACT_CUR.SCENARIO    "Scenario",Cur    "Version",FACT_CUR.ENTITY    "Entity",FACT_CUR.PRODUCT    "Product",FACT_CUR.CURRENCY    "Currency",FACT_CUR.SEGMENT    "Segment",FACT_CUR.DATA    "Data" from <?=snpRef.getObjectName("L", "FACT_CUR", "LOG_ORACLE_DATABASE_PERO", "", "D")?>   FACT_CUR  where (1=1)     """
    srcCx = odiRef.getJDBCConnection("SRC")
    stmt = srcCx.createStatement()
    srcFetchSize=<?if("".equals(odiRef.getInfo("SRC_FETCH_ARRAY"))){out.print("1000");}else{out.print(odiRef.getInfo("SRC_FETCH_ARRAY"));}?>
    #stmt.setFetchSize(srcFetchSize)
    stmt.setFetchSize(1)
    print "executing query"
    rs = stmt.executeQuery(sql)
    print "done executing query"
    #load the data
    print "loading data"
    stats = pWriter.loadData(rs)
    print "done loading data"
    #close the database result set, connection
    rs.close()
    stmt.close().
      at com.sunopsis.dwg.dbobj.SnpSessStep.createTaskLogs(SnpSessStep.java:764)
      at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:465)
      at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2128)
      at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:366)
      at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)
      at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:300)
      at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:292)
      at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:855)
      at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)
      at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)
      at java.lang.Thread.run(Thread.java:724)

    It can't be because I have another context for that logical schema:
    Physical                                   Context                                  Logical                             
    Oracle_database.Pero                ORACLE_CONTEXT               LOG_ORACLE_DATABASE_PERO --> this is for Oracle DB
    ESSBASE.KOCKA.KOCKA          ESSBASE_CONTEXT          LOG_ESSBASE_KOCKA_KOCKA --> this is for essbase cube
    My source is on oracle db and i want load data into essbase cube. My source area is on LOG_ORACLE_DATABASE_PERO logical schema, and my target is on LOG_ESSBASE_KOCKA_KOCKA logical schema. I use "Staging Area Different from target" options.

  • Error in starting Adobe Bridge in Photoshop CS2

    I've just installed Photoshop CS2, however upon opening Adobe Bridge this error message appears " The application has failed to start because libagluc28.dll was not found. Reinstalling to application may fix the problem"
    I have reinstalled and click repair but to no avail
    I followed Adobe Support Knowledgebase solution and run CMD and this appears:
    c:Documents and Settings/Jesus M Ferraris>
    then i entered the command
    cacls c:\windows\installer /T /E /C /G administrators:F
    but an error message appears - 'cacls' is not recognized as an internal or external command, operable program or bathc file
    I also entered the next command
    cacls "c:\documents and setting\all users" /Y /E /C /G administrators:F
    still the same error as above appears, Please help, have I miss something or was my procedure correct...
    P4, 512ram, WXP 80gHD

    Very useful.
    Good Luck.
    My
    Si
    tes

Maybe you are looking for