Sponsored Content
Top Forums Shell Programming and Scripting Script not spooling in result file Post 302742551 by Arkadia on Tuesday 11th of December 2012 09:09:02 AM
Old 12-11-2012
Script not spooling in result file

Hi everyone and nice to meet you Smilie

I'm having some issues with a script I'm writing.
It's probably most chaotic, I'm no ksh guru, but the idea is to extract an ID with that query, spool it into a file, and read that file making the ID a variable. This has to be done for every row extracted by function extractData

Problem is, it doesn't spool. At all. I'm in the dark here because it has always worked for me, but not this time. It's the red/bold part of the script.
What am I doing wrong?
Thank you in advance!


Code:
#!/bin/ksh
set -x
###########
#FUNCTIONS#
###########

function extractData
{
perl -ne 'BEGIN { $/="\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*" } chomp; print if /error_field/i' $recent_log | \
awk '(match($1,/^cccardcode|^date/)) {printf "%s;",$3};(match($1,/^file_amount/)) {printf "%s\n",$3}' | tr -d " " | tr -d "\015" | \
awk -F";" '{
        printf "%s;", $1
        printf "%s;", $2
}
$3 ~ /[0-9]+\.00+/ {
        printf "%.0f\n", $3
}
$3 ~ /[0-9]+\.[1-9]0+/ {
        printf "%.1f\n", $3
}
$3 ~ /[0-9]+\.[0-9][1-9]0+/ {
        printf "%.2f\n", $3
}'
}

function doCSVSQL
{
sqlplus -s user/pass@SID >>report_dettaglio_$(date +"%Y%m%d").csv << EOF
@do_csv.sql
exit;
EOF
}


##########
#PRECHECK#
##########

cd /LOGPATH
recent_log=$(ls PIHCCARD*.LOG | tail -1)
go=$(cat $recent_log | grep error_field | wc -l)

if [ $go -eq 0 ]
then
echo "Nessuno scarto trovato nei LOG. Esco."
break
else

######
#MAIN#
######

rm -f tmp_data.txt
extractData > tmp_data.txt

cat tmp_data.txt | while read line
do

cdc="'$(echo $line|awk -F";" '{print $1}')'"
emiss="'$(echo $line|awk -F";" '{print $2}')'"
importo="'$(echo $line|awk -F";" '{print $3}')'"
cdc_cut=$(echo $cdc | cut -c14-17)


sqlplus -s user/pass@SID >result.txt << EOF
set pagesize 32000
set linesize 500
set heading off
set feedback off
select /*+ PARALLEL(customer 2) PARALLEL(orderhdr 2) PARALLEL(tickler_records 2) USE_HASH(customer) */
c.customer_id
from customer c,orderhdr o,tickler_records t
where c.customer_id=o.customer_id
and o.customer_id=t.customer_id
and o.ohinvamt=$importo
and o.ohentdate=to_date($emiss,'DDMMYY')
and (t.long_description like '%Carta di credito%$cdc_cut%'
or long_description like '%Cambio Metodo di Pagamento%$cdc_cut%'
or long_description like '%Carta di Credito%$cdc_cut%');
exit;
EOF

cat result.txt | while read customer_id
do doCSVSQL
rm -f result.txt
done

done

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Spooling a log file with timestamp

Hi From shell script i am invoking sqlplus to connect to oracle database and then i spool a csv file as with output. What i want to do is to change the file name with timestamp on it so after spooling finish shell script change file name with time stamp. can someone help me to do that . Thanks... (2 Replies)
Discussion started by: ukadmin
2 Replies

2. Shell Programming and Scripting

spooling through shell script

Hi, I want to spool the output from a .sql file to a .txt file through shell script. the contents of .sql are: spool /arboru02/scripts/customer_profile_def.txt select profile_id ||','|| account_no from customer_profile_def; spool off exit and shell scrip is like: #!/bin/sh... (9 Replies)
Discussion started by: ss_ss
9 Replies

3. UNIX for Dummies Questions & Answers

Option in sql script to include column headers when spooling file to .csv format

Can anyone help me how to include COLUMN HEADER when spooling file to .CSV format through SQL statement. Thanks, Akbar (4 Replies)
Discussion started by: s1a2m3
4 Replies

4. Shell Programming and Scripting

shell script result to file

Since I'm not an expert in shell scripting, I have question on sending script result to file. I have script like this... if condition=0: then echo "service is not running" | mail -s "Server Status" uname@companyname fi sleep 10 if configtion=1: then echo "service is not running" | mail -s... (3 Replies)
Discussion started by: s_linux
3 Replies

5. UNIX for Dummies Questions & Answers

Creating a Tar file while files are spooling

Hi I have done a search for this but couldn't find much on it. I am creating a tar file with the command below tar cvf /export/home/user/backup/*Will this is being created I have a job spooling to 5 texts files in the following directory /export/home/user/backup/STATS/ The tar files... (1 Reply)
Discussion started by: sgarvan
1 Replies

6. Shell Programming and Scripting

Spooling file to excel

Hi , Im spooling file from oracle to csv using shell script. Below is the code im using.. The o/p is not coming in right format.. Please help me out in this.. O/p is coming as header till batch id ,im not able to see date_stored,type,type1.. Please any one can give me some suggestion ... (1 Reply)
Discussion started by: jkumsi
1 Replies

7. Shell Programming and Scripting

Script to write result to a file

Hello, How can I run this script every 1 hour and save its result to result.txt ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}' Regards Shaan (5 Replies)
Discussion started by: Shaan_Shaan
5 Replies

8. UNIX for Dummies Questions & Answers

Spooling data from the database in .csv file with boundary

Hi Guys, Another questions to the genius over here. I have spool the dataf from the database into a .csv file. But can it be possible to have all the rows and column with the boundaries..for example the .csv file which i have is as below: 20140327 BU 9A 3 20140327 SPACE 9A 3 20140327... (8 Replies)
Discussion started by: Pramod_009
8 Replies

9. UNIX for Beginners Questions & Answers

Script not spooling in the designated file.

Hi, I need to write a script that will run a simple select count(*) query and sends the result of that query to me via email. Here's what I already have. #!/bin/ksh ###################################################################### # File Name : counts.sh # Created : 2019/27/19... (1 Reply)
Discussion started by: clef
1 Replies

10. UNIX for Beginners Questions & Answers

Spooling File to My Desktop From Back-end using shell script

Hello all, I am trying to spool a SQL query output file from back-end to desktop in a certain path but it didn't work,the query writes the output in a file in the same directory at the back-end. note : i use the same query in sql developper and file was created in the desired path fine code... (1 Reply)
Discussion started by: bmaksoud
1 Replies
FAXLOCK(8C)															       FAXLOCK(8C)

NAME
faxlock - tell a HylaFAX server to switch to LOCKWAIT state SYNOPSIS
/usr/sbin/faxlock [ -q dir ] modem DESCRIPTION
faxlock sends a message to a HylaFAX faxgetty(8C) process servicing modem telling it to change its state to LOCKWAIT The specified modem can either be the name (typically the last component of the terminal port the modem is attached to), or the full name of the associated FIFO named pipe file, e.g. ``FIFO.ttym2''. OPTIONS
-q dir Use a spooling area other than /var/spool/fax. NOTES
When faxgetty changes it's state to LOCKWAIT, it will start looking for the UUCP lockfile for the device, and when the device is no longer locked, proceed to re-initialize the modem. FILES
/var/spool/fax default spooling area /var/spool/fax/FIFO fifo for contacting faxq Consult hylafax-server(5F) for a complete discussion of the structure and content of the spooling area. SEE ALSO
hylafax-server(5F), faxq(8C), faxgetty(8C) March 3, 1995 FAXLOCK(8C)
All times are GMT -4. The time now is 06:10 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy