Solved

Passing null value as parameter from Shell script to ODI scenario

Posted on 2013-11-19
4
1,425 Views
Last Modified: 2013-11-20
Hi,
I have a ODI(Oracle Data integrator) scenario that has a parameter that is allowed to accept nulls. I am trying to run the scenario from the Linux command prompt. I am not very familiar with linux commands..just a little bit. The command that I am trying to run is:
sh startODIScenFromCntrlM.sh DL_CHARGEOFF_DOLLAR_RANGE 001 N N 'BI_REPORTING.V_REVCL=""'

This command runs successfully but somehow it does not populates the table that it is supposed to when the null value is passed in the parameter BI_REPORTING.V_REVCL.
When I run the same ODI scenario from ODI client passing null then it does populates the table as it is expected.
Please help!!
0
Comment
Question by:baralp
  • 2
  • 2
4 Comments
 
LVL 76

Accepted Solution

by:
slightwv (䄆 Netminder) earned 500 total points
ID: 39661142
Never used this product but taking an educated guess.

double quotes mean something special to Oracle.  Two single quotes in Oracle is a null value.  Also, null cannot '=' anything.

Two guesses:
sh startODIScenFromCntrlM.sh DL_CHARGEOFF_DOLLAR_RANGE 001 N N 'BI_REPORTING.V_REVCL='\'\''

or
sh startODIScenFromCntrlM.sh DL_CHARGEOFF_DOLLAR_RANGE 001 N N 'BI_REPORTING.V_REVCL is null'
0
 

Author Comment

by:baralp
ID: 39662659
Hi,
Your second guess executes without any error but it still does not populates the table. I think somehow it is not interpreting the oracle nvl for '\'\''.

Your second guess errors out with the following msg:
 Command: /a02/Middleware/Oracle_ODI2/oracledi/agent/bin/startscen.sh DL_CHARGEOFF_DOLLAR_RANGE 001 GLOBAL -AGENT_URL=http://lasfocp4.dqe.com:1029/oraclediagent BI_REPORTING.V_REVCL IS NULL
Error parsing logLevel:BI_REPORTING.V_REVCL should be an integer
 SYNTAX
     startscen.(bat|sh) <scenario_name> <version> <context_code> [<log_level>] [-SESSION_NAME=<session_name>] [-KEYWORDS=<keywords>] [-AGENT_URL=<agent_url>] [-NAME=<agent_name>] [-ASYNC=(false|true)] [<variable>=<value>]*
      -ASYNC=false is default; -ASYNC=true is valid only if -AGENT_URL is specified
 PREREQUISITES
   The REPOSITORY CONNECTION INFORMATION section of odiparams.(bat|sh) should be
   completed before running this script.
0
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
ID: 39662678
I would look at:
Error parsing logLevel:BI_REPORTING.V_REVCL should be an integer

Looks like this parameter is required.

Never having used this product it will be hard to say for sure.  Can you not contact the provider for support?
0
 

Author Comment

by:baralp
ID: 39663101
Hi,
I have found a solution to this. The null key word worked instead.
sh startODIScenFromCntrlM.sh DL_CHARGEOFF_DOLLAR_RANGE 001 N N 'BI_REPORTING.V_REVCL=null'

Thanks
0

Featured Post

Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

The purpose of this article is to demonstrate how we can use conditional statements using Python.
It’s 2016. Password authentication should be dead — or at least close to dying. But, unfortunately, it has not traversed Quagga stage yet. Using password authentication is like laundering hotel guest linens with a washboard — it’s Passé.
This video shows how to recover a database from a user managed backup
This video explains what a user managed backup is and shows how to take one, providing a couple of simple example scripts.

706 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now