ODI constraints/condition
Hi,
I am doing my first interface/mapping in ODI.
After creation of the datastore (via standard reverse engg) ,I have added a condition/constraint of not null to a column.
When i right click the data store control > check
I get error " CKM not selected ".
Is anyting to do with Agent selection/setting ?
Thanks
S
It's nothing to do with agent. The constarint checking functionality is performed via a Check Knowledge Module i.e. CKM. You will have to aselct a CKM relevant to the technology of your Data Store e.g. Oracle SQL Server etc. You will probably not have the CKM imported into your project so your first step will be to go to Knowledge modules in your Project and import the appropriate CKM. It will then be available in the Knowledge Module dropdown selection on the Check Tab.
Similar Messages
-
Calling PL/SQL user defined functions from ODI Constraints
Hi All,
We are trying to call user defined PL/SQL functions from ODI. We are able to call them from ODI's User functions. But when we are trying to call them from ODI Constraints under Models, it is throwing an error 'ORA-00920 invalid relational operator'. Kindly let me know if anyone has faced the same issue and got the resolution for the same. Thanks in Advance.
Regards,
Abhishek SharmaHi Ace,
Thanks for the response, the same error was coming in operator also.
I am able to call PL?SQL user defined functions from ODI Constraints. We have to first call ODI User functions from the ODI constraints as we cant call PL/SQL function (compiled in database) directly.
From the ODI User functions, we can then call the PL/SQL functions.
Please reach out to me if you need further details reg this. -
Constraints in target or source datastore?
Hi,
When I put a constraint (condition) in my source datastore, the constraint works fine when I just test it by clicking on the table and clicking "Control->Errors". All the errors are shown in a list. But when I run my scenario using the same datastore/table, my target db picks up all lines even the ones that "should" have failed.
When I read the ODI Users Guide i can see a note on page 57 stating the following:
"Only the constraints declared on the target datastore in its model appear in the constraints list."
So can someone please explain to me why you would put constraints in the source datastore if they cant be used in a scenario/interface?
Best regards
MThank you for your answers.
I still not quite sure how I would inplement my Scenario/Interface the way I would like to.
What I am trying to do is to extract data from table A to table B and put error data in an error table. In my case, I would like to extract customers from table A to table B and put all error rows where customer id < 0 in a separate table and put all correct customers, i.e. with customer id > 0 in my target source.
So I tried to put the constraint in the source (which I now know is for static control only) but I have now also put the same constraint in the target but still I get ALL rows put in my target when I execute the interface. Can this be accomplished through constraints or do I need to put a filter on Diagram to do this?
Best regards
M -
How to create feilds in Webi reports with where condition
I need to create a feild display name by keeping the constraint condition
o Display value – dbo.Personnel.Fullname METRICPERSONNEL
o Joining tables – dbo.MetricRequestTeam.MetricRequestKey, dbo.MetricRequest.MetricRequestKey
o Constraint – dbo.MetricRequestTeam.MetricRoleTypeKey = ‘2’
How we can do this in webi level.
ThanksHi Sasi,
I am taking assumption that you have already merged both the table at report level on common column.
So for Analyst column in report you want to display :
IF dbo.MetricRequestTeam.MetricRoleTypeKey = ‘2’ THEN "Lead"
Else IF dbo.MetricRequestTeam.MetricRoleTypeKey = ‘4’ THEN "Analyst"
Am i Right??
For this just create a variable ( I think here it will be a Dimension) with following formula:
=If([Column_Name] =2) then "Lead"
Else (IF([Column_Name] =4 then "Analyst" else "None")))
Drag this variable to analyst column it will give you desired values.
Points to remember:
If the data type of column "dbo.MetricRequestTeam.MetricRoleTypeKey" is string then put "2" or "4" in formula else it will give you #syntax error.
Alternatively you can also give following formula:
=If([Column_Name] InList ("2") ; "Lead";
(IF([Column_Name] InList("4") ; "Analyst" ; "None")))
Hope it helps!
PS: you have already marked a reply as correct answer
Thanks,
Shardendu -
Best pratices for ODI interfaces
I was wondering how everyone is handling the errors that occur when running an interface with ODI.
Our secinaro:
We have customer data that we want to load each night via ODI. The data is in a flat file and a new file is provided each night.
We have come across an issue where a numeric field had data that was non numeric in it ... so ODI created a bad file ... with the bad record in it .... and an error file with the error message. We then had some defined constraints that forced records into the E$ table.
My question is how does everyone handle looking for these errors. We would like them to just bereported to one place ( an oracle table ) so when the process runs we can just look at the one table and then act on the issues.... as shown above ODI puts errors in two different places... DB ones in a flat file and user defined in the E$ tables.....
I was wondering if anyone has come across this issue and might be able to tell me what was done to handle the errors that occurr .. or what the best pratices might be for handling these errors?
Thanks for any assistance.
Edited by: 832187 on Sep 29, 2011 1:18 PMIf you have got few fields affected by conversion problem you could try insert an ODI constraint or you could modify LKM to load bad file if present.
-
ODI - SOA Oracle By Example Public Documents
The following ODI <-> SOA OBE's have been posted to oracle.com
Oracle Data Integrator
Developing an ODI XML to Database Transformation Using Interface with ODI Constraint
Developing an ODI XML Transformation that can be executed within a BPEL process
Creating an ODI Error Hospital that Uses BPEL Human Workflow
Asynchronously Invoke ODI Scenario from BPEL Process with Callback
@ http://www.oracle.com/technology/obe/fusion_middleware/index.htm
Thanks,
DenisThe links at http://otn.oracle.com/obe/obeocsr2/index.html are all working properly for me....which URL is giving you problems?
Regards, OTN -
How can i modify the check constraint in the table
How can i modify the check constraint in the table. This table containts check constraint, condition is code_value between 1 and 4. codevalue is column name.
Please suggest me.Go to tahiti.oracle.com, pick version browse reference manual and see the alter table statement
Also read the goal of this forum.
Your question is more appropriate to Database general forum
General Database Discussions
Gints Plivna
http://www.gplivna.eu -
Global User Functions not replaced in Check Contraint
Hi all,
we just moved from ODI 11.1.7 to ODI 12.1.2 an have the following problem. Our global user functions which are used in several Check Conditions are no longer replaced during code generation.
They worked like a charm in ODI 11.1.7. Any ideas?
Kind regards,
JensWe are running Scenarios and Mappings from Designer using Local and Remote Agents (Simulation and Execution Mode). No difference at all.
Global User Functions are replaced in Filters and Target Expressions but not in ODI Constraints. -
Difference between STATIC and FLOW CONTROL in IKM
Hello,
Can someone explain the difference between STATIC and FLOW control in IKM ? What is the best situation to use them with some example ?
Can we have more than one ODI Constraint at the target table.
Thanks
Edited by: cdmnagaraj on 19-Oct-2008 21:59Hi Nagaraj,
Suppose your Lookup table -> column "VALUE" is 101.
How many rows in your source table (column) have "Balance" = 101 ??
I hope only One.
From your Source table all the recors will be moved to your I$ . then from your I$ it will check for the condition
and all the violated records will be moved to your E$
please check your "Insert CK Errors" from your operator
it will be like this....
insert into E$_TargetTable
ERR_TYPE,
ERR_MESS,
CHECK_DATE,
ORIGIN,
CONS_NAME,
CONS_TYPE,
col1,
col2,
balance
select
'F',
sysdate,
'(3367100)TESTPROJECTS.TestTable',
'conditionTest',
'CK',
col1,
col2,
balance
from I$_TargetTable CHI
where not (
Balance = (Select value from LOOKUP)
So in your case it will check for balance not equal to 101 . and it will push those records into your E$ table
Rathish -
Missing IN or OUT parameters randomly
Hi,
I got the error "Missing IN or OUT parameters".
The bind variable setting was already set according to the suggestion found in the internet. However, the error is persisted. As I checked in the log file, the query executed are different between when there was no error and when the error occured even though it is the same action and the same code.
Is there anybody experienced this problem? Why are the query different and how can I fix this?
Thanks.
nat...
Note: Below are parts of log detail....
This is the query when it is ok...
SELECT * FROM (SELECT
CoverageEO.CLAIM_ID,
CoverageEO.CONTRACT_ID,
CoverageEO.COVERAGE_REF_ID,
CoverageEO.VERSION_NO,
CoverageEO.COVERAGE_CODE,
CoverageEO.COVERAGE_TYPE,
CoverageEO.EFFECTIVE_DATE,
CoverageEO.EXPIRE_DATE,
CoverageEO.POLICY_REF,
CoverageEO.MEMBER_PARTNER_ID,
CoverageEO.SALARY,
CoverageEO.MEMBER_POLICY_STATUS,
CoverageEO.MEMBER_INCEPTION_DATE,
CoverageEO.PLAN_INT_ID,
CoverageEO.COMP_PARTNER_ID,
CoverageEO.COMP_CONTRACT_ID,
CoverageEO.COMP_POLICY_REF,
CoverageEO.COMP_STATUS,
CoverageEO.COMP_STATUS_DATE,
CoverageEO.COMP_FIRST_EFF_DATE,
CoverageEO.WAITING_PERIOD,
CoverageEO.WAITING_PERIOD_UNIT,
CoverageEO.TRANSFER_DATE,
CoverageEO.TRANSFER_FLAG,
CoverageEO.LIVING_CLM_PAY_TO,
CoverageEO.LIVING_CLM_PAYMENT_METHOD,
CoverageEO.DEATH_CLM_PAY_TO,
CoverageEO.DEATH_CLM_PAYMENT_METHOD,
CoverageEO.REFUND_PREM_PAY_TO,
CoverageEO.REFUND_PREM_PAYMENT_METHOD,
CoverageEO.ER_PAY_TO,
CoverageEO.ER_PAYMENT_METHOD,
CoverageEO.CONTINUOUS_DAYS,
CoverageEO.ELIGIBLE_STATUS_INITIAL,
CoverageEO.ELIGIBLE_STATUS,
CoverageEO.TOTAL_ACTUAL_AMOUNT,
CoverageEO.TOTAL_APPROVED_AMOUNT,
CoverageEO.TOTAL_NET_APPROVED_AMOUNT,
CoverageEO.TOTAL_EXCEED_AMOUNT,
CoverageEO.TOTAL_EXCEED_PAID_TO_MSP,
CoverageEO.TOTAL_EXCEED_NOT_PAID,
CoverageEO.NOT_COVER_ACTUAL_AMOUNT,
CoverageEO.NOT_COVER_EXCEED_AMOUNT,
CoverageEO.TOTAL_CO_INS_AMOUNT,
CoverageEO.TOTAL_COPAY_AMOUNT,
CoverageEO.TOTAL_FDD_AMOUNT,
CoverageEO.DECISION_STATUS,
CoverageEO.DECISION_DATE,
CoverageEO.DECISION_BY,
CoverageEO.PAYMENT_STATUS,
CoverageEO.CONT_CLM_GRP,
CoverageEO.CONT_PARENT_CLAIM_ID,
CoverageEO.CREATED_BY,
CoverageEO.CREATED_DATE,
CoverageEO.LAST_UPDATED_BY,
CoverageEO.LAST_UPDATED_DATE,
CoverageEO.TOP_INDICATOR,
CoverageEO.COVER_END_DATE,
CoverageEO.COVER_START_DATE,
CoverageEO.AGENT_CODE1,
CoverageEO.AGENT_CODE2,
CoverageEO.NEXT_DUE_DATE,
CoverageEO.CREDIT_TERM,
CoverageEO.CYCLE_END_DATE,
CoverageEO.CYCLE_START_DATE,
CoverageEO.VALID_DATE_FLAG,
CoverageEO.IS_CONTINUOUS,
CoverageEO.BENEFIT_AMOUNT,
CoverageEO.NET_PAID_AMOUNT,
CoverageEO.REMARK_CUSTOMER,
CoverageEO.REMARK_MSP,
CoverageEO.POLICY_YEAR,
CoverageEO.NOT_COVER_EXCEED_FLAG,
CoverageEO.FDD_EXCEED_AMOUNT,
CoverageEO.FDD_EXCEED_FLAG,
CoverageEO.CO_INS_EXCEED_AMOUNT,
CoverageEO.CO_INS_EXCEED_FLAG,
CoverageEO.COPAY_EXCEED_AMOUNT,
CoverageEO.COPAY_EXCEED_FLAG,
CoverageEO.FDD_AMOUNT,
CoverageEO.CO_INS_PERCENT,
CoverageEO.CO_INS_AMOUNT,
CoverageEO.COPAY_AMOUNT,
CoverageEO.EXCEED_REASON,
CoverageEO.EXCEED_REASON_OTH
, (SELECT U.ASSESSOR_ID FROM ECS_USERS U
WHERE LOWER(CoverageEO.DECISION_BY) = LOWER(U.USERNAME)) ASSESSOR_ID
FROM
GCS_T_COVERAGE CoverageEO
ORDER BY
CoverageEO.CLAIM_ID, CoverageEO.POLICY_REF, CoverageEO.COVERAGE_CODE) QRSLT WHERE CLAIM_ID = :Bind_ClaimId
This is the query when we got the error...
SELECT * FROM (SELECT
CoverageEO.CLAIM_ID,
CoverageEO.CONTRACT_ID,
CoverageEO.COVERAGE_REF_ID,
CoverageEO.VERSION_NO,
CoverageEO.COVERAGE_CODE,
CoverageEO.COVERAGE_TYPE,
CoverageEO.EFFECTIVE_DATE,
CoverageEO.EXPIRE_DATE,
CoverageEO.POLICY_REF,
CoverageEO.MEMBER_PARTNER_ID,
CoverageEO.SALARY,
CoverageEO.MEMBER_POLICY_STATUS,
CoverageEO.MEMBER_INCEPTION_DATE,
CoverageEO.PLAN_INT_ID,
CoverageEO.COMP_PARTNER_ID,
CoverageEO.COMP_CONTRACT_ID,
CoverageEO.COMP_POLICY_REF,
CoverageEO.COMP_STATUS,
CoverageEO.COMP_STATUS_DATE,
CoverageEO.COMP_FIRST_EFF_DATE,
CoverageEO.WAITING_PERIOD,
CoverageEO.WAITING_PERIOD_UNIT,
CoverageEO.TRANSFER_DATE,
CoverageEO.TRANSFER_FLAG,
CoverageEO.LIVING_CLM_PAY_TO,
CoverageEO.LIVING_CLM_PAYMENT_METHOD,
CoverageEO.DEATH_CLM_PAY_TO,
CoverageEO.DEATH_CLM_PAYMENT_METHOD,
CoverageEO.REFUND_PREM_PAY_TO,
CoverageEO.REFUND_PREM_PAYMENT_METHOD,
CoverageEO.ER_PAY_TO,
CoverageEO.ER_PAYMENT_METHOD,
CoverageEO.CONTINUOUS_DAYS,
CoverageEO.ELIGIBLE_STATUS_INITIAL,
CoverageEO.ELIGIBLE_STATUS,
CoverageEO.TOTAL_ACTUAL_AMOUNT,
CoverageEO.TOTAL_APPROVED_AMOUNT,
CoverageEO.TOTAL_NET_APPROVED_AMOUNT,
CoverageEO.TOTAL_EXCEED_AMOUNT,
CoverageEO.TOTAL_EXCEED_PAID_TO_MSP,
CoverageEO.TOTAL_EXCEED_NOT_PAID,
CoverageEO.NOT_COVER_ACTUAL_AMOUNT,
CoverageEO.NOT_COVER_EXCEED_AMOUNT,
CoverageEO.TOTAL_CO_INS_AMOUNT,
CoverageEO.TOTAL_COPAY_AMOUNT,
CoverageEO.TOTAL_FDD_AMOUNT,
CoverageEO.DECISION_STATUS,
CoverageEO.DECISION_DATE,
CoverageEO.DECISION_BY,
CoverageEO.PAYMENT_STATUS,
CoverageEO.CONT_CLM_GRP,
CoverageEO.CONT_PARENT_CLAIM_ID,
CoverageEO.CREATED_BY,
CoverageEO.CREATED_DATE,
CoverageEO.LAST_UPDATED_BY,
CoverageEO.LAST_UPDATED_DATE,
CoverageEO.TOP_INDICATOR,
CoverageEO.COVER_END_DATE,
CoverageEO.COVER_START_DATE,
CoverageEO.AGENT_CODE1,
CoverageEO.AGENT_CODE2,
CoverageEO.NEXT_DUE_DATE,
CoverageEO.CREDIT_TERM,
CoverageEO.CYCLE_END_DATE,
CoverageEO.CYCLE_START_DATE,
CoverageEO.VALID_DATE_FLAG,
CoverageEO.IS_CONTINUOUS,
CoverageEO.BENEFIT_AMOUNT,
CoverageEO.NET_PAID_AMOUNT,
CoverageEO.REMARK_CUSTOMER,
CoverageEO.REMARK_MSP,
CoverageEO.POLICY_YEAR,
CoverageEO.NOT_COVER_EXCEED_FLAG,
CoverageEO.FDD_EXCEED_AMOUNT,
CoverageEO.FDD_EXCEED_FLAG,
CoverageEO.CO_INS_EXCEED_AMOUNT,
CoverageEO.CO_INS_EXCEED_FLAG,
CoverageEO.COPAY_EXCEED_AMOUNT,
CoverageEO.COPAY_EXCEED_FLAG,
CoverageEO.FDD_AMOUNT,
CoverageEO.CO_INS_PERCENT,
CoverageEO.CO_INS_AMOUNT,
CoverageEO.COPAY_AMOUNT,
CoverageEO.EXCEED_REASON,
CoverageEO.EXCEED_REASON_OTH
, (SELECT U.ASSESSOR_ID FROM ECS_USERS U
WHERE LOWER(CoverageEO.DECISION_BY) = LOWER(U.USERNAME)) ASSESSOR_ID
FROM
GCS_T_COVERAGE CoverageEO
ORDER BY
CoverageEO.CLAIM_ID, CoverageEO.POLICY_REF, CoverageEO.COVERAGE_CODE) QRSLT WHERE ((CLAIM_ID = :Bind_ClaimId) AND CLAIM_ID = :fbkKy__0 AND CONTRACT_ID = :fbkKy__1 AND COVERAGE_REF_ID = :fbkKy__2 AND VERSION_NO = :fbkKy__3)
<ViewObjectImpl> <bindParametersForCollection> [5143] (0) ViewObjectImpl.bindParametersForCollection(21441) Bind params for ViewObject: [com.aacp.gcs.vo.base.CoverageVO]ClaimAssessmentAM.CoverageVO_1046_findByKey_
<OracleSQLBuilderImpl> <bindParamValue> [5144] (0) OracleSQLBuilderImpl.bindParamValue(4657) Binding param "fbkKy__0": 372610
<OracleSQLBuilderImpl> <bindParamValue> [5145] (0) OracleSQLBuilderImpl.bindParamValue(4657) Binding param "fbkKy__1": 1986116
<OracleSQLBuilderImpl> <bindParamValue> [5146] (0) OracleSQLBuilderImpl.bindParamValue(4657) Binding param "fbkKy__2": 19749
<OracleSQLBuilderImpl> <bindParamValue> [5147] (0) OracleSQLBuilderImpl.bindParamValue(4657) Binding param "fbkKy__3": 1
It seems :Bind_ClaimId variable is missing but all :fbkKy__x variables are binded.Hi Frank,
Already run the application in the debug mode and got log files. The long queries posted here were from the log files. That's why I saw the queries executed when the error occurred and when there was no error were different.
When there was no error, the sql statement invoked had only 1 variable and it was binded correctly. But when the error occurred, the system used the different sql statement with 4 variables and no value assigned to the Bind_ClaimId variable.
I wonder why the sql statement executed from the same action and the same code are different. What is the constraint/ condition for the system to generate the sql statement? Is it related to view link or data model in AM? How to fix this?
Thanks.
nat... -
Error in Reading data from a xml file in ESB
Hi,
i created a inbound file adapter service which reads data from a xml file and passes it to the routing service and from there updates to the database.....
(everything created in jdeveloper)
But i am getting error....it is not getting updated to the database...when i check the database(select * from table) its showing one row selected but i couldnt find the data....
Transformation mapping also i did...
i think may be some error in reading the data from the xml file but not so sure.....
please reply to this mail as soon as possible its very urgentMichael R wrote:
The target table will be created when you execute the interface, if you set the option on the flow tab as instructed in step #6 of the "Setting up ODI Constraint on CLIENT Datastore" Section.
Option Value
CREATE_TARG_TABLE trueHi Michel,
This was not my required answer.I am sorry that I was unable to clarify my question.Actually
+This project executed successfully with some warning.Target Table is automatically created in database and also populated with data.But when I right-click Target Datastore(in >Mapping Tab of the Interface), and then select Data to View Data that needs to be inserted in the target table.I get some error like this:-...+This above line is the result of my project my problem is
when I right-click Target Datastore(in Mapping Tab of the Interface), and then select Data to View Data that already inserted in the target table.Is not shown by the view data operation.
I meant to say I am facing this error
At the10(1010 written) step of
Creating a New ODI Interface to Perform XML File to RDBMS Table Transformation
wehre it says
Open the Interface tab. Select Mapping tab, right-click Target Datastore - CLIENT, and then select Data. View Data inserted in the target table. Close Data Editor. Close the tabs...
In my case when I use my sqldeveloper I can see data successfully inserted in my target table and also in error table (data that can't satisfy the constraint) .But I was unable to check this by following the above mentioned 10 th step and got this error.
Thanks -
Error while export data from a xml file to an relational table
Hi,
I am Creating an ODI Project: Developing an ODI XML to Database Transformation Using Interface with ODI Constraint following this link
http://www.oracle.com/webfolder/technetwork/tutorials/obe/fmw/odi/odi_11g/odi_project_xml-to-table/odi_project_xml-to-table.htm
This project executed successfully with some warning.*Target Table is automatically created in database and also populated with data*.But when I right-click Target Datastore(in Mapping Tab of the Interface), and then select Data to View Data that needs to be inserted in the target table. I get some error like this:-
Execution of Query Failed.
Details:-
See com.borland.dx.dataset.DataSetException error code: BASE+62
com.borland.dx.dataset.DataSetException: Execution of query failed.
at com.borland.dx.dataset.DataSetException.a(Unknown Source)
at com.borland.dx.dataset.DataSetException.queryFailed(Unknown Source)
at com.borland.dx.sql.dataset.QueryProvider.a(Unknown Source)
at com.borland.dx.sql.dataset.JdbcProvider.provideData(Unknown Source)
at com.borland.dx.dataset.StorageDataSet.refresh(Unknown Source)
at com.borland.dx.sql.dataset.QueryDataSet.refresh(Unknown Source)
at com.sunopsis.graphical.frame.DwgDataFrame.initialize(DwgDataFrame.java:368)
at com.sunopsis.graphical.frame.DwgDataFrame.<init>(DwgDataFrame.java:77)
at oracle.odi.ui.etlmodeler.diag.inspector.pane.popup.DiagramActionDispayDataTarget.actionPerformed(DiagramActionDispayDataTarget.java:91)
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.AbstractButton.doClick(AbstractButton.java:357)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1223)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1264)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
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:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
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)
Chained exception:
java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:462)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:405)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:931)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:481)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:205)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:548)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:217)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:947)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1283)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1441)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3769)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3823)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1671)
at com.borland.dx.sql.dataset.o.f(Unknown Source)
at com.borland.dx.sql.dataset.QueryProvider.e(Unknown Source)
at com.borland.dx.sql.dataset.JdbcProvider.provideData(Unknown Source)
at com.borland.dx.dataset.StorageDataSet.refresh(Unknown Source)
at com.borland.dx.sql.dataset.QueryDataSet.refresh(Unknown Source)
at com.sunopsis.graphical.frame.DwgDataFrame.initialize(DwgDataFrame.java:368)
at com.sunopsis.graphical.frame.DwgDataFrame.<init>(DwgDataFrame.java:77)
at oracle.odi.ui.etlmodeler.diag.inspector.pane.popup.DiagramActionDispayDataTarget.actionPerformed(DiagramActionDispayDataTarget.java:91)
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.AbstractButton.doClick(AbstractButton.java:357)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1223)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1264)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
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:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
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)
Please HelpMichael R wrote:
The target table will be created when you execute the interface, if you set the option on the flow tab as instructed in step #6 of the "Setting up ODI Constraint on CLIENT Datastore" Section.
Option Value
CREATE_TARG_TABLE trueHi Michel,
This was not my required answer.I am sorry that I was unable to clarify my question.Actually
+This project executed successfully with some warning.Target Table is automatically created in database and also populated with data.But when I right-click Target Datastore(in >Mapping Tab of the Interface), and then select Data to View Data that needs to be inserted in the target table.I get some error like this:-...+This above line is the result of my project my problem is
when I right-click Target Datastore(in Mapping Tab of the Interface), and then select Data to View Data that already inserted in the target table.Is not shown by the view data operation.
I meant to say I am facing this error
At the10(1010 written) step of
Creating a New ODI Interface to Perform XML File to RDBMS Table Transformation
wehre it says
Open the Interface tab. Select Mapping tab, right-click Target Datastore - CLIENT, and then select Data. View Data inserted in the target table. Close Data Editor. Close the tabs...
In my case when I use my sqldeveloper I can see data successfully inserted in my target table and also in error table (data that can't satisfy the constraint) .But I was unable to check this by following the above mentioned 10 th step and got this error.
Thanks -
E$ table to be created in STAGING Area
Hello All,
I have an interface that has Staging Area different from TARGET. I have created an ODI Constraint in the target table in my model. Currently, when I run the scenario, the E$ table is created in the target database.
Because we are planning to use E$ for the tracking purpose for which the INtegration team would have access.
1) How can I force the E$ table be created in the ODI STAGING AREA (Database) rather than creating at the target database ?
2) What is the use of RECYCLING ERROR in IKM ?
Kindly clarify.
ThanksHi Nag,
Unfortunately a huge KM modification is necessary to accomplish this or divide in more than one interface (process). Let me try to explain:
An IKM Incremental Update create the I$ at target even when the stage area is another Logical Schema because it needs the target table to "decide" what records are to update and what are to insert.
Because of that, the internal the ODI algorithmic set the connections to the target once the I$ will be created there anyway.
To accomplish what you need it will be necessary to change the way that this kind of ETL is done and force the connections to the new staging area.
That is possible but will take some time.
An alternative solution, by process, could be;
1) make a copy of the target at staging area (if possible, I mean, if the amount of records allows it)
2) add 2 columns to this copy to flag the kind of dml (flg_ins, flg_upd for instance)
3) copy all desired constraints to the temporary table
4) use the same original interface but change the target to the temporary table.
5) at mapping check just "insert" to column flg_ins (value "Y" for instance)
6) at mapping check just "update" to column flg_upd (value "Y" for instance)
7) execute the interface
8) create a procedure with 2 steps:
9) step 1 - tab source: select all records from temporary table where flag_ins = 'Y'
- tab target; insert into original target
10)step 2 - tab source: select all records from temporary table where flag_upd = 'Y'
- tab target; update into original target
for the itens 9 and 10 will be necessary to choose the technology and respective Logical Schema.
If the amount of records at target doesn't allow this technique than:
Or will be necessary change the IKM
Or work with DBLINK from target to staging if both technologies are Oracle and to create a dblink will be possible. Any way IKM customization will be necessary, but a small one.
Does it make any sense to you? -
Retrieving Source Column name for a target
Hi
I have a requirement where in if an interface errors out because of some constraint violation in the target column, the error message should contain the following details
a. One lined Error message (Not with the ORA codes and complete details)
b. The source column mapped to the tarteg column that has violated the constraint.
c. The exact row where the error has occured while transferring the data.
I am using IKM SQL Control Append and as per the requirement the Flow Control is set to 'No'
Kindly help me resolve this issue.
ThanksHi Nidhish,
You can configurate all those information using a ODI constraint (type "User Constraint") at target datastore.
Did you already try it? -
Using page items in a report region
Hi all,
I am attempting to query a database table using values from two page items.
SEARCH_FIELD is the field in which a query constraint is being applied
SEARCH_CONDITION is the the query constraint condition being applied
So, for example, I tried setting SEARCH_FIELD to AMOUNT and SEARCH_CONDITION to %22%.
When I put the line 'AMOUNT LIKE :SEARCH_CONDITION' at the end of the query it returns the rows that do match the constraint.
When I put the line ':SEARCH_FIELD LIKE :SEARCH_CONDITION' it displays "no data found."
The debug shows it parse query, bind SEARCH_FIELD, bind SEARCH_CONDITION, determine column headings, then parse and bind again, and print column headings, and row loop: 15 row(s). Then the message "no data found." It should return a single row, but it does not.
Any reason why apex doesn't like this?
Thanks in advance,
T.Sorry for the reply delay...
The region is an SQL Query. The source is:
Select NUMBER, DATE_LOGIN, DATE_LOGOUT, FORM.FORM_NAME as "Form", Person.L_Name||', '||Person.F_Name as "REQUESTER", DEPARTMENT.DEPARTMENT_NAME, ACCOUNT#, SUBCODE.SUBCODE as "Subcode", AMOUNT, DESCRIPTION, SENTTO.LOCATION as "Sent To", (Select Person.L_Name||', '||Person.F_Name from PERSON WHERE AUTHORIZED_BY=PERSON.ID) as "Authorized By" from SIGNATURETBL, PERSON, DEPARTMENT, FORM, SENTTO, SUBCODE WHERE REQUESTER=PERSON.ID AND DEPARTMENT=DEPARTMENT.ID AND FORM=FORM.ID AND SENT_TO=SENTTO.ID AND SIGNATURETBL.SUBCODE=SUBCODE.ID AND :SEARCH_FIELD LIKE :SEARCH_CONDITION
If :SEARCH_FIELD has the value of 'AMOUNT' and :SEARCH_CONDITION has the value of '%22%' the regions says that no data was found. If :SEARCH_FIELD, in the query, is replaced by AMOUNT then the query does return the proper rows.
Can you not reference an item to determine a column constraint?
Thanks for any input
Maybe you are looking for
-
Returning a number with precsion in pl/sql function
How can I return a number with desired precision in oracle function e.g Function return_number ( --- ) return number is v_number number(10,2) begin select no into v_number from table; return v_number; end; will this work
-
Greetings All. I'm using a 64-bit windows 7 machine. This problem just crept up within the past 2 weeks. I've tried uninstalling and reinstalling flash to no avail. The problem is the same in both Firefox and IE9. Anyway, let's say I have multiple
-
WebHelp Navigation TOC acting goofy in Firefox 3
I'm using RH7. In IE, everything works fine. In FF3, the following happens: I open a help topic, which happens to be one of the topics inside a book. The topic opens very briefly and then the help page for its parent (at the book level) opens. Any id
-
Does Fr Fox 4 still not work wit anti-virs pgm. AVG?
For Desktop - Windows XP Home version. At intro of Firefox 4 a caution was given that it would not work with Anti-virus program AVG? I use AVG, and Firefox 3.6.17. I love it, and would like to upgrade to FrFox 4. Will this create any problem?
-
Iphone 4 server not responding message
iphone 4 - "server not responding" message is coming up on my wifes ph. can anyone help ?