LKM mix up in ODI 10.1.3.5.5
Hello everyone
I have written 2 LKMs in ODI 10.1.3.5.5, both of them are SQl to SQL LKMs.
Every now and then, (and I don't know how to reproduce this problem)
The sql statement of one LKM is replaced by the sql of the other lkm.
Can somebody tell me why?
Could it be a bug in ODI?
Thanks
Hello Sutirtha
I have seen the solution you have provided above. But I am using an xml file that has been imported through LCM in Hyperion and when I am reverse engineering this xml file, I am getting following tables.
Table Names Columns
CELLNOTE ---> DIM1,DIM2..DIM17,DIM1ORDER,....,DIM17ORDER,
CELLNOTES ---> CELLNOTESPK,SNPSFILENAME,SNPSFILEPATH,SNPSLOADDATE
DIMMAPPING ---> DIMMAPPINGORDER,DIMMAPPINGSFK,DIMNAME,MAPPEDAS
DIMMAPPINGS ---> CELLNOTESFK,DIMMAPPINGSORDER,DIMMAPPINGSPK
PLANTYPE ---> CELLNOTESFK,PLANNAME,PLANTYPEORDER,PLANTYPEPK
Here CELLNOTES table is similar to what to have said above. But what about the rest of tables and their mappings.
I have only mapped CELLNOTE and after executing the interface, the operator shows, 1 record has been inserted.But the same is not found in xml file.
Note : I have to load historical cell text information in Hyperion planning. The Cell text info along with valid intersections will be provided in an excel file.
So, my idea is to load the data from excel into a table and then from table to an xml file which I can upload in
Hyperion Planning through LCM.
Please provide a solution.
Thanks
Manoj K Santhalia.
Edited by: 908458 on Jan 18, 2012 10:04 PM
Similar Messages
-
ODI converts my numbers that are less than one to ZERO
hi all,
somehow ODI is rounding down/ up my number values.
a field in my source table has 0.0435 as it value, when I check the same record in the target table, the value is to 0
a field in my source table with 3.356 is set to 3 in the target table
I cannot find a setting or something that I should turn on/ off so that this doesn't happen.
thanks for your help.
ndahafa
Edited by: ndahafa on Sep 8, 2008 8:46 AM(My source and target table are on the same db, we're using Oracle 11g)
my source column is defined as a NUMBER with no precision/ scale specified
my target column is also defined as a NUMBER with no precision/ scale specified
however, I observed the following:
In the 'Create Flow Table' step of LKM SQL to SQL, ODI generates this code:
create table BIUSER.C$_0PREPCALLS_TEST
C15_ACCNUM VARCHAR2(20) NULL,
C8_GDRDATE DATE NULL,
C19_COS NUMBER(22) NULL,
C17_ORIGINNODE VARCHAR2(10) NULL,
C3_TYPE NUMBER(22) NULL,
C18_CHARGEDURATION NUMBER(22) NULL,
C1_TERM NUMBER(22) NULL,
C11_STARTBALANCE NUMBER(22) NULL,
C4_COST NUMBER(22) NULL,
C5_BYTESIN NUMBER(22) NULL,
C7_BYTESOUT NUMBER(22) NULL,
C22_ATERM NUMBER(22) NULL,
C21_PACKETIN NUMBER(22) NULL,
C13_PACKETOUT NUMBER(22) NULL,
C12_QUOTAIN NUMBER(22) NULL,
C14_QUOTAOUT NUMBER(22) NULL,
C10_DELAY NUMBER(22) NULL,
C6_TGIMSI VARCHAR2(255) NULL,
C2_TGSGSN VARCHAR2(255) NULL,
C23_CSVCTYPE VARCHAR2(255) NULL,
C9_APN NUMBER(22) NULL,
C16_FILE_NAME VARCHAR2(100) NULL,
C20_SEQ_NR NUMBER(10) NULL
) NOLOGGING
ODI creates all NUMBER colums as NUMBER(22) and I think this could be the problem and when I look in the BIUSER.C$_0PREPCALLS_TEST table the COST values in there are already rounded off/ down, so I think this is where the problem lies.
I think I should change the LKM so that it creates the 'Work Table' columns with the same datatypes as the source table. -
Getting Error while using LKM File to Oracle(SQLLDR) KM in ODI
Hi All ,
Could anyone please help me out on this error which i am getting while using LKM File to Oracle(SQLLDR)
My Scenario :
1. I have my CSV file created in one location with some records .
2. Created a new interface having this CSV file as source(File Technology) and Table as target (Oracle technology)
3. Here i want to get the contents from csv and store into the target table by using SQLLDR .For that i am using this KM- LKM File to Oracle(SQLLDR)
4. By Executing the Interface i am getting following error at step 6 -call sqlldr
org.apache.bsf.BSFException: exception from Jython:
Traceback (most recent call last):
File "<string>", line 22, in <module>
Load Error: See E:\demo1\file/SALES.log for details
at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.execInBSFEngine(SnpScriptingInterpretor.java:322)
at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.exec(SnpScriptingInterpretor.java:170)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java:2472)
at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:47)
at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:1)
at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2913)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2625)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:577)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:468)
at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java: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:662)
Caused by: Traceback (most recent call last):
File "<string>", line 22, in <module>
Load Error: See E:\demo1\file/SALES.log for details
at org.python.core.PyException.fillInStackTrace(PyException.java:70)
at java.lang.Throwable.<init>(Throwable.java:181)
at java.lang.Exception.<init>(Exception.java:29)
at java.lang.RuntimeException.<init>(RuntimeException.java:32)
at org.python.core.PyException.<init>(PyException.java:46)
at org.python.core.PyException.doRaise(PyException.java:219)
at org.python.core.Py.makeException(Py.java:1166)
at org.python.core.Py.makeException(Py.java:1170)
at org.python.pycode._pyx2.f$0(<string>:59)
at org.python.pycode._pyx2.call_function(<string>)
at org.python.core.PyTableCode.call(PyTableCode.java:165)
at org.python.core.PyCode.call(PyCode.java:18)
at org.python.core.Py.runCode(Py.java:1204)
at org.python.core.Py.exec(Py.java:1248)
at org.python.util.PythonInterpreter.exec(PythonInterpreter.java:172)
at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:144)
... 19 more
Here the sales.log file is not created in the above directory .I am not getting where it is actually went wrong.
I searched for the solution and i could not find any.Please help me out as it is high priority for me.
I tried to run SQL*Loader through command prompt and i am able to generate the data in the target table and not getting it through ODI.
Atleast is there any workaround .Please suggest me.
Environment Details: ODI_11.1.1.7.0, Oracle DB 11g
Thanks,
keerthiWhich agent are you using to execute?
Standalone? If standalone, did you start it with OPMN? I've seen such issues with standalone agent started with OPMN.
Generally these kind of issues occur when you try to run with standalone agent started with OPMN.
Because OPMN does not have access to the environment shell variables PATH or ORACLE_HOME and therefore the sqlldr.exe binary (or other Oracle product binary) is not found for execution.
In this case, you need to specify PATH and ORACLE_HOME variables in opmn.xml file like below for your agent(say "MyStandaloneAgent" in this case)
<ias-component id="MyStandaloneAgent">
<process-type id="odiagent" module-id="CUSTOM">
<environment>
<variable id="ORACLE_HOME" value="C:\oracle\product\11.2.0\client_1"/>
<variable id="PATH" value="C:\oracle\product\11.2.0\client_1\BIN;$PATH"/>
After that, start and stop the agent and try the execution once again. -
ODI behavior is not consistent in case of LKM loading.
Hi All,
I am facing a strange problem in ODI version 11.1.1
Actually, we have couple of interfaces and one master package. We are generating scenario for master package. We are exporting that scenario and keep it at specific location so that our application can pick it up and can execute it.
So the problem is something like this: If I execute scenario from ODI then it is working fine(irrespective of source and target [that may on same db (but diff schema)or different db]). But if I test this same scenario through application then it fails. So I come back to ODI and open interface, save it once again and regenerate scenario, deploy it on application. It will start working. And it may fail for other interface. I have to do same thing (opening the interface and close it after saving)once again.
Now let me come to technical point as well as my observation.
Actually, Loading knowledge module should get execute first. It will take data from source and load it in work tables(C$ tables). And then from work table to integration table(I$ table). But this is not happening in case of failed interface. Directly it is trying to fetch data from source and load it in I$ table. While doing this way, it was not able to access source table from target schema. So we were getting 'table or view does not exist' error.(All these, we are trying on same db but different schema). I am surprised because in this way it should get fail from first interface itself. Sometimes I also noticed that, for successfully executed interface, Load Knowledge module was loaded. Only in case of failed interface, Load knowledge module was not getting loaded. After re-saving of interface if we execute new scenario, then it starts working fine and it will behave just like any other successful executed interface.
We are using only one LKM i.e LKM sql to sql. Also marked it as default LKM.
I do not know why this is happening.
Please suggest me solution for this problem.
Thanks
-PallavHi,
Thanks for your answers, but it is still not what I expect
In fact, I created a ZABAP process type and set the event to "Process ends "successfully" or "incorect"
I used this how to guide to create the process type:
http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/30664504-40dd-2a10-3794-db7b4190bef3
For the Z program inside the variant I raise an error message when the condition is not verified. So I "want" the failure in some cases in the child chain and I want the next child chains to run in each case automatically in background.
May be it is a bug, may be not...
Thank you for your answers,
Rgds,
Edited by: Bruno Beckers on Dec 15, 2009 2:21 PM
Edited by: Bruno Beckers on Dec 15, 2009 2:23 PM -
ODI 10g R2 LKM File to Oracle (sql*ldr) ctl file
Hi,
ODI release 10.1.3.4
I need to load a file into an oracle db. For big file I use the LKM file to oracle (sql loader). It is a delimited file with ' " ' enclosed text. I give in the datasotre all parameters record separator, field separator, text delimiter, decimal separator. Despite in the control file for sql*ldr it miss the line [optionnaly enclosed '"' ] so in my db it is loading "nn" instead of nn ...
Do someone know this issue ?!
Best regards,
BLIt would be best to you look in to the LKM code to see if its even there "optionally enclosed by"
This is an old version of ODI and its quite possible that the support for this clause was not added to the step that builds the ctl file.
If its not there, then you can add it your self. -
Hi everyone,
I am execution 24 packages in parallel .İn my project I was using LKM file to oracle (SQLLDR) But sometimes it was waiting call Sqlldr step more hours and then I stopped session .I am using ODI 10.1.3
Now I am generating sh file a new step like this:
OdiOutFile "-file=#VPFL_ARRIVAL_PATH/work/#VAR_UCA_SESS_CURR_TS.sh"
#!/bin/bash
sqlldr control=#VPFL_ARRIVAL_PATH/work/#VAR_UCA_SESS_CURR_TS.ctl log=#VPFL_ARRIVAL_PATH/work/#VAR_UCA_SESS_CURR_TS.log userid=$1/$2@<%=odiRef.getInfo("DEST_DSERV_NAME")%>
retcode=`echo $?`
case "$retcode" in
0) return 0 ;;
2) return 0 ;;
*) return 1 ;;
esac
Then I am running this sh .
What is the difference sh file like above and Original call sqllldr step?
Does anyone has an idea?
RegardsThe difference in original 10g KM vs what you have is the handling of the status codes returned by sqlldr
sqlldr returns status code of 2 in case of warnings (if even a single record is discarded or put in the .bad file - since you used discardmax and other parameters to control that limit)
For ODI anything that is non-zero is an error.
So, 2) return 0;; means that if sqlldr returns a warning then let ODI know that its ok to proceed. -
Odi 10g Customize LKM file to oracle(sqlldr) or improve performance
Hi everyone,
I am facing an issue about sqlldr.
Now I should process about 2000 files in one day.and 2000 files have approximately 200 million records.I am merging 100 files to one main file.Then I am reading this file.I am using LKM FILE to Oracle (sqlldr)I have two question:
1-)Can I use any LKM instead of LKM SQL to Oracle (sqlldr) which is the better and faster than Sqllldr
2-)İf I will use LKM sqlldr ,How can I improve this LKM.I am thinking of without work table,but I can't this.Becouse my source and target are not same
Could anyone help me to solve this problem?
RegardsTry this method.
http://gurcanorhan.wordpress.com/2010/11/13/loading-multiple-files-with-odi/
Cheers,
Gurcan. -
Does ODI LKM(DB2 to DB2) supports Long Varchar data type?
how to use this KM to transfer data from one DB2 to another DB2? It seems that we must modify many scripts in KM to make it run.
Who can give us a detail example?
Thank you.The issue is not solved yet.
The integration operation step(IKM) failed.
Because the where condition clause in the code contains all columns including Long Varchar column.
It seems that a column of type LONG VARCHAR can not be compared using the = operator in DB2. -
not able to see ikm oracle incremental update and ikm oracle slowly changing dimensions under PHYSCIAL tab in odi 12c
But i'm able to see other IKM's please help me, how can i see themNope, It has not been altered.
COMPONENT NAME: LKM Oracle to Oracle (datapump)
COMPONENT VERSION: 11.1.2.3
AUTHOR: Oracle
COMPATIBILITY: ODI 11.1.2 and above
Description:
- Loading Knowledge Module
- Loads data from an Oracle Server to an Oracle Server using external tables in the datapump format.
- This module is recommended when developing interfaces between two Oracle servers when DBLINK is not an option.
- An External table definition is created on the source and target servers.
- When using this module on a journalized source table, the Journaling table is first updated to flag the records consumed and then cleaned from these records at the end of the interface. -
Unable to load data to Hyperion planning application using odi
Hi All,
When I try to load data into planning using odi, the odi process completes successfully with the following status in the operator ReportStatistics as shown below but the data doesn't seem to appear in the planning data form or essbase
can anyone please help
org.apache.bsf.BSFException: exception from Jython:
Traceback (most recent call last):
File "<string>", line 2, in <module>
Planning Writer Load Summary:
Number of rows successfully processed: 20
Number of rows rejected: 0
source is oracle database
target account dimension
LKM SQL TO SQL
IKM SQL TO HYPERION PLANNING is used
In Target the following columns were mapped
Account(load dimension)
Data load cube name
driverdimensionmetadata
Point of view
LOG FILE
2012-08-27 09:46:43,214 INFO [SimpleAsyncTaskExecutor-3]: Oracle Data Integrator Adapter for Hyperion Planning
2012-08-27 09:46:43,214 INFO [SimpleAsyncTaskExecutor-3]: Connecting to planning application [OPAPP] on [mcg-b055]:[11333] using username [admin].
2012-08-27 09:46:43,277 INFO [SimpleAsyncTaskExecutor-3]: Successfully connected to the planning application.
2012-08-27 09:46:43,277 INFO [SimpleAsyncTaskExecutor-3]: The load options for the planning load are
Dimension Name: Account Sort Parent Child : false
Load Order By Input : false
Refresh Database : false
2012-08-27 09:46:43,339 INFO [SimpleAsyncTaskExecutor-3]: Begining the load process.
2012-08-27 09:46:43,355 DEBUG [SimpleAsyncTaskExecutor-3]: Number of columns in the source result set does not match the number of planning target columns.
2012-08-27 09:46:43,371 INFO [SimpleAsyncTaskExecutor-3]: Load type is [Load dimension member].
2012-08-27 09:46:43,996 INFO [SimpleAsyncTaskExecutor-3]: Load process completed.Do any members exist in the account dimension before the load? if not can you try adding one member manually then trying the load again.
Cheers
John
http://john-goodwin.blogspot.com/ -
Unable to load Dimension into Hyperion planning using ODI ?
Hi All
We are trying to load Dimension into hyperion planning Ver. 11.1.2 using ODI. We have created the interface and mapped the source csv file to target planmning application using ODI KM.
LKM file to SQL
IKM SQL to Planning
We get success in ODI's Operator but the Dimension is not updated nor new data is insreted.
We get this message in Error file:-
+
Retail Format,Parent,Alias: Default,Data Storage,Two Pass Calculation,Smart List,Data Type,Plan Type (APlan),Error_Reason
ABC,Total Format,,StoreData,,,,Aplan,Cannot load dimension member, error message is: java.lang.RuntimeException: Fetch of saved member "ABC" failed.
+
We get this message in log files:-
+
2010-07-22 07:04:06,550 INFO [DwgCmdExecutionThread]: Oracle Data Integrator Adapter for Hyperion Planning - Release 9.3.1.1
2010-07-22 07:04:06,550 INFO [DwgCmdExecutionThread]: Connecting to planning application [******] on [********]:[11333] using username [admin].
2010-07-22 07:04:06,597 INFO [DwgCmdExecutionThread]: Successfully connected to the planning application.
2010-07-22 07:04:06,597 INFO [DwgCmdExecutionThread]: The load options for the planning load are
Dimension Name: Retail Format Sort Parent Child : false
Load Order By Input : false
Refresh Database : true
2010-07-22 07:04:06,612 INFO [DwgCmdExecutionThread]: Begining the load process.
2010-07-22 07:04:06,612 DEBUG [DwgCmdExecutionThread]: Number of columns in the source result set does not match the number of planning target columns.
2010-07-22 07:04:06,659 INFO [DwgCmdExecutionThread]: Load type is [Load dimension member].
2010-07-22 07:04:06,675 ERROR [DwgCmdExecutionThread]: Record [[ABC, Total Format, null, null, StoreData, null, null, null, null, null, null, null, null, null, Aplan, null, null, null]] was rejected by the Planning Server.
2010-07-22 07:04:06,675 INFO [DwgCmdExecutionThread]: Planing cube refresh operation initiated.
2010-07-22 07:04:08,425 INFO [DwgCmdExecutionThread]: Planning cube refresh operation completed successfully.
2010-07-22 07:04:08,425 INFO [DwgCmdExecutionThread]: Load process completed.
+
Please help out .....Can you check the error log file as you have posted the log file, it should give more information to why the records were rejected.
Cheers
John
http://john-goodwin.blogspot.com/ -
Error when trying to execute ODI Interface
Hello,
I receive the following error when I try to execute an ODI interface. The interface contains two models trying to load a .csv file into an Oracle table. The models seem to be working and I can right click on the source file and "View Data". I have specifed LKM File To Oracle (SQLLDR), IKM Oracle Incremental Update, and CKM Oracle. But still receive this error on the fourth step of the execution "Loading - SS_0 - call sqlldr via Jython"
org.apache.bsf.BSFException: exception from Jython: Traceback (innermost last):
File "<string>", line 3, in ?
OS command has signalled errors
at org.apache.bsf.engines.jython.JythonEngine.exec(Unknown Source)
at com.sunopsis.dwg.codeinterpretor.k.a(k.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execScriptingOrders(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSqlC.treatTaskTrt(SnpSessTaskSqlC.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(DwgCommandSession.java)
at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
at com.sunopsis.dwg.cmd.e.i(e.java)
at com.sunopsis.dwg.cmd.g.y(g.java)
at com.sunopsis.dwg.cmd.e.run(e.java)
at java.lang.Thread.run(Unknown Source)
Thank you for your helpAlmost...
You need the sql loader where the "OS command" will execute it means where the agent is installed (once you will execute it from an agent when at production).
AND that machine where the agent is, need to "see" the target database through the Oracle Listener (tnsnames)....
Is just like to execute a Sql Loader from you own machine, but who write the command will be ODI.
Does it make any sense to you?
Message was edited by:
Cezar Santos -
Not able to edit the value options in LKM
Hi
I have recently upgraded to ODI 11g .
In that we are not able to edit the value options in LKM.
(i.e.. editor window is not appearing, not able to edit the text.
Please let me know the solution .
ThanksWe were using JDK1.6.0_29 and it was not supporting ODI 11.1.1.5, so we have uninstalled the JDK1.6.0_29 and reinstall the JDK1.6.0_11.This solves our issue.
Thanks a lot!! -
I am trying to load fixed length flat file into Oracle table in ODI by using LKM File to Oracle (SQLLDR).
But getting below error in Call sqlldr step,
org.apache.bsf.BSFException: exception from Jython:
Traceback (most recent call last):
File "<string>", line 22, in <module>
Load Error: See C:\Aditya\ODI\SQL_Loader/TARIFF_SERVICE.log for details
at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.execInBSFEngine(SnpScriptingInterpretor.java:322)
at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.exec(SnpScriptingInterpretor.java:170)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java:2472)
at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:47)
at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:1)
at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2913)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2625)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:558)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:464)
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: Traceback (most recent call last):
File "<string>", line 22, in <module>
Load Error: See C:\Aditya\ODI\SQL_Loader/TARIFF_SERVICE.log for details
at org.python.core.PyException.fillInStackTrace(PyException.java:70)
at java.lang.Throwable.<init>(Throwable.java:181)
at java.lang.Exception.<init>(Exception.java:29)
at java.lang.RuntimeException.<init>(RuntimeException.java:32)
at org.python.core.PyException.<init>(PyException.java:46)
at org.python.core.PyException.doRaise(PyException.java:219)
at org.python.core.Py.makeException(Py.java:1166)
at org.python.core.Py.makeException(Py.java:1170)
at org.python.pycode._pyx13.f$0(<string>:59)
at org.python.pycode._pyx13.call_function(<string>)
at org.python.core.PyTableCode.call(PyTableCode.java:165)
at org.python.core.PyCode.call(PyCode.java:18)
at org.python.core.Py.runCode(Py.java:1204)
at org.python.core.Py.exec(Py.java:1248)
at org.python.util.PythonInterpreter.exec(PythonInterpreter.java:172)
at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:144)
... 19 more
TARIFF_SERVICE.log is not getting created.
Code generated is,
import java.lang.String
import java.lang.Runtime as Runtime
from jarray import array
import java.io.File
import os
import re
ctlfile = r"""C:\Aditya\ODI\SQL_Loader/TARIFF_SERVICE.ctl"""
logfile = r"""C:\Aditya\ODI\SQL_Loader/TARIFF_SERVICE.log"""
outfile = r"""C:\Aditya\ODI\SQL_Loader/TARIFF_SERVICE.out"""
oracle_sid=''
if len('XE')>0: oracle_sid = '@'+'XE'
loadcmd = r"""sqlldr 'HR/<@=snpRef.getInfo("DEST_PASS") @>%s' control='%s' log='%s' > "%s" """ % (oracle_sid,ctlfile, logfile, outfile)
rc = os.system(loadcmd)
if rc <> 0 and rc <> 2:
raise "Load Error", "See %s for details" % logfile
# Init Vars
nbIns = 0
nbRej = 0
nbNull = 0
strprt = ""
maxAllowedError = r"""0"""
c = 0
flag = 0
# Open log file
f = open(logfile, "r")
try:
lines = f.readlines()
for line in lines:
if line.rstrip().upper().endswith(r"""HR.TC$_0SAS_TARIFF_SERVICEREPLACE:""".upper()):
flag = 1
c = 0
if flag == 1:
if c > 0 and c <= 4:
if c == 1 :
nbIns = int(re.findall("\d+", line)[0])
elif c == 2:
nbRej = int(re.findall("\d+", line)[0])
elif c == 4:
nbNull = int(re.findall("\d+", line)[0])
break
c+=1
strprt = "\n\tIns:\t%s\n\tReject:\t%s\n\tNullField:\t%s" % (nbIns, nbRej, nbNull)
finally:
f.close()
# if some rows has been rejected due to invalide data, check KM option LOA_ERRORS
if rc == 2:
if nbRej > int(maxAllowedError):
raise strprt
break
Can anyone suggest how to resolve this issue?
Thanks,
AdityaHi
i am facing same issue did any body find any solution for it
Hi 1005380,
Thanks for quick respond.
Source(position based file so i cant change the phsical length)
name,type,physical length,logical length,-,-,recordCount
pading
String
1
1
50
null
2
journal_name
String
2
50
50
null
journal_line_number
String
52
6
50
null
segment1
String
58
6
50
null
segment2
String
64
8
50
null
segment3
String
72
5
50
null
segment4
String
77
3
50
null
segment5
String
80
1
50
null
segment6
String
81
4
50
null
segment7
String
85
3
50
null
segment8
String
88
5
50
null
line_desc
String
93
240
50
null
debit_amount
String
333
15
50
null
credit_amount
String
348
15
50
null
Target(DB)
order,name,type,logicalLength,scale,Source mapping fields
55
ENTERED_DR
NUMBER
0
-127
Debit_amt(sorce)
56
ENTERED_CR
NUMBER
0
-127
credit_amt(source)
60
REFERENCE1
VARCHAR2
100
0
journalname(source)
142
CUSTOM_ATTRIBUTE1
VARCHAR2
150
0
segment1(s)
143
CUSTOM_ATTRIBUTE2
VARCHAR2
150
0
segment2(s)
144
CUSTOM_ATTRIBUTE3
VARCHAR2
150
0
segment3(s)
145
CUSTOM_ATTRIBUTE4
VARCHAR2
150
0
segment4(s)
146
CUSTOM_ATTRIBUTE5
VARCHAR2
150
0
segment5(s)
147
CUSTOM_ATTRIBUTE6
VARCHAR2
150
0
segment6(s)
148
CUSTOM_ATTRIBUTE7
VARCHAR2
150
0
segment7(s)
149
CUSTOM_ATTRIBUTE8
VARCHAR2
150
0
segment8(s)
i am omitting padding and line_desc from source for mapping.
Note : 1)even i am mapping single column eg: journal_name and reference1 for more than 1000 records i am getting the Error(Number format exception).for 999 records it is picking up and it is not throwing any error.
2)for 999 records i mapped all the fields its working fine,if pass more than 999 records it throwing error.
knowledge Modules:
LKM File to SQL and IKM SQL Control Append
Execution Steps:
loading Drop work table ,Create work table and error at Load data
Error code:
Source Code:
select
journal_name
C3_JOURNAL_NAME,
segment1
C4_SEGMENT1,
segment2
C5_SEGMENT2,
segment3
C6_SEGMENT3,
segment4
C7_SEGMENT4,
segment5
C8_SEGMENT5,
segment6
C9_SEGMENT6,
segment7
C10_SEGMENT7,
segment8
C11_SEGMENT8,
debit_amount
C1_DEBIT_AMOUNT,
credit_amount
C2_CREDIT_AMOUNT
from
TABLE
/*$$SNPS_START_KEYSNP$CRDWG_TABLESNP$CRTABLE_NAME=ADA_ENTRY_STG_LINESSNP$CRLOAD_FILE=/C:/DavidNithin/GL_Abstraction/adaoasisla.dat.07012013_13h23.txtSNP$CRFILE_FORMAT=FSNP$CRFILE_SEP_FIELD=0x0009SNP$CRFILE_SEP_LINE=0ASNP$CRFILE_FIRST_ROW=0SNP$CRFILE_ENC_FIELD=SNP$CRFILE_DEC_SEP=SNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=padingSNP$CRTYPE_NAME=STRINGSNP$CRLINE_OFFSET=1SNP$CRLENGTH=1SNP$CRPRECISION=50SNP$CRREC_CODE_LIST=2SNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=journal_nameSNP$CRTYPE_NAME=STRINGSNP$CRLINE_OFFSET=2SNP$CRLENGTH=50SNP$CRPRECISION=50SNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=journal_line_numberSNP$CRTYPE_NAME=STRINGSNP$CRLINE_OFFSET=52SNP$CRLENGTH=6SNP$CRPRECISION=50SNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=segment1SNP$CRTYPE_NAME=STRINGSNP$CRLINE_OFFSET=58SNP$CRLENGTH=6SNP$CRPRECISION=50SNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=segment2SNP$CRTYPE_NAME=STRINGSNP$CRLINE_OFFSET=64SNP$CRLENGTH=8SNP$CRPRECISION=50SNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=segment3SNP$CRTYPE_NAME=STRINGSNP$CRLINE_OFFSET=72SNP$CRLENGTH=5SNP$CRPRECISION=50SNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=segment4SNP$CRTYPE_NAME=STRINGSNP$CRLINE_OFFSET=77SNP$CRLENGTH=3SNP$CRPRECISION=50SNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=segment5SNP$CRTYPE_NAME=STRINGSNP$CRLINE_OFFSET=80SNP$CRLENGTH=1SNP$CRPRECISION=50SNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=segment6SNP$CRTYPE_NAME=STRINGSNP$CRLINE_OFFSET=81SNP$CRLENGTH=4SNP$CRPRECISION=50SNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=segment7SNP$CRTYPE_NAME=STRINGSNP$CRLINE_OFFSET=85SNP$CRLENGTH=3SNP$CRPRECISION=50SNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=segment8SNP$CRTYPE_NAME=STRINGSNP$CRLINE_OFFSET=88SNP$CRLENGTH=5SNP$CRPRECISION=50SNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=line_descSNP$CRTYPE_NAME=STRINGSNP$CRLINE_OFFSET=93SNP$CRLENGTH=240SNP$CRPRECISION=50SNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=debit_amountSNP$CRTYPE_NAME=STRINGSNP$CRLINE_OFFSET=333SNP$CRLENGTH=15SNP$CRPRECISION=50SNP$CRSNP$CRDWG_COLSNP$CRCOL_NAME=credit_amountSNP$CRTYPE_NAME=STRINGSNP$CRLINE_OFFSET=348SNP$CRLENGTH=15SNP$CRPRECISION=50SNP$CR$$SNPS_END_KEY*/
Target Code:
insert into ODI.C$_0MNA_ENTERY_STG_LINES_ADA
C3_JOURNAL_NAME,
C4_SEGMENT1,
C5_SEGMENT2,
C6_SEGMENT3,
C7_SEGMENT4,
C8_SEGMENT5,
C9_SEGMENT6,
C10_SEGMENT7,
C11_SEGMENT8,
C1_DEBIT_AMOUNT,
C2_CREDIT_AMOUNT
values
:C3_JOURNAL_NAME,
:C4_SEGMENT1,
:C5_SEGMENT2,
:C6_SEGMENT3,
:C7_SEGMENT4,
:C8_SEGMENT5,
:C9_SEGMENT6,
:C10_SEGMENT7,
:C11_SEGMENT8,
:C1_DEBIT_AMOUNT,
:C2_CREDIT_AMOUNT
Error message:
java.lang.NumberFormatException: For input string: "1,000"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Inte -
Error While using LKM File to Oracle(SQLLDR)
Hi ,
When I am trying to load the data from flat file to oracle table using LKM File to oracle (SQLLDR) it is getting failed with below error message.
SQL*Loader-128: unable to begin a session
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
HPUX-ia64 Error: 2: No such file or directory
I am able to execute SQLLDR scriptdirectly on the server but When access it through ODI LKM getting this error message. Any help on this please.
Thaks ,
KattaIs the agent you are executing the interface under located on the same server as the SQLLDR utility?
Maybe you are looking for
-
How to access UCM Web Service in Oracle.
Hi All, I am trying to call UCM Web Service (CheckIn.wsdl) using oracle. But these web services are secured and expecting username/password. Any one have any idea to pass username/password in oracle function. My Code :- CREATE OR REPLACE FUNCTION che
-
Clearing history one page at a time
HELP! Unlike Explorer, I can't find a way to remove just one site (page) from history at a time. It just has a clear option that wipes everything out. Does anyone know if it is possible to clear one page at a time?
-
Is there a patch to help Dreamweaver work without problems in vista?
Please let me know if there is a patch I can download to make Dreamweaver compatible with Vista. The problems are numerous and are driving me nuts at the moment. Can you upgrade to DW CS3 from the website? Nick.
-
SELECT data based on partitions
I know we have PARTITION clause in SELECT statement. My requirement is i need to select data from Last two partitions in which data is available. If we know the name of the 2 partitions then we can select and UNION ALL. But In my case, i dont know th
-
Viewing a OneNote 2013 notebook in a browser.
I attached my OneNote notebook to my SharePoint library. I set the SharePoint site setting to view file in a browser; however, every time someone clicks on the file the operating system looks for the appropriate program to open the file. I want the f