How to pass two word parameter


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to pass two word parameter
# 8  
Old 08-15-2012
sorry I have double quoted variables but it did not work, I still got the same error message.
Code:
USER="$1";       export USER
PASSWD="$2";     export PASSWD
SID="$3";        export SID
PDM_DB="$4";     export PDM_DB
OWNER="$5";      export OWNER
DIV="$6";        export DIV
DEPT="$7";       export DEPT
STYLE="$8";      export STYLE

# 9  
Old 08-15-2012
The error may be happening in the database itself, then. What is that procedure which is being called?

Another thing occurs to me -- is that "mens knit" or "men's knit"? An apostrophe in the string would mess up the syntax.
# 10  
Old 08-15-2012
It is "Mens Knit" and procedure runs fine when executed in the database.
I get this error when I try to execute procedure from Unix, as I have mentioned
it works fine for div "Mens" but not for "Mens Knit".
As you can see v_div and v_dept are passing wrong values in the procedure.
Code:
U run_convert_pdm.ksh abc desf dev sdv XYZ "Mens Knit" 44 7542

Code:
As of now wrong parameters are being passing to procedure causing error
v_owner :XYZ 
v_div: "Mens
v_dept: Knit" 
v_style_in: 44

Code:
Right parameters for procedure
v_owner :XYZ 
v_div: Mens Knit
v_dept: 44 
v_style_in: 7542

# 11  
Old 08-15-2012
What exactly are you typing U run_convert_pdm.ksh "Mens Knit" 44 7541 into? If it's not a shell, double-quotes may not be the thing you need to quote a string. It appears to be considering everything literally, even the quotes!
# 12  
Old 08-15-2012
please find the steps.
1. vi CONVERT_PDM_TEST
2.
Code:
# --- BATCH 850 --------------------03/22/2012-----------
#parameters are userid, password, database, pdm db link, owner, div, dept, style
U run_convert_pdm.ksh abc desf dev sdv XYZ "Mens Knit" 44 7542

3. run_pmcmd.ksh CONVERT_PDM_TEST
# 13  
Old 08-15-2012
One point: This is partly a sqlplus problem. sqlplus requires single tics around quoted strings. The single tics or quotes on positional variables with spaces are lost once the variables are used inside the script.

usage: myscript.sh 'mens wear' 7155 'stuff'
Code:
# embed single quotes into a variable so sqlplus will like it
var1=$(printf "'%s'" "$1")
var3=$(printf "'%s'" "$3")

sqlplus me/mypasswd@somedb <<EOF
    select * from mytable
    where fld1 = $var1 
      and fld2 = $var2
      and fld3 = $var3;
EOF

# 14  
Old 08-20-2012
I have tried following chnages but it did not work.
changes I have made are -
Code:
a. DIV="$6"
b. "'${DIV}'"
c. 'Mens Knit'

Step 1.run_pmcmd.ksh CONVERT_PDM_TEST
Code:
USER=$1;       export USER
PASSWD=$2;     export PASSWD
SID=$3;        export SID
PDM_DB=$4;     export PDM_DB
OWNER=$5;      export OWNER
DIV="$6";        export DIV
DEPT=$7;       export DEPT
STYLE=$8;      export STYLE
 
$ORACLE_HOME/bin/sqlplus ${USER}/${PASSWD}@${SID} >>./CONVERT_PDM_TEST${DEPT}.log <<EOC
whenever sqlerror exit 1
execute CNVT_TP_SUMMARY('${PDM_DB}', '${OWNER}',"'${DIV}'",'${DEPT}','${STYLE}');
EOC

Step 2. CONVERT_PDM_TEST
Code:
U run_convert_pdm.ksh abc pwd dev datadb XYZ 'Mens Knit' 44 7542

Thanks
Sandy
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to pass parameter to bteq?

I am using below code to connect terdata and getting the query result in a file.Now i want to use same code for different tables,plz tell me how to pass table name as parameter.i tried using as below code but not working. bteq < /download/viv/dev/ops/Scripts/ter.sh FLTORGTKR_ORG_etc.. ... (1 Reply)
Discussion started by: katakamvivek
1 Replies

2. Shell Programming and Scripting

Pass parameter

Hi, I have following for loop , please let me know how to get ${TXP_EXT_TABLE_${i}_SQL} parameter with 1DAY and 7DAY values. for i in 1DAY 7DAY do ${NZSQL_DIR}/nzsql -h ${HOST} -time -v ON_ERROR_STOP=1 -f ${SQL_DIR}/${TXP_EXT_TABLE_${i}_SQL} > ${TMP_LOG_FILE} 2>&1 done ... (4 Replies)
Discussion started by: sandy162
4 Replies

3. Shell Programming and Scripting

pass parameter to SED

My script(ksh) works fine for --------------------------------------------------- sed -n '28,31p' ${l_name} >> ${LOG_DIR}/Email.txt --------------------------------------------------- But I wand to pass parrmeter to this syntax I did the following things ... (14 Replies)
Discussion started by: deep_kol
14 Replies

4. UNIX for Dummies Questions & Answers

How to pass the parameter value to a... ?

Hello I have a simple code like this one: #!/bin/ksh VER=$1 cat /usr/text | while read line do echo $line done Let's say $1=1.0.0 and the contents of text is: abcd.cfg asdf I would like the output to be like this abcd1.0.0.cfg asdf1.0.0 I am thinking of passing the... (5 Replies)
Discussion started by: khestoi
5 Replies

5. Shell Programming and Scripting

pass parameter to function

HI all I have a code like ############################################## minyear() { curryear=$1 echo $curryear } ##Main Program ## minyear exit ####### when i execute "sh scriptname 2005" output should be like 2005 but the output is blank. I guess i need to pass parameter to... (3 Replies)
Discussion started by: vasuarjula
3 Replies

6. UNIX for Dummies Questions & Answers

How to pass parameter to subroutine

I have something like cp -p <dir>filename1.dat <dir2>filename1.dat there are many other operations in it I mean that filename1.dat will keep on changing I need to write a subroutine so that i can pass filename1 or 2 or 3 .dat as parameter Thanking you in advance Any help wuld be appreciated (2 Replies)
Discussion started by: ssuresh1999
2 Replies

7. Shell Programming and Scripting

How to pass a parameter

Hi all, How to pass a parameter from a oracle pl/sql procedure parameter to shell environment and use it? (1 Reply)
Discussion started by: megh
1 Replies

8. Shell Programming and Scripting

Pass parameter into script

I would like to write a scirpt a.sh that it first checks the first parameter of the input. If it fulfill some condition ,then run an executable program b by using all the parameter. ie. > ./a.sh 10 20 30 40 50 Then a.sh first checks the first parameter, 10, if it mathes the requirement, then... (2 Replies)
Discussion started by: alfredo
2 Replies

9. UNIX for Dummies Questions & Answers

Pass Parameter to Another Script

I have a piece of code that I do not want to continuously repeat. I want to call script2 from script1 and pass a parameter. Here is an example: Script1: ....... nohup ./Script2 PARAMETER ....... Script2: if # Checks if any params. then echo "No parameters passed to function." ... (4 Replies)
Discussion started by: rvprod
4 Replies
Login or Register to Ask a Question