• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1873
  • Last Modified:

Passing null value as parameter from Shell script to ODI scenario

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
baralp
Asked:
baralp
  • 2
  • 2
1 Solution
 
slightwv (䄆 Netminder) Commented:
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
 
baralpAuthor Commented:
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
 
slightwv (䄆 Netminder) Commented:
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
 
baralpAuthor Commented:
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

Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now