declare @PTDim INT,@PTCompID int,@PTFieldSNO int,@PayMonth DATETIME,@SQL NVARCHAR(MAX),@LstPayMonth DATETIME,@PTTableName NVARCHAR(200) SET @PayMonth=@FROMDATE@ SELECT @LstPayMonth=Convert(datetime,MAX(PayrollDate)) FROM COM_CC50054 WHERE Convert(datetime,(PayrollDate))<=@PayMonth SELECT @PTDim=Convert(int,Value) FROM ADM_GlobalPreferences WITH(NOLOCK) WHERE Name='PayrollPTDimension' SELECT @PTTableName=SysTableName FROM ADM_CostCenterDef WHERE COSTCENTERID=@PTDim AND SysColumnName='Name' SELECT @PTCompID=NodeID FROM COM_CC50052 WHERE NAME='PT' Select @PTFieldSNO=SNo From COM_CC50054 WHERE Type=2 AND ComponentID=@PTCompID AND Convert(datetime,(PayrollDate))=@LstPayMonth --select @PTDim,@PTCompID,@PTFieldSNO,@PTTableName SET @SQL=' SELECT L.Name as Location,'''+CONVERT(NVARCHAR,@PayMonth)+''' as PayrollMonth, MAX(pt.FromSlab) as FromSlab,MAX(pt.ToSlab) as ToSlab, dcCalcNum'+CONVERT(NVARCHAR,@PTFieldSNO)+' as Amount, COUNT(dcCCNID51) as NoOfEmps, (dcCalcNum'+CONVERT(NVARCHAR,@PTFieldSNO)+' * COUNT(dcCCNID51)) as TotalAmount,'''' TeWHITE TONE FACE POWDER 50 GMS (85) WHITE TONE FACE POWDER 50 GMS (85) WHITE TONE FACE POWDER 50 GMS (85) WHITE TONE FACE POWDER 70 GMS (115) xtFld FROM INV_DocDetails a WITH(NOLOCK) JOIN COM_DocCCData b WITH(NOLOCK) ON b.InvDocDetailsID=a.InvDocDetailsID JOIN PAY_DocNUMData N WITH(NOLOCK) ON N.InvDocDetailsID=a.InvDocDetailsID LEFT JOIN PAY_PayrollPT pt on pt.NodeID=dcCCNID'+CONVERT(NVARCHAR,(@PTDim-50000))+ ' AND pt.Amount=dcCalcNum'+CONVERT(NVARCHAR,@PTFieldSNO)+' JOIN '+@PTTableName+' L WITH(NOLOCK) ON L.NodeID=b.dcCCNID'+CONVERT(NVARCHAR,(@PTDim-50000))+' WHERE a.CostCenterID=40054 @COMP@ @WHERE@ AND Convert(DateTime,pt.PayrollDate)='''+convert(nvarchar,@LstPayMonth)+''' AND CONVERT(DATETIME,a.DueDate)='''+convert(nvarchar,@PayMonth)+''' and a.VoucherType=12 --AND N.dcCalcNum'+CONVERT(NVARCHAR,@PTFieldSNO)+'>0 GROUP BY L.Name,N.dcCalcNum'+CONVERT(NVARCHAR,@PTFieldSNO)+' ORDER By L.Name,MAX(pt.FromSlab) ' --print @SQL EXEC(@SQL)