Sponsored Content
Full Discussion: help with the script.
Top Forums UNIX for Dummies Questions & Answers help with the script. Post 13023 by rooh on Thursday 10th of January 2002 10:15:05 AM
Old 01-10-2002
help with the script.

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.

Your Help will be highly appreciated.

Thanks.
Rooh

added code tags for readability

Last edited by oombera; 02-11-2004 at 04:30 PM..
 

5 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

create a shell script that calls another script and and an awk script

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)
Discussion started by: magikminox
0 Replies

2. Shell Programming and Scripting

Script will keep checking running status of another script and also restart called script at night

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)
Discussion started by: ketanraut
1 Replies

3. UNIX for Dummies Questions & Answers

Calling a script from master script to get value from called script

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)
Discussion started by: Raj Roy
2 Replies

4. Shell Programming and Scripting

Shell script works fine as a standalone script but not as part of a bigger script

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)
Discussion started by: ektubbe
2 Replies

5. Shell Programming and Scripting

How to block first bash script until second bash script script launches web server/site?

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)
Discussion started by: siegfried
3 Replies

Featured Tech Videos

All times are GMT -4. The time now is 06:04 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy