Event deyection in ODI package
Hi,
I have a number of routines in a package and I want to restrict the execution of the interface if at any instance,
one of my oracle table gets populated with records.
My requirement is if my Oracle table is populated with records then the execution of the
next interface in the package should be stopped.
I was looking in the document and i got event detection which I thought could help me.
If anybody had used this before or know this, please help
Can I do it with an event called odiWaitForData event or some other possibilities are also there???
Give me ideas if can I do this with some other thought process??
Thanks
Sourabh
Hi Sourabh,
My requirement is if my Oracle table is populated with records then the execution of the
next interface in the package should be stopped.You can control/handle this using an ODI variable.
1. Create a ODI variable, say "VAR_COUNT" (Alphanumeric, Not persistent )in the refreshing tab write the below script,
SELECT COUNT(*) FROM <ur oracle table>
And select the respective logical schema.
2. In you package, after the interface step drag and drop VAR_COUNT twice, make one as refresh and next as Evaluate and in the condition give >0.
3. Link the False from Evaluate variable to ur next interface.
Overall flow in ur package,
Interface 1 -OK-> VAR_COUNT (Refresh) -OK-> VAR_COUNT (Evaluate with condition >0 ) -False-> Interface 2...
Makes sense?
Thanks,
Guru
Similar Messages
-
How to pass a Variable value into an ODI Scenario from ODI Package
I have created an Interface that uses the variable #ENTITY_ID for retrieving entity data from the DWH; now I have generated a Scenario from the interface and placed the Scenario in an ODI Package; am not sure how to pass the #ENTITY_ID variable to the ODI Scenario?
Any help is greately appreciated.
Best Regards
BeeHi Sutrtha,
Yeah I got the pop up asking to select the variables used, I have selected ENTITY_ID that was used by the interfaces, but on execution of the package the Scenario did not work as the passeed variable #ENTITY_ID is set to 0 instead of the value I am passing.
Am I missing something?
Regards
B -
How to include an Oracle Package in ODI Package
Hi All,
I have to include an Oracle Package into an ODI Package.
Is this possible. If yes, please guide me through.
Reagrds
ManojHi John,
Thanks for the reply. I ll implement that and will let you know.
Can you please look at the following as well.
How to solve this major issue.
Thanks
Manoj. -
How to execute an ODI package from Command Line
Please can anyone help me to know how to execute an ODI package from the command line without creating a scenario from the package.
Appreciate your help.
Thanks
BYou can't. Create a scenario and then execute that from the command line.
-
How to deploy ODI package?
hi,
I have ODI package.How to deploy it ?http://docs.oracle.com/cd/E23943_01/core.1111/e10113/chapter_odi_messages.htm#sthref11191
ODI-01444: The master repository signature specified by the client {0} does not match the master repository signature of the agent {1}.
Cause: The client and the agent are not using the same master repository
Action: Verify the client and the agent are using the same master repository. Verify that the client is calling the correct agent.
Level: 1
Type: ERROR
Impact: Other
Edit - Also see Oracle Support doc ID 1443453.1
Edited by: PeakIndicators_Alastair on Sep 12, 2012 11:08 AM -
Hi Experts
I have a set of Odi Packages and want to run this code in an unix server.
Can you Please guide me in the same.
Edited by: 945367 on Jul 15, 2012 10:52 PMHi Sutirtha, any documents on how to install ODI agent in Unix box?
Edited by: user13599912 on Jul 19, 2012 11:48 AM
Edited by: user13599912 on Jul 19, 2012 11:49 AM
Edited by: user13599912 on Jul 19, 2012 11:49 AM -
ODI Package + Calling via Unix wrapper
Hi,
I am new to ODI... Can you please help me on this.
On Overall architecture we are 3 products
1. ODI for staging to target transformaton
2. AbInitio conduct>IT for dependency analyisis and as work flow ( It can call Unix scripts, programs, SQL etc)
3. dServies a scheduling product ( Which will schedule the Conduct>IT workflow)
My question is can we wrapper the ODI Packages in UNIX and pass on the parameters? ( What i want to achieve is i want to put these wrappers in AbInitio workflow product).
Can you please share with me any sample Unix script calling the ODI Packages via Unix wrappers; if we can do it?
Many thanksHi,
Check this out
http://www.oracle.com/technology/products/oracle-data-integrator/10.1.3/htdocs/documentation/oracledi_getting_started.pdf
http://www.oracle.com/technology/products/oracle-data-integrator/10.1.3/htdocs/documentation/oracledi_users.pdf
http://www.oracle.com/technology/obe/fusion_middleware/ODI/index.html
Thanks,
Sutirtha -
ODI Packages execution based on condition
Hi,
We have clear the data using calc scripts and then load data into Hyperion using ODI packages. Currently i have one Package (Package1) to be executed on WD2 & WD3.
I have created an interface which will execute the script.
Here calc scripts are different which are to be executed on WD2 & WD3. I want to have all the steps in single package using any conditions.
Example:
Step1 - to check whether it is WD2,
If yes go to step2 and so on till step6.
If no, then go to step7.
Can any one help me on this
Thanks
DamoHi,
ODI variables could be useful for you. Use refresh variable step with appropriate query, then evaluate variable step and organize your logical branching. You could learn about variables fron Developer's guide http://docs.oracle.com/cd/E14571_01/integrate.1111/e12643/procedures.htm#CHDIFIGB (for ODI 11g). -
Can we call an ODI package from another ODI package within same Project?
hi All,
Can we call an ODI package from another ODI package within same Project?What you can do is get all the interfaces on the old package that you want to be included in the new package. This way, the new package will have the exact code from the old package.Or generate a scenario out of your ("old") package and drag&drop the scenario in the "new" package.
That seems easier to me, because you can re-use the scenario as often as you want.
But you have to take care: If you change your original ("old") package, you have to regenerate the scenario, otherwise the changes do not affect the scenario.
Edited by: h_elmu_t on 02.07.2009 08:50 -
How to expose ODI package as webservice..?
hi,
We are having a requirement where other application needs to call ODI package.
How to expose ODI package as webservice..?hi John,
when I tried to upload odi-public-ws.aar service , it faulted.
plase help...
This Web axisService has deployment faults
Error: org.apache.axis2.deployment.DeploymentException: null; nested exception is: java.lang.NullPointerException; nested exception is: org.apache.axis2.AxisFault: null; nested exception is: java.lang.NullPointerException; nested exception is: org.apache.axis2.deployment.DeploymentException: null; nested exception is: java.lang.NullPointerException; nested exception is: org.apache.axis2.AxisFault: null; nested exception is: java.lang.NullPointerException at org.apache.axis2.deployment.repository.util.ArchiveReader.processWSDLs(ArchiveReader.java:273) at org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:604) at org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:195) at org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:207) at org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:155) at org.apache.axis2.deployment.RepositoryListener.startListener(RepositoryListener.java:199) at org.apache.axis2.deployment.scheduler.SchedulerTask.checkRepositary(SchedulerTask.java:61) at org.apache.axis2.deployment.scheduler.SchedulerTask.run(SchedulerTask.java:68) at org.apache.axis2.deployment.scheduler.Scheduler$SchedulerTimerTask.run(Scheduler.java:76) at java.util.TimerThread.mainLoop(Timer.java:512) at java.util.TimerThread.run(Timer.java:462) Caused by: org.apache.axis2.deployment.DeploymentException: null; nested exception is: java.lang.NullPointerException; nested exception is: org.apache.axis2.AxisFault: null; nested exception is: java.lang.NullPointerException at org.apache.axis2.deployment.repository.util.ArchiveReader.processWSDLFile(ArchiveReader.java:194) at org.apache.axis2.deployment.repository.util.ArchiveReader.processWSDLs(ArchiveReader.java:261) ... 10 more Caused by: org.apache.axis2.AxisFault: null; nested exception is: java.lang.NullPointerException at org.apache.axis2.description.WSDL2AxisServiceBuilder.populateService(WSDL2AxisServiceBuilder.java:243) at org.apache.axis2.deployment.repository.util.ArchiveReader.processWSDLFile(ArchiveReader.java:192) ... 11 more Caused by: java.lang.NullPointerException at org.apache.ws.commons.schema.SchemaBuilder.setNamespaceAttributes(SchemaBuilder.java:235) at org.apache.ws.commons.schema.SchemaBuilder.setNamespaceAttributes(SchemaBuilder.java:232) at org.apache.ws.commons.schema.SchemaBuilder.setNamespaceAttributes(SchemaBuilder.java:232) at org.apache.ws.commons.schema.SchemaBuilder.setNamespaceAttributes(SchemaBuilder.java:232) at org.apache.ws.commons.schema.SchemaBuilder.handleXmlSchemaElement(SchemaBuilder.java:59) at org.apache.ws.commons.schema.XmlSchemaCollection.read(XmlSchemaCollection.java:250) at org.apache.axis2.description.WSDL2AxisServiceBuilder.getXMLSchema(WSDL2AxisServiceBuilder.java:959) at org.apache.axis2.description.WSDL2AxisServiceBuilder.copyExtensibleElements(WSDL2AxisServiceBuilder.java:1067) at org.apache.axis2.description.WSDL2AxisServiceBuilder.populateService(WSDL2AxisServiceBuilder.java:221
regards,
Amey -
ODI package - how to watch for delete of records in a table
Hello,
Using ODI package, I am using ODIWaitForData on a table. This works for Inserts/Update, but what do I need to do in a package to do Change Data Capture for Delete?
Thank you.If your data store is in CDC and you are setting the property named Journalized data only at the interface level then you can set the IKM property named synchronous_jrn_delete . It will take care of the delete operation .
-
Putting ODI packages into a .bat file
Hello,
I have multiple ODI packages and I want be able to execute these packages in a Window .bat execution. How do I call these packages say in a DOS command?
Thanks!Create a scenario for each package and then you can call them by using startscen.bat that is the oracledi\bin directory.
Syntax: startscen <Name> <Version> <Context code> [<Log_Level>] [-SESSION_NAME=<session name>] [-KEYWORDS=<keywords>] [-NAME=<agent_name>] [-v=<trace level>] [<variable>=<value>]
e.g. startscen.bat SCENARIONAME 001 GLOBAL "-v=5" "PROJ1.VAR1=VARVALUE"
Cheers
John
http://john-goodwin.blogspot.com/ -
Calling UNIX shell script from ODI package?
Hi,
How Can we call UNIX shell script from ODI package?
I have a ftp_ss.sh script which which ftps a file from remote server to local server, archives the last file and renames new file to the standard (ie file data store)name.
I want to run the above script and interfaces from a package.
Any help is greately appreciated.
Thanks,
RDIn the package window, put "OS Command" from the toolbox.
Provide the command parameters to this tool in form of "/path/to/script/ftp_ss.sh" -
Java.lang.NullPointerException while executing ODI package
hi,
while executing some of my packages in ODI 11g....
i m getting the following error
java.lang.NullPointerException
at com.sunopsis.dwg.codeinterpretor.SnpGeneratorSQLCIT.treatPopSourceSet(SnpGeneratorSQLCIT.java:7984)
at com.sunopsis.dwg.codeinterpretor.SnpGeneratorSQLCIT.treatJobPopCollectionBuild(SnpGeneratorSQLCIT.java:7771)
at com.sunopsis.dwg.codeinterpretor.SnpGeneratorSQLCIT.preComputePop(SnpGeneratorSQLCIT.java:7713)
at com.sunopsis.dwg.codeinterpretor.SnpGeneratorSQLCIT.treatJobPop(SnpGeneratorSQLCIT.java:7623)
at com.sunopsis.dwg.codeinterpretor.SnpGeneratorSQLCIT.treatPackageStep(SnpGeneratorSQLCIT.java:10636)
at com.sunopsis.dwg.codeinterpretor.SnpGeneratorSQLCIT.mainGenPackageSessionInternal(SnpGeneratorSQLCIT.java:3212)
at com.sunopsis.dwg.codeinterpretor.SnpGeneratorSQLCIT.mainGenPackageSession(SnpGeneratorSQLCIT.java:3168)
at com.sunopsis.graphical.dialog.SnpsDialogExecution.doPackageExecuter(SnpsDialogExecution.java:936)
at oracle.odi.ui.action.SnpsPopupActionExecuteHandler.actionPerformed(SnpsPopupActionExecuteHandler.java:68)
at oracle.odi.ui.SnpsFcpActionAdapter.handleEvent(SnpsFcpActionAdapter.java:252)
at oracle.ide.controller.IdeAction.performAction(IdeAction.java:529)
at oracle.ide.controller.IdeAction.actionPerformedImpl(IdeAction.java:884)
at oracle.ide.controller.IdeAction.actionPerformed(IdeAction.java:501)
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:6041)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5806)
at java.awt.Container.processEvent(Container.java:2058)
at java.awt.Component.dispatchEventImpl(Component.java:4413)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4243)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
at java.awt.Container.dispatchEventImpl(Container.java:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2440)
at java.awt.Component.dispatchEvent(Component.java:4243)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
plz help me out....Hi,
At what step of the package ur getting this error?
ODI throughs this err, when
e.g.,Suppose you are refreshing a variable with the select query and that select query has no data found in that case u can get the null pointer exception(one of the case).
variable: p_refresh and in the refresh query is something like
select 1 from dual where 1=2;
When the above refresh query quites it through the null pointer exception. -
Monitoring Execution of ODI packages
In order to automate the monitoring of the OID pacakges, our monitoring tool (PATROL) can read txt files and when a specific key word is entered, trigger an alert.
The file should be empty if package runs successfully and whenever a package fails a keyword should be written to it (overwritting whatever was there before).
File location could be anywhere,that would not be a problem.
How it can be achieved ?Hi,
There are a number of ways to do this, have a look at this blog post on how to write out errors to a file from ODI :
http://odiexperts.com/error-records-log
Now the example above is reporting data validation errors from the SNP_CHECK_TAB, if you want runtime errors from a scneario then you can get the error from a previous step in a package using the API :
<%=odiRef.getPrevStepLog("MESSAGE")%>
You could also use the oditool ODIFileAppend to open/overwrite/ populate a file with the error using the API method I've mentioned above. Check the API Substitution guide and ODITools guide for more info.
Regards,
Alastair
Maybe you are looking for
-
Hello, I am trying to switch from Windows to OSX but must first find Mac equivalent solutions for daily tasks performed in Windows. 1. I am looking for an app to quickly resize photos using keyboard shortcuts, i.e. Control + R, just like I can do wit
-
I am currently in the process of porting over my data from another server to a new server. On that server I am running ColdFusionMX7 Standard and want to continue running it on the new one. Coldfusion is currently loaded on the new server thro
-
Hello I have to convert sql procedure to Oracle procedure and it uses the common table expression "With" can some one tell me if there is an equivalent of "with" in Oracle It is being used like this. with bcount (Bookid, [count]) as select b.Bookid a
-
Hello BW Experts, I need your help. There is a KF that I want to restrict by an interval from the first day of the current fiscal year to current day. If anyone can help me on this, it would be great. My problem is similar to if I want to restrict by
-
Hi, I am working for the integration of Lotus notes (R5) with weblogic server 7.0 using JCA.Can anyone please help me to know about the JCA Resource adapters that are available for Lotus Notes integration with Weblogic 7.0. with regards, Vinod