#! /bin/sh SHIPTO="NAT" BATCHID="39358" SDATE="01/06/2012" EDATE="30/06/2012" IOFFSETDAYS="9" #----------------------------------- echo "IOFFSETDAYS=[$IOFFSETDAYS]" # convert EDATE to YYYYMMDD IYYYYMMDD=`awk -v "ADATE=$EDATE" -v "sep=" ' BEGIN { dd = 0 + substr(ADATE,1,2); mm = 0 + substr(ADATE,4,2); yyyy = 0 + substr(ADATE,7,4); YYYYMMDD = sprintf("%04d%s%02d%s%02d", yyyy, sep, mm, sep, dd); print YYYYMMDD exit }'` echo "IYYYYMMDD=[$IYYYYMMDD]" MMYYYY=`SDATEtoMMYYYY $SDATE` echo "MMYYYY=[$MMYYYY]" billperiod=`MMYYYYtobillperiod $MMYYYY "_"` echo "billperiod=[$billperiod]" tbsbillingperiod=`MMYYYYtotbsbillperiod $MMYYYY` echo "tbsbillingperiod=[$tbsbillingperiod]" YYYYMM=`echo "$tbsbillingperiod" | sed 's/\///'` echo "YYYYMM=[$YYYYMM]" transactiontable="tFinalisedTransaction${YYYYMM}" echo "transactiontable=[$transactiontable]" if [ -n "$BATCHID" ]; then BATCHIDBIT=" and ${transactiontable}.BatchID = $BATCHID" else BATCHIDBIT="" fi #cat < dateadd(dd,$IOFFSETDAYS,'$IYYYYMMDD') AND tInvoice.InvoiceDate <= dateadd(mm,1,dateadd(dd,$IOFFSETDAYS,'$IYYYYMMDD')) $EXCLUDEINVBIT $EXCLUDEBATCHIDBIT GROUP BY ${transactiontable}.ServiceID, ${transactiontable}.BatchID, ${transactiontable}.ServiceTypeID, ${transactiontable}.CustomerID, ${transactiontable}.StatusID, ${transactiontable}.PersonID, ${transactiontable}.LocationID, ${transactiontable}.CustomerCentreID, ${transactiontable}.CustomerActivityID, ${transactiontable}.CustomerElementID, ${transactiontable}.CustomerSubledgerID, ${transactiontable}.InvoiceDetailID ) AS TN1 LEFT JOIN tStatus ON TN1.StatusID = tStatus.ID LEFT JOIN tCustomer ON TN1.CustomerID = tCustomer.ID LEFT JOIN tPerson ON TN1.PersonID = tPerson.ID LEFT JOIN tLocation ON TN1.LocationID = tLocation.ID LEFT JOIN ( tCentre LEFT JOIN tDepartment ON tCentre.DepartmentID = tDepartment.ID ) ON TN1.CustomerCentreID = tCentre.ID LEFT JOIN tActivity ON TN1.CustomerActivityID = tActivity.ID LEFT JOIN tElement ON TN1.CustomerElementID = tElement.ID LEFT JOIN tSubledger ON TN1.CustomerSubledgerID = tSubledger.ID LEFT JOIN tServiceID ON TN1.ServiceID = tServiceID.ID LEFT JOIN tServiceType ON TN1.ServiceTypeID = tServiceType.ID LEFT JOIN ( tBatch LEFT JOIN ( tBatchType LEFT OUTER JOIN tReportGroup ON tBatchType.ReportGroupID = tReportGroup.ID ) ON tBatch.BatchTypeID = tBatchType.ID ) ON TN1.BatchID = tBatch.ID WHERE ( tStatus.Status IS NULL OR tStatus.Status NOT LIKE '%Information%' ) and tCustomer.ShipTo = "$SHIPTO" --# and tBatchType.Active = 1 ORDER BY tCustomer.ShipTo, tServiceID.ServiceID, tServiceType.Code, Sundry SQL0