Here is complete SP.CREATE PROCEDURE [dbo].sp_Get_LodgmentJobByDate (@StartDate AS VARCHAR(10) = '', @EndDate AS VARCHAR(10) = '', @strClientList AS VARCHAR(1000) = '', @strJobList AS VARCHAR(1000) = '',@FromRun AS VARCHAR(10) = '',@ToRun AS VARCHAR(10) = '',@InvoicedJobs AS INT = 0)ASDECLARE @strQuery AS VARCHAR(8000)DECLARE @strCondition AS VARCHAR(3000)DECLARE @GST AS VARCHAR(3)SET @GST = (SELECT SysGST from [CDS_Systems_Postal].._Sysdata WHERE SysRecNo = 1)SET @strCondition = ''IF LEN(RTRIM(LTRIM(@strClientList))) > 0 SET @strCondition = @strCondition + 'Job.JobClientCode IN (' + @strClientList + ') 'IF LEN(LTRIM(RTRIM(@strJobList))) > 0BEGIN IF LEN(LTRIM(RTRIM(@strCondition))) > 0 SET @strCondition = @strCondition + 'AND ' SET @strCondition = @strCondition + 'Lodgement.LdgJobNo IN (' + @strJobList + ') 'ENDIF LEN(LTRIM(RTRIM(@StartDate))) > 0BEGIN IF LEN(LTRIM(RTRIM(@strCondition))) > 0 SET @strCondition = @strCondition + 'AND ' SET @strCondition = @strCondition + 'Lodgement.LdgDate >= CONVERT( DATETIME, ''' + @StartDate + ''', 103) 'ENDIF LEN(LTRIM(RTRIM(@EndDate))) > 0BEGIN IF LEN(LTRIM(RTRIM(@strCondition))) > 0 SET @strCondition = @strCondition + 'AND ' SET @strCondition = @strCondition + 'Lodgement.LdgDate < CONVERT( DATETIME, ''' + @EndDate + ''', 103) + 1 'ENDIF LEN(LTRIM(RTRIM(@FromRun))) > 0BEGIN IF LEN(LTRIM(RTRIM(@strCondition))) > 0 SET @strCondition = @strCondition + 'AND ' SET @strCondition = @strCondition + 'Lodgement.LdgJobRun >= ' + @FromRunENDIF LEN(LTRIM(RTRIM(@ToRun))) > 0BEGIN IF LEN(LTRIM(RTRIM(@strCondition))) > 0 SET @strCondition = @strCondition + 'AND ' SET @strCondition = @strCondition + 'Lodgement.LdgJobRun <= ' + @ToRunENDIF @InvoicedJobs= 0BEGIN IF LEN(LTRIM(RTRIM(@strCondition))) > 0 SET @strCondition = @strCondition + 'AND ' SET @strCondition = @strCondition + ' Job.InvoiceNumber IS NULL 'ENDSELECT DISTINCT Lodgement.LdgJobNo as JobNumber, Lodgement.LdgJobRun as RunNumber, Contract.ClientID AS JobClientCode, Contract.ContractName AS JobName, ContractRun.InvoiceDate, ContractRun.InvoiceNumber, 'CDS Limited' AS JobRep, 'C' AS Type INTO #Jobfrom [CDS_Systems_Postal]..Lodgement LodgementLEFT JOIN ContractRun ON (Lodgement.LdgJobNo=ContractRun.ContractId and Lodgement.LdgJobRun=ContractRun.RunNumber)LEFT JOIN Contract ON Lodgement.LdgJobNo=Contract.ContractIDWhere IsNumeric(Lodgement.LdgJobNo)=0 and Lodgement.LdgDate>=Convert(DateTime,@StartDate,103) and Lodgement.LdgDate<Convert(DateTime,@EndDate,103)+1 and Lodgement.LdgCancelled=0UNION ALLSELECT DISTINCT Lodgement.LdgJobNo as JobNumber, Lodgement.LdgJobRun as RunNumber, Job.ClientID AS JobClientCode, Job.JobName AS JobName, JobInvoice.InvoiceDate, JobInvoice.InvoiceNo as InvoiceNumber, 'CDS Limited', 'P'from [CDS_Systems_Postal]..Lodgement LodgementLEFT JOIN JobInvoice ON Lodgement.LdgJobNo=JobInvoice.JobNumberLEFT JOIN Job ON Lodgement.LdgJobNo=Job.JobNumberWhere IsNumeric(Lodgement.LdgJobNo)=1 and Lodgement.LdgDate>=Convert(DateTime,@StartDate,103) and Lodgement.LdgDate<Convert(DateTime,@EndDate,103)+1 and Lodgement.LdgCancelled=0Order by Lodgement.LdgJobNoSET @strQuery = 'SELECT Job.JobClientCode, Company.CompanyName, Job.JobNumber, Job.JobName, Job.Type, Lodgement.*, LodgeType = (SELECT LDgDesc FROM [CDS_Systems_Postal]..LodgementTypes LodgementTypes WHERE LodgementTypes.LdgType = Lodgement.LdgType ),ISNULL(Company.ClnRetainedPS, 0) AS ClnRetainedPS, ISNULL(Company.ClnRetainedPAR, 0) AS ClnRetainedPAR, ISNULL(Company.ClnRetainedOS, 0) AS ClnRetainedOS, Job.JobRep, LodgementCostexcl = (LdgTotalCost - LdgTotGST), AmdDiscEXCL = LdgAMDDisc * 100 / (100 + ' + @GST + '),FullRateEXCL = CASE Lodgement.LdgType WHEN "OS" THEN ldgFullRate WHEN "MSC" THEN (ldgFullRate - LdgTotGST) WHEN "PP" THEN (ldgFullRate - LdgTotGST) WHEN "RP" THEN (ldgFullRate - LdgTotGST) WHEN "APD" THEN (ldgFullRate - LdgTotGST) WHEN "APO" THEN (ldgFullRate - LdgTotGST) WHEN "EP" THEN (ldgFullRate - LdgTotGST) WHEN "POP" THEN (ldgFullRate - LdgTotGST) WHEN "PAR" THEN (ldgFullRate * 100 / (100 + ' + @GST + ')) WHEN "PSB" THEN (ldgFullRate * 100 / (100 + ' + @GST + ')) WHEN "PSU" THEN (ldgFullRate * 100 / (100 + ' + @GST + ')) ELSE (LdgFullRate * 100 / (100 + ' + @GST + '))END, DiscountRetained = CASE Lodgement.LdgType WHEN "OS" THEN Company.ClnRetainedOS WHEN "PAR" THEN Company.ClnRetainedOS WHEN "PSB" THEN Company.ClnRetainedOS WHEN "PSU" THEN Company.ClnRetainedOS ELSE 0END,ClientDiscount = CASE Lodgement.LdgType WHEN "OS" THEN ((ldgFullRate - (LdgTotalCost - LdgTotGST))*(100 - ISNULL(ClnRetainedOS, 0))/100) WHEN "MSC" THEN ((ldgFullRate - LdgTotGST) - (LdgTotalCost - LdgTotGST)) WHEN "PP" THEN ((ldgFullRate - LdgTotGST) - (LdgTotalCost - LdgTotGST)) WHEN "RP" THEN ((ldgFullRate - LdgTotGST) - (LdgTotalCost - LdgTotGST)) WHEN "APD" THEN ((ldgFullRate - LdgTotGST) - (LdgTotalCost - LdgTotGST)) WHEN "APO" THEN ((ldgFullRate - LdgTotGST) - (LdgTotalCost - LdgTotGST)) WHEN "EP" THEN ((ldgFullRate - LdgTotGST) - (LdgTotalCost - LdgTotGST)) WHEN "POP" THEN ((ldgFullRate - LdgTotGST) - (LdgTotalCost - LdgTotGST)) WHEN "PAR" THEN (((ldgFullRate * 100 / (100 + ' + @GST + ')) - (LdgTotalCost - LdgTotGST))*(100 - ISNULL(ClnRetainedPAR, 0))/100) WHEN "PSB" THEN (((ldgFullRate * 100 / (100 + ' + @GST + ')) - (LdgTotalCost - LdgTotGST + LdgAMDDisc))*(100 - ISNULL(ClnRetainedPS, 0))/100) WHEN "PSU" THEN (((ldgFullRate * 100 / (100 + ' + @GST + ')) - (LdgTotalCost - LdgTotGST + LdgAMDDisc))*(100 - ISNULL(ClnRetainedPS, 0))/100) ELSE ((LdgFullRate * 100 / (100 + ' + @GST + ')) - (LdgTotalCost - LdgTotGST))END,Chargeable = CASE Lodgement.LdgType WHEN "OS" THEN (ldgFullRate - ((ldgFullRate - (LdgTotalCost - LdgTotGST))*(100 - ISNULL(ClnRetainedOS, 0))/100)) WHEN "MSC" THEN ((ldgFullRate - LdgTotGST) - ((ldgFullRate - LdgTotGST) - (LdgTotalCost - LdgTotGST))) WHEN "PP" THEN ((ldgFullRate - LdgTotGST) - ((ldgFullRate - LdgTotGST) - (LdgTotalCost - LdgTotGST))) WHEN "RP" THEN ((ldgFullRate - LdgTotGST) - ((ldgFullRate - LdgTotGST) - (LdgTotalCost - LdgTotGST))) WHEN "APD" THEN ((ldgFullRate - LdgTotGST) - ((ldgFullRate - LdgTotGST) - (LdgTotalCost - LdgTotGST))) WHEN "APO" THEN ((ldgFullRate - LdgTotGST) - ((ldgFullRate - LdgTotGST) - (LdgTotalCost - LdgTotGST))) WHEN "EP" THEN ((ldgFullRate - LdgTotGST) - ((ldgFullRate - LdgTotGST) - (LdgTotalCost - LdgTotGST))) WHEN "POP" THEN ((ldgFullRate - LdgTotGST) - ((ldgFullRate - LdgTotGST) - (LdgTotalCost - LdgTotGST))) WHEN "PAR" THEN ((ldgFullRate * 100 / (100 + ' + @GST + ')) - (((ldgFullRate * 100 / (100 + ' + @GST + ')) - (LdgTotalCost - LdgTotGST))*(100 - ISNULL(ClnRetainedPAR, 0))/100)) WHEN "PSB" THEN ((ldgFullRate * 100 / (100 + ' + @GST + ')) - (((ldgFullRate * 100 / (100 + ' + @GST + ')) - (LdgTotalCost - LdgTotGST + LdgAMDDisc))*(100 - ISNULL(ClnRetainedPS, 0))/100)) WHEN "PSU" THEN ((ldgFullRate * 100 / (100 + ' + @GST + ')) - (((ldgFullRate * 100 / (100 + ' + @GST + ')) - (LdgTotalCost - LdgTotGST + LdgAMDDisc))*(100 - ISNULL(ClnRetainedPS, 0))/100)) ELSE ((LdgFullRate * 100 / (100 + ' + @GST + ')) - ((LdgFullRate * 100 / (100 + ' + @GST + ')) - (LdgTotalCost - LdgTotGST)))END, ChargeableGST = CASE Lodgement.LdgType WHEN "OS" THEN 0 WHEN "MSC" THEN ((ldgFullRate - LdgTotGST) - ((ldgFullRate - LdgTotGST) - (LdgTotalCost - LdgTotGST))) / 100 * ' + @GST + ' WHEN "PP" THEN ((ldgFullRate - LdgTotGST) - ((ldgFullRate - LdgTotGST) - (LdgTotalCost - LdgTotGST))) / 100 * ' + @GST + ' WHEN "RP" THEN ((ldgFullRate - LdgTotGST) - ((ldgFullRate - LdgTotGST) - (LdgTotalCost - LdgTotGST))) / 100 * ' + @GST + ' WHEN "APD" THEN ((ldgFullRate - LdgTotGST) - ((ldgFullRate - LdgTotGST) - (LdgTotalCost - LdgTotGST))) / 100 * ' + @GST + ' WHEN "APO" THEN ((ldgFullRate - LdgTotGST) - ((ldgFullRate - LdgTotGST) - (LdgTotalCost - LdgTotGST))) / 100 * ' + @GST + ' WHEN "EP" THEN ((ldgFullRate - LdgTotGST) - ((ldgFullRate - LdgTotGST) - (LdgTotalCost - LdgTotGST))) / 100 * ' + @GST + ' WHEN "POP" THEN ((ldgFullRate - LdgTotGST) - ((ldgFullRate - LdgTotGST) - (LdgTotalCost - LdgTotGST))) / 100 * ' + @GST + ' WHEN "PAR" THEN ((ldgFullRate * 100 / (100 + ' + @GST + ')) - (((ldgFullRate * 100 / (100 + ' + @GST + ')) - (LdgTotalCost - LdgTotGST))*(100 - ISNULL(ClnRetainedPAR, 0))/100)) / 100 * ' + @GST + ' WHEN "PSB" THEN ((ldgFullRate * 100 / (100 + ' + @GST + ')) - (((ldgFullRate * 100 / (100 + ' + @GST + ')) - (LdgTotalCost - LdgTotGST + LdgAMDDisc))*(100 - ISNULL(ClnRetainedPS, 0))/100)) / 100 * ' + @GST + ' WHEN "PSU" THEN ((ldgFullRate * 100 / (100 + ' + @GST + ')) - (((ldgFullRate * 100 / (100 + ' + @GST + ')) - (LdgTotalCost - LdgTotGST + LdgAMDDisc))*(100 - ISNULL(ClnRetainedPS, 0))/100)) / 100 * ' + @GST + ' ELSE ((LdgFullRate * 100 / (100 + ' + @GST + ')) - ((LdgFullRate * 100 / (100 + ' + @GST + ')) - (LdgTotalCost - LdgTotGST))) / 100 * ' + @GST + 'END, Job.InvoiceNumber,Job.InvoiceDateFROM [CDS_Systems_Postal]..Lodgement Lodgement LEFT JOIN #Job JobON (Lodgement.LdgJobNo = Job.JobNumber and Lodgement.LdgJobRun = Job.RunNumber)LEFT JOIN Company on Job.JobClientCode = Company.CiId 'IF LEN(LTRIM(RTRIM(@strCondition))) > 0 SET @strCondition = @strCondition + 'AND 'SET @strCondition = @strCondition + 'Lodgement.LdgCancelled = 0 'IF LEN(LTRIM(RTRIM(@strCondition))) > 0 SET @strQuery = @strQuery + 'WHERE ' + @strConditionEXEC(@strQuery)DROP TABLE #JobGOShould i use your code for all variables.Thanks Robmk_garg