Hi all,
I am currently unable to find out as to where I am going wrong.
MY script does all the desired work but unfortunately prints multiple copies Instead of one copy.
This is my script:
I have a file which contains the number to be passed:
Suppose my File is named as ACODE.
The contents are numbers like:
12345
67892
3246789
9876
now my script is :
Code:
function query_acode {
typeset scope=query_acode
typeset tmpbpfile=/tmp/bpfile
typeset tmpfile=/tmp/acode_$DATE1
export bpfile=$PRODLOGS/to_print.$TIMESTAMP
/bin/printf "$bname : Logging into oracle\n" >>$logfile
/bin/printf "$bname : Strating ACODE query $TIMESTAMP\n" 2>&1 >>$logfile
for invoice in `cat /home/production/bin/$FILENAME`
#run query
#check valid file
#print
#update table
{
sqlplus -s $CONNECTID <<EOF
spool $bpfile
set heading off
set feedback off
set pagesize 1000
set linesize 1000
set echo off
set verify off
select name,acode,a.external_id,page_count,language_code,dept
from emp_details b, external_id_employees a
where a.account_no=b.account_no
and b.dept in ('J01','X01','X02','X03','X09','X04','X05','X06','X45')
and acode in
(select acode from employees where acode = $invoice
and ps=0 and fs=2 ) and external_id_type=9999
and language_code not in (99)
order by a.external_id;
spool off
EOF
}
if [ -s $bpfile ];then
/bin/cp $bpfile $tmpfile
/bin/sed -e '/^$/d' \
-e 's/[ ] [ ] */ /g' $bpfile >$tmpfile
/bin/mv $tmpfile $bpfile
# check file exists , set the printer and lp & update table
for record in `cat $bpfile`
{
acode1=`awk '{print $2 }' $bpfile`
ename=`awk ' {print $1 }' $bpfile`
dept1=`awk '{ print $6 }' $bpfile|cut -c 1 `
if [ "$dept1" = "J" ];then
if [ -f $PRODREADY/$filename ];then
/bin/lp -d $PRINTER $PROD/$filename
[ $? = 0 ] && update_invoices $acode1
else
/bin/printf "$bname : Acode file for $acode1 does not exist\n" >>$logfile
/bin/printf "$bname:\t Check format status of Employees $acode1\n"
fi
else
if [ -f $PRODREADY/$filename ];then
lp -d $PRINTER $PROD/$filename
[ $? = 0 ] && update_invoices $acode1
else
/bin/printf "$bname : acode file for $acode1 does not exist\n" >>$logfile
/bin/printf "$bname:\t Check format status of Invoice $acode1\n"
fi
fi
}
else
/bin/printf "$bname: No information in database for $acode1 \n" >>$logfile
fi
}
[[ -n "$TRACE_FUNC" || -n "$TRACE_FUNC_query_acode" ]] &&
typeset -ft query_acode
Please do not worry about the trace functions or the variables as they are all fine but the problem is that it prints multiple copies . Looks like it is going in a loop somewhere and I can't figure out properly.
Hi guys
I have a shell script that executes sql statemets and sends the output to a file.the script takes in parameters executes sql and sends the result to an output file.
#!/bin/sh
echo " $2 $3 $4 $5 $6 $7
isql -w400 -U$2 -S$5 -P$3 << xxx
use $4
go
print"**Changes to the table... (0 Replies)
I am using blow script :--
#!/bin/bash
FIND=$(ps -elf | grep "snmp_trap.sh" | grep -v grep) #check snmp_trap.sh is running or not
if
then
# echo "process found"
exit 0;
else
echo "process not found"
exec /home/Ketan_r /snmp_trap.sh 2>&1 & disown -h ... (1 Reply)
I am trying to call a script(callingscript.sh) from a master script(masterscript.sh) to get string type value from calling script to master script. I have used scripts mentioned below.
#masterscript.sh
./callingscript.sh
echo $fileExist
#callingscript.sh
echo "The script is called"... (2 Replies)
Hello all,
I am facing a weird issue while executing a code below -
#!/bin/bash
cd /wload/baot/home/baotasa0/sandboxes_finance/ext_ukba_bde/pset
sh UKBA_publish.sh UKBA 28082015 3
if
then
echo "Param file conversion for all the areas are completed, please check in your home directory"... (2 Replies)
I'm new to utilities like socat and netcat and I'm not clear if they will do what I need.
I have a "compileDeployStartWebServer.sh" script and a "StartBrowser.sh" script that are started by emacs/elisp at the same time in two different processes.
I'm using Cygwin bash on Windows 10.
My... (3 Replies)