: !/bin/sh # get Invoice info from TBS # IYYYYMMDD env var must me set to which month # APERIOD env var must me set to which month # $1 will override IYYYYMMDD env var # $2 will override IOFFSETDAYS env var # $3 will override APERIOD env var # $4 will override default outfile if [ -n "$1" ]; then IYYYYMMDD="$1" export IYYYYMMDD fi if [ -z "$IYYYYMMDD" ]; then echo "$0: Must set invoiced date IYYYYMMDD env var OR $0 yyyymmdd" exit 1 fi if [ -n "$2" ]; then IOFFSETDAYS="$2" export IOFFSETDAYS fi if [ -z "$IOFFSETDAYS" ]; then echo "$0: Must set invoiced date offset days IOFFSETDAYS env var OR $0 ndays" exit 1 fi if [ -n "$3" ]; then APERIOD="$3" export APERIOD fi if [ -z "$APERIOD" ]; then echo "$0: Must set bill Period date APERIOD env var OR $0 yyyy/mm" exit 1 fi if [ -n "$4" ]; then outfile="$4" else outfile="${0}.unl" fi echo "$0: for $IYYYYMMDD, $IOFFSETDAYS, $APERIOD to file $outfile" . tbsserver_vars tbsbillingperiod="$APERIOD" #echo "tbsbillingperiod=[$tbsbillingperiod]" YYYYMM=`echo "$tbsbillingperiod" | sed 's/\///'` #echo "YYYYMM=[$YYYYMM]" #transactiontable="tFinalisedTransaction" transactiontable="tFinalisedTransaction${YYYYMM}" #echo "transactiontable=[$transactiontable]" ( sqsh -S $server -D $dbname -U $username -P $password <<SQLCMD0 SELECT DISTINCT tCustomer.Shipto AS Div, tInvoice.PlatinumFileName, tInvoice.PlatinumInvoiceNo, ${transactiontable}.BatchID AS Sundry, tSupplier.SupplierName AS Supplier, 0 AS ServiceGroupID, "All" AS ServiceGroupDesc, tInvoiceDetail.ElementID, tElement.Description, tInvoiceDetail.Period, "" AS ImportedFileID, ${transactiontable}.InvoiceDetailID, tInvoice.InvoiceDate, tInvoiceDetail.GSTAmount FROM tSupplier INNER JOIN tBatch INNER JOIN ${transactiontable} ON tBatch.ID = ${transactiontable}.BatchID ON tSupplier.ID = tBatch.SupplierID INNER JOIN tInvoiceDetail ON ${transactiontable}.InvoiceDetailID = tInvoiceDetail.ID INNER JOIN tInvoice ON tInvoiceDetail.InvoiceID = tInvoice.ID --# and tInvoice.ID NOT IN ( --# SELECT distinct tInvoice.CreditNoteInvID --# FROM tInvoice --# WHERE tInvoice.CreditNoteInvID is not null --# ) INNER JOIN tElement ON ${transactiontable}.ElementID = tElement.ID INNER JOIN tCustomer ON tInvoice.CustomerID = tCustomer.ID WHERE tInvoice.PlatinumInvoiceNo IS NOT NULL AND tInvoiceDetail.Period = "$tbsbillingperiod" AND tInvoice.InvoiceDate > dateadd(dd,$IOFFSETDAYS,'$IYYYYMMDD') AND tInvoice.InvoiceDate <= dateadd(mm,1,dateadd(dd,$IOFFSETDAYS,'$IYYYYMMDD')) $EXCLUDEINVBIT $EXCLUDEBATCHIDBIT ORDER BY Div, tInvoice.PlatinumFileName, tInvoice.PlatinumInvoiceNo, tInvoice.InvoiceDate, Sundry, Supplier, tInvoiceDetail.ElementID; \go -m bcp SQLCMD0 ) | tr "," ";" >$outfile #cat $outfile