USE [FastMoneyPro_Remit] GO /****** Object: StoredProcedure [dbo].[proc_amlMisRpt] Script Date: 7/4/2019 11:35:48 AM ******/ DROP PROCEDURE [dbo].[proc_amlMisRpt] GO /****** Object: StoredProcedure [dbo].[proc_amlMisRpt] Script Date: 7/4/2019 11:35:48 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROC [dbo].[proc_amlMisRpt] @flag VARCHAR(10) ,@user VARCHAR(30) ------------------------------------------- ,@sCountry VARCHAR(50) = NULL ,@rCountry VARCHAR(50) = NULL ,@sAgent VARCHAR(50) = NULL ,@rAgent VARCHAR(50) = NULL ,@rMode VARCHAR(50) = NULL ,@dateType VARCHAR(50) = NULL ,@frmDate VARCHAR(50) = NULL ,@toDate VARCHAR(50) = NULL ------------------------------------------- ,@mrType VARCHAR(10) = NULL ------------------------------------------- ,@pageNumber INT = 1 ,@pageSize INT = 50 ,@isExportFull VARCHAR(1) = NULL AS SET NOCOUNT ON BEGIN TRY DECLARE @table VARCHAR(MAX) DECLARE @sql VARCHAR(MAX) DECLARE @globalFilter VARCHAR(MAX) = '' DECLARE @URL VARCHAR(MAX) = '' DECLARE @reportHead VARCHAR(100) = '' SET @rMode = REPLACE(@rMode,'__',' ') DECLARE @FilterList TABLE(head VARCHAR(50), value VARCHAR(5000)) SET @pageNumber = ISNULL(@pageNumber, 1) SET @pageSize = ISNULL(@pageSize, 100) SET @globalFilter = ' AND rt.tranStatus <> ''Cancel'' and rt.tranType <> ''B'' ' IF @sCountry is not null and @sCountry <> '3rd Party Agent' BEGIN INSERT @FilterList SELECT 'Sender Country', @sCountry SET @globalFilter = @globalFilter + ' AND rt.sCountry = ''' + @sCountry + '''' END IF @rCountry is not null and @rCountry <> '3rd Party Agent' BEGIN INSERT @FilterList SELECT 'Receiver Country', @rCountry SET @globalFilter = @globalFilter + ' AND rt.pCountry = ''' + @rCountry + '''' END IF @sAgent IS NOT NULL BEGIN INSERT @FilterList SELECT 'Sender Agent', am.agentName FROM agentMaster am WITH(NOLOCK) WHERE agentId = @sAgent SET @globalFilter = @globalFilter + ' AND rt.sAgent = ''' + @sAgent + '''' END IF @rAgent IS NOT NULL BEGIN INSERT @FilterList SELECT 'Receiver Agent', am.agentName FROM agentMaster am WITH(NOLOCK) WHERE agentId = @rAgent SET @globalFilter = @globalFilter + ' AND rt.pAgent = ''' + @rAgent + '''' END IF @rMode IS NOT NULL BEGIN INSERT @FilterList SELECT 'Receiving Mode', @rMode SET @globalFilter = @globalFilter + ' AND rt.paymentMethod = ''' + @rMode + '''' END INSERT @FilterList SELECT 'Date Type', case when @dateType = 'txnDate' then 'TXN Date' when @dateType = 'confirmDate' then 'Confirm Date' when @dateType = 'paidDate' then 'Paid Date' end IF @dateType = 'txnDate' BEGIN INSERT @FilterList SELECT 'From Date', @frmDate SET @globalFilter = @globalFilter + ' AND rt.createdDate >= ''' + @frmDate + '''' INSERT @FilterList SELECT 'To Date', @toDate SET @globalFilter = @globalFilter + ' AND rt.createdDate <= ''' + @toDate + ' 23:59:59''' END IF @dateType = 'confirmDate' BEGIN INSERT @FilterList SELECT 'From Date', @frmDate SET @globalFilter = @globalFilter + ' AND rt.approvedDate >= ''' + @frmDate + '''' INSERT @FilterList SELECT 'To Date', @toDate SET @globalFilter = @globalFilter + ' AND rt.approvedDate <= ''' + @toDate + ' 23:59:59''' END IF @dateType = 'paidDate' BEGIN INSERT @FilterList SELECT 'From Date', @frmDate SET @globalFilter = @globalFilter + ' AND rt.paidDate >= ''' + @frmDate + '''' INSERT @FilterList SELECT 'To Date', @toDate SET @globalFilter = @globalFilter + ' AND rt.paidDate <= ''' + @toDate + ' 23:59:59''' END IF @flag = 'mr' BEGIN SET @reportHead ='MIS Report' IF @mrType = 'ssmt' -->> Same Sender Multiple Txns BEGIN SET @URL='"Reports.aspx?dateType='+@dateType+'&frmDate='+@frmDate+'&toDate='+@toDate+'&sCountry='+ISNULL(replace(@sCountry,' ','__'),'')+'&sAgent='+ISNULL(@sAgent,'') +'&rMode='+ISNULL(REPLACE(@rMode,' ','__'),'')+'&rCountry='+ISNULL(replace(@rCountry,' ','__'),'') +'&rAgent='+ISNULL(@rAgent,'') +'&reportName=amlddlreport&flag=ssmt_ddl&senderName=''+ISNULL(REPLACE([Sender_Name],'' '',''__''),'''')+''&country=''+ISNULL(REPLACE(ts.nativecountry,'' '',''__''),'''')+''&idType=''+ISNULL(ts.idType,'''') +''&idNumber=''+ISNULL(ts.idNumber,'''') +''"' INSERT @FilterList SELECT 'Search By', 'Same Sender Multiple TXNS Summary' SET @table = ' SELECT --[Sender_Member ID] [Sender_Name] = '''' + [Sender_Name] + '''' ,[Sender_Nationality] ,[Sender_Id type] ,[Sender_ID Number] ,[Number of TXN] ,[Transaction_Amount] ,[Transaction_Currency] ,[Transaction_Payout Amount] ,senderName = [Sender_Name] FROM (SELECT --[Sender_Member ID] = ts.membershipId [Sender_Name] = rt.SenderName ,[Sender_Nationality] = ts.nativecountry ,[Sender_Id type] = ts.idType ,[Sender_ID Number] = ts.idNumber ,[Number of TXN] = COUNT(*) ,[Transaction_Amount] = SUM(rt.cAmt) ,[Transaction_Currency] = rt.collCurr ,[Transaction_Payout Amount] = SUM(rt.pAmt) ,ts.nativecountry ,ts.idType ,ts.idNumber FROM vwremitTran rt WITH(NOLOCK) LEFT JOIN agentMaster ams WITH(NOLOCK) ON rt.sBranch = ams.agentId LEFT JOIN vwtranSenders ts WITH(NOLOCK) ON rt.id = ts.tranId WHERE 1 = 1 and rt.tranStatus <>''cancel'' ' SET @table = @table + @globalFilter + ' GROUP BY --ts.membershipId rt.SenderName ,ts.nativecountry ,ts.idType ,ts.idNumber ,rt.collCurr HAVING COUNT(1) > 1 )ts' IF @isExportFull = 'Y' BEGIN SET @sql = ' SELECT [SN] = [S.N] --,[Sender_Member ID] ,[Sender_Name] ,[Sender_Nationality] ,[Sender_Id type] ,[Sender_ID Number] ,[Number of TXN] ,[Transaction_Amount] ,[Transaction_Currency] ,[Transaction_Payout Amount] FROM ( SELECT ROW_NUMBER() OVER (ORDER BY [Number of TXN] DESC,senderName ) AS [S.N],* FROM (' + @table + ') x ) AS tmp' PRINT @sql EXEC (@sql) END ELSE BEGIN SET @sql = 'SELECT COUNT(*) AS TXNCOUNT ,' + CAST(@pageSize AS VARCHAR) + ' PAGESIZE ,' + CAST(@pageNumber AS VARCHAR) + ' PAGENUMBER FROM (' + @table + ') x' EXEC (@sql) SET @sql = ' SELECT [SN] = [S.N] --,[Sender_Member ID] ,[Sender_Name] ,[Sender_Nationality] ,[Sender_Id type] ,[Sender_ID Number] ,[Number of TXN] ,[Transaction_Amount] ,[Transaction_Currency] ,[Transaction_Payout Amount] FROM ( SELECT ROW_NUMBER() OVER (ORDER BY [Number of TXN] DESC,senderName ) AS [S.N],* FROM (' + @table + ') x ) AS tmp WHERE tmp.[S.N] BETWEEN ' + CAST(((@pageNumber - 1) * @pageSize + 1) AS VARCHAR) + ' AND ' + CAST(@pageNumber * @pageSize AS VARCHAR) PRINT @sql EXEC (@sql) END END IF @mrType = 'sbmt' -->> Same Beneficiary Multiple TXNS BEGIN SET @URL='"Reports.aspx?dateType='+@dateType+'&frmDate='+@frmDate+'&toDate='+@toDate+'&sCountry='+ISNULL(replace(@sCountry,' ','__'),'')+'&sAgent='+ISNULL(@sAgent,'') +'&rMode='+ISNULL(REPLACE(@rMode,' ','__'),'')+'&rCountry='+ISNULL(replace(@rCountry,' ','__'),'')+'&rAgent='+ISNULL(@rAgent,'') +'&reportName=amlddlreport&isAdmin=Y&flag=sbmt_ddl&recName=''+ISNULL(REPLACE(rt.receiverName,'' '',''__''),'''')+''&country=''+ISNULL(rt.pCountry,'''')+''"' INSERT @FilterList SELECT 'Search By', 'Same Beneficiary Multiple TXNS Summary' SET @table = ' SELECT [Receiver''s_Name] = rt.receiverName ,[Receiver''s_Payout Country] = '''' +rt.pCountry + '''' ,[Number of TXN] = COUNT(*) ,[Payout_USD AMT] = SUM(ISNULL(rt.tAmt / NULLIF(rt.sCurrCostRate, 0), 0)) ,[Payout_Currency] = rt.payoutCurr ,[Payout_Amount] = SUM(rt.pAmt) FROM vwremitTran rt WITH(NOLOCK) LEFT JOIN vwtranReceivers tr WITH(NOLOCK) ON rt.id = tr.tranId WHERE 1 = 1 ' SET @table = @table + @globalFilter + ' GROUP BY rt.receiverName ,rt.pCountry ,rt.payoutCurr HAVING COUNT(*) > 1 ' IF @isExportFull = 'Y' BEGIN SET @sql = ' SELECT [Sno.] = [S.N] ,[Receiver''s_Name] ,[Receiver''s_Payout Country] ,[Number of TXN] ,[Payout_USD AMT] ,[Payout_Currency] ,[Payout_Amount] FROM ( SELECT ROW_NUMBER() OVER (ORDER BY [Number of TXN] DESC) AS [S.N],* FROM (' + @table + ') x ) AS tmp ' PRINT @sql EXEC (@sql) END ELSE BEGIN SET @sql = 'SELECT COUNT(*) AS TXNCOUNT ,' + CAST(@pageSize AS VARCHAR) + ' PAGESIZE ,' + CAST(@pageNumber AS VARCHAR) + ' PAGENUMBER FROM (' + @table + ') x' EXEC (@sql) SET @sql = ' SELECT [Sno.] = [S.N] ,[Receiver''s_Name] ,[Receiver''s_Payout Country] ,[Number of TXN] ,[Payout_USD AMT] ,[Payout_Currency] ,[Payout_Amount] FROM ( SELECT ROW_NUMBER() OVER (ORDER BY [Number of TXN] DESC) AS [S.N],* FROM (' + @table + ') x ) AS tmp WHERE tmp.[S.N] BETWEEN ' + CAST(((@pageNumber - 1) * @pageSize + 1) AS VARCHAR) + ' AND ' + CAST(@pageNumber * @pageSize AS VARCHAR) PRINT @sql EXEC (@sql) END END IF @mrType = 'sssb' -->> Same Sender to Same Beneficiary BEGIN INSERT @FilterList SELECT 'Search By', 'Same Sender to Same Beneficiary' SET @table = ' SELECT [TXN No.] = rt.id ,[TXN Date] = rt.createdDate ,[Sender''s_Membership ID] = ts.membershipId ,[Sender''s_Name] = rt.senderName ,[Sender''s_Nationality] = ts.nativeCountry ,[Sender''s_ID Type] = ts.idType ,[Sender''s_ID Number] = ts.idNumber ,[Number of TXN] = 1 ,[Receiver''s_Name] = rt.receiverName ,[Receiver''s_Payout Country] = rt.pCountry ,[Collection_USD AMT] = SUM(ISNULL(rt.cAmt / (NULLIF(rt.sCurrCostRate, 0)+ISNULL(RT.scurrhomargin,0)), 0)) ,[Collection_Currency] = rt.collCurr ,[Collection_Amount] = rt.cAmt ,[Payout_USD AMT] = (ISNULL(rt.tAmt / NULLIF(rt.sCurrCostRate, 0), 0)) ,[Payout_Currency] = rt.payoutCurr ,[Payout_Amount] = (rt.pAmt) ,[Payout_Branch] = rt.pBranchName ,[Posted By] = rt.createdBy FROM vwremitTran rt WITH(NOLOCK) LEFT JOIN vwtranSenders ts WITH(NOLOCK) ON rt.id = ts.tranId LEFT JOIN vwtranReceivers tr WITH(NOLOCK) ON rt.id = tr.tranId WHERE 1 = 1 AND rt.senderName = rt.receiverName ' SET @table = @table + @globalFilter IF @isExportFull = 'Y' BEGIN SET @sql = ' SELECT [Sno.] = [S.N] ,[TXN No.] = '''' + CAST([TXN No.] AS VARCHAR(50)) + '''' ,[TXN Date] ,[Sender''s_Membership ID] ,[Sender''s_Name] ,[Sender''s_Nationality] ,[Sender''s_Id type] ,[Sender''s_ID Number] ,[Receiver''s_Name] ,[Receiver''s_Payout Country] ,[Collection_USD AMT] ,[Collection_Currency] ,[Collection_Amount] ,[Payout_USD AMT] ,[Payout_Currency] ,[Payout_Amount] ,[Payout_Branch] ,[Posted By] FROM ( SELECT ROW_NUMBER() OVER (ORDER BY [Number of TXN] DESC) AS [S.N],* FROM (' + @table + ') x ) AS tmp ' PRINT @sql EXEC (@sql) END ELSE BEGIN SET @sql = 'SELECT COUNT(*) AS TXNCOUNT ,' + CAST(@pageSize AS VARCHAR) + ' PAGESIZE ,' + CAST(@pageNumber AS VARCHAR) + ' PAGENUMBER FROM (' + @table + ') x' PRINT @sql EXEC (@sql) SET @sql = ' SELECT [Sno.] = [S.N] ,[TXN No.] = '''' + CAST([TXN No.] AS VARCHAR(50)) + '''' ,[TXN Date] ,[Sender''s_Membership ID] ,[Sender''s_Name] ,[Sender''s_Nationality] ,[Sender''s_Id type] ,[Sender''s_ID Number] ,[Receiver''s_Name] ,[Receiver''s_Payout Country] ,[Collection_USD AMT] ,[Collection_Currency] ,[Collection_Amount] ,[Payout_USD AMT] ,[Payout_Currency] ,[Payout_Amount] ,[Payout_Branch] ,[Posted By] FROM ( SELECT ROW_NUMBER() OVER (ORDER BY [Number of TXN] DESC) AS [S.N],* FROM (' + @table + ') x ) AS tmp WHERE tmp.[S.N] BETWEEN ' + CAST(((@pageNumber - 1) * @pageSize + 1) AS VARCHAR) + ' AND ' + CAST(@pageNumber * @pageSize AS VARCHAR) PRINT @sql EXEC (@sql) END END IF @mrType = 'sncrc' -->> Sender's Native Country and Receiver's Country differs BEGIN INSERT @FilterList SELECT 'Search By', 'Sender''s Native Country and Receiver''s Country differs' SET @table = ' SELECT [TXN No.] = rt.id ,[TXN Date] = rt.createdDate ,[Sender''s_Name] = rt.senderName ,[Sender''s_Nationality] = ts.nativeCountry ,[Sender''s_Id type] = isnull(ts.idType,'''')+''-''+ isnull(ts.idNumber,'''') ,[Number of TXN] = 1 ,[Receiver''s_Name] = rt.receiverName ,[Receiver''s_Id type] = isnull(tr.idType2,tr.idType)+''-''+ isnull(tr.idNumber2,tr.idNumber) ,[Receiver''s_Payout Country] = rt.pCountry ,[Collection_USD AMT] = (ISNULL(rt.cAmt / NULLIF(rt.sCurrCostRate, 0), 0)) ,[Collection_Currency] = rt.collCurr ,[Collection_Amount] = rt.cAmt ,[Payout_USD AMT] = (ISNULL(rt.tAmt / NULLIF(rt.sCurrCostRate, 0), 0)) ,[Payout_Currency] = rt.payoutCurr ,[Payout_Amount] = (rt.pAmt) ,[Receiver''s_Payout Branch] = rt.pBranchName ,[Posted By] = rt.createdBy FROM vwremitTran rt WITH(NOLOCK) LEFT JOIN vwtranSenders ts WITH(NOLOCK) ON rt.id = ts.tranId LEFT JOIN vwtranReceivers tr WITH(NOLOCK) ON rt.id = tr.tranId WHERE REPLACE(ts.nativeCountry,''NPL'',''Nepal'') <> rt.pCountry ' SET @table = @table + @globalFilter IF @isExportFull = 'Y' BEGIN SET @sql = ' SELECT [Sno.] = [S.N] ,[TXN No.] = '''' + CAST([TXN No.] AS VARCHAR(50)) + '''' ,[TXN Date] ,[Sender''s_Name] ,[Sender''s_Nationality] ,[Sender''s_Id type] ,[Receiver''s_Name] ,[Receiver''s_Id type] ,[Receiver''s_Payout Country] ,[Receiver''s_Payout Branch] ,[Collection_USD AMT] ,[Collection_Currency] ,[Collection_Amount] ,[Payout_USD AMT] ,[Payout_Currency] ,[Payout_Amount] ,[Posted By] FROM ( SELECT ROW_NUMBER() OVER (ORDER BY [Sender''s_Name]) AS [S.N],* FROM (' + @table + ') x ) AS tmp' PRINT @sql EXEC (@sql) END ELSE BEGIN SET @sql = 'SELECT COUNT(*) AS TXNCOUNT ,' + CAST(@pageSize AS VARCHAR) + ' PAGESIZE ,' + CAST(@pageNumber AS VARCHAR) + ' PAGENUMBER FROM (' + @table + ') x' PRINT @sql EXEC (@sql) SET @sql = ' SELECT [Sno.] = [S.N] ,[TXN No.] = '''' + CAST([TXN No.] AS VARCHAR(50)) + '''' ,[TXN Date] ,[Sender''s_Name] ,[Sender''s_Nationality] ,[Sender''s_Id type] ,[Receiver''s_Name] ,[Receiver''s_Id type] ,[Receiver''s_Payout Country] ,[Receiver''s_Payout Branch] ,[Collection_USD AMT] ,[Collection_Currency] ,[Collection_Amount] ,[Payout_USD AMT] ,[Payout_Currency] ,[Payout_Amount] ,[Posted By] FROM ( SELECT ROW_NUMBER() OVER (ORDER BY [Sender''s_Name]) AS [S.N],* FROM (' + @table + ') x ) AS tmp WHERE tmp.[S.N] BETWEEN ' + CAST(((@pageNumber - 1) * @pageSize + 1) AS VARCHAR) + ' AND ' + CAST(@pageNumber * @pageSize AS VARCHAR) PRINT @sql EXEC (@sql) END END IF @mrType = 'ssmtd' -->> Same Sender Multiple Txns BEGIN INSERT @FilterList SELECT 'Search By', 'Same Sender Multiple TXN Detail' CREATE TABLE #SameSenderMultipleTxn(membershipId VARCHAR(50) ,senderName VARCHAR(200), nativeCountry VARCHAR(100), idType varchar(50),idNumber varchar(50)) DECLARE @SUMMARYTBL VARCHAR(MAX) SET @SUMMARYTBL ='SELECT membershipId = ts.membershipId ,rt.SenderName ,ts.nativecountry ,ts.idType ,ts.idNumber FROM vwremitTran rt WITH(NOLOCK) LEFT JOIN agentMaster ams WITH(NOLOCK) ON rt.sBranch = ams.agentId LEFT JOIN vwtranSenders ts WITH(NOLOCK) ON rt.id = ts.tranId WHERE 1 = 1' SET @SUMMARYTBL = @SUMMARYTBL + @globalFilter + ' GROUP BY ts.membershipId ,rt.SenderName ,ts.nativecountry ,ts.idType ,ts.idNumber HAVING COUNT(*) > 1' INSERT INTO #SameSenderMultipleTxn(membershipId,senderName,nativeCountry,idType,idNumber) EXEC (@SUMMARYTBL) SET @table =' SELECT [S.N] = ROW_NUMBER() OVER (ORDER BY RT.senderName), [TXN Date] = RT.createdDate, [TXN No.] = '''' + CAST(RT.id AS VARCHAR) + '''', [Sender Name] = upper(RT.senderName), [Sender ID] = isnull(ts.idType,'''')+''-''+ isnull(ts.idNumber,''''), [Receiver Name] = RT.receiverName, [Receiver ID] = isnull(tr.idType2,tr.idType)+''-''+ isnull(tr.idNumber2,tr.idNumber), [Receiving_Country] = RT.pCountry, [Receiving_Branch] = RT.pBranchName, [Receiving_Currency] = RT.payoutCurr, [Receiving_Amount] = RT.pAmt, [Collection_Currency] = RT.collCurr, [Collection_Amount] = '+CASE WHEN @flag='sbc_ddl' THEN 'RT.tAmt' ELSE 'RT.cAmt' END+', [Sending_Country] = RT.sCountry, [Sending_USD Amount] = ('+CASE WHEN @flag='sbc_ddl' THEN 'RT.tAmt' ELSE 'RT.cAmt' END+'/RT.sCurrCostRate), [Sending_Agent] = RT.sAgentName, [Sending_Branch] = RT.sBranchName, [Sending_User] = RT.createdBy FROM vwremitTran RT WITH (NOLOCK) inner JOIN vwtranSenders TS WITH (NOLOCK) ON RT.id=TS.tranId inner JOIN vwtranReceivers TR WITH (NOLOCK) ON RT.id=TR.tranId inner JOIN ( select * from #SameSenderMultipleTxn ) temp1 on isnull(temp1.nativeCountry,'''') = isnull(TS.nativecountry,'''') and isnull(temp1.idType,'''') = isnull(TS.idType,'''') and isnull(temp1.idNumber,'''') = isnull(TS.idNUmber,'''') and isnull(temp1.senderName,'''') = RT.senderName WHERE 1=1 ' SET @table = @table + @globalFilter; IF @isExportFull = 'Y' BEGIN SET @sql = ' SELECT * FROM ( SELECT * FROM (' + @table + ') x ) AS tmp ' PRINT @sql EXEC (@sql) END ELSE BEGIN SET @sql = 'SELECT COUNT(*) AS TXNCOUNT ,' + CAST(@pageSize AS VARCHAR) + ' PAGESIZE ,' + CAST(@pageNumber AS VARCHAR) + ' PAGENUMBER FROM (' + @table + ') x' PRINT @sql EXEC (@sql) SET @sql = ' SELECT * FROM ( SELECT * FROM (' + @table + ') x ) AS tmp WHERE tmp.[S.N] BETWEEN ' + CAST(((@pageNumber - 1) * @pageSize + 1) AS VARCHAR) + ' AND ' + CAST(@pageNumber * @pageSize AS VARCHAR) PRINT @sql EXEC (@sql) END END IF @mrType = 'sbmtd' -->> Same Beneficiary Multiple TXNS BEGIN INSERT @FilterList SELECT 'Search By', 'Same Beneficiary Multiple TXN Detail' CREATE TABLE #SameBeneficiaryMultipleTxn(receiverName VARCHAR(50) ,pCountry VARCHAR(200)) DECLARE @SUMMARYTBL1 VARCHAR(MAX) SET @SUMMARYTBL1 ='SELECT rt.receiverName ,rt.pCountry FROM vwremitTran rt WITH(NOLOCK) LEFT JOIN vwtranReceivers tr WITH(NOLOCK) ON rt.id = tr.tranId WHERE 1 = 1' SET @SUMMARYTBL1 = @SUMMARYTBL1 + @globalFilter + ' GROUP BY rt.receiverName ,rt.pCountry HAVING COUNT(*) > 1' INSERT INTO #SameBeneficiaryMultipleTxn(receiverName,pCountry) EXEC (@SUMMARYTBL1) SET @table =' SELECT [S.N] = ROW_NUMBER() OVER (ORDER BY RT.receiverName), [TXN Date] = RT.createdDate, [TXN No.] = '''' + CAST(RT.id AS VARCHAR) + '''', [Receiver Name] = UPPER(RT.receiverName), [Sender Name] = UPPER(RT.senderName), [Receiver ID] = isnull(tr.idType2,tr.idType)+''-''+ isnull(tr.idNumber2,tr.idNumber), [Sending_Country] = RT.sCountry, [Sending_Agent] = RT.sAgentName, [Sending_Branch] = RT.sBranchName, [Sending_User] = RT.createdBy, [USD Amount] = ('+CASE WHEN @flag='sbc_ddl' THEN 'RT.tAmt' ELSE 'RT.cAmt' END+'/RT.sCurrCostRate), [Collection_Currency] = RT.collCurr, [Collection_Amount] = '+CASE WHEN @flag='sbc_ddl' THEN 'RT.tAmt' ELSE 'RT.cAmt' END+', [Receiving_Currency] = RT.payoutCurr, [Receiving_Amount] = RT.pAmt, [Receiving_Branch] = RT.pBranchName, [Receiving_Country] = RT.pCountry FROM vwremitTran RT WITH (NOLOCK) INNER JOIN vwtranSenders TS WITH (NOLOCK) ON RT.id=TS.tranId INNER JOIN vwtranReceivers TR WITH (NOLOCK) ON RT.id=TR.tranId INNER JOIN ( SELECT * FROM #SameBeneficiaryMultipleTxn ) temp1 on isnull(temp1.receiverName,'''') = isnull(RT.receiverName,'''') and isnull(temp1.pCountry,'''') = isnull(RT.pCountry,'''') WHERE 1=1 ' SET @table = @table + @globalFilter; IF @isExportFull = 'Y' BEGIN SET @sql = ' SELECT * FROM ( SELECT * FROM (' + @table + ') x ) AS tmp ' PRINT @sql EXEC (@sql) END ELSE BEGIN SET @sql = 'SELECT COUNT(*) AS TXNCOUNT ,' + CAST(@pageSize AS VARCHAR) + ' PAGESIZE ,' + CAST(@pageNumber AS VARCHAR) + ' PAGENUMBER FROM (' + @table + ') x' PRINT @sql EXEC (@sql) SET @sql = ' SELECT * FROM ( SELECT * FROM (' + @table + ') x ) AS tmp WHERE tmp.[S.N] BETWEEN ' + CAST(((@pageNumber - 1) * @pageSize + 1) AS VARCHAR) + ' AND ' + CAST(@pageNumber * @pageSize AS VARCHAR) PRINT @sql EXEC (@sql) END END END EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL SELECT * FROM @FilterList SELECT 'AML Reports : '+@reportHead title END TRY BEGIN CATCH IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION DECLARE @errorMessage VARCHAR(MAX) SET @errorMessage = ERROR_MESSAGE() EXEC proc_errorHandler 1, @errorMessage ,NULL END CATCH GO