USP_BATCHMEMBERSHIPDUES_CONTROLREPORT_CURRENCYSUMMARY
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@BATCHID | uniqueidentifier | IN |
Definition
Copy
create procedure dbo.USP_BATCHMEMBERSHIPDUES_CONTROLREPORT_CURRENCYSUMMARY
(
@BATCHID uniqueidentifier
)
with execute as owner
as
begin
declare @BATCHTABLE nvarchar(128)
set @BATCHTABLE = dbo.UFN_BATCH_GETREPORTTABLENAME(@BATCHID, 0);
declare @SQLTOEXEC nvarchar(max) = N'set nocount on;
select
FT.TRANSACTIONCURRENCYID as CURRENCYID
, C.CURRENCYNAME
, C.ISO4217
, C.DECIMALDIGITS
, C.CURRENCYSYMBOL
, C.SYMBOLDISPLAYSETTINGCODE
, S.NUMBEROFROWS as CURRENTNUMBEROFRECORDS
, SUM(case when MPCR.ID is null and RSX.TYPECODE = 0 then FTLI.TRANSACTIONAMOUNT else 0 end) as ADDITIONALDONATIONAMOUNT
, SUM(case when RSX.TYPECODE = 18 then FTLI.TRANSACTIONAMOUNT else 0 end) as ADDONAMOUNT
, SUM(FTLI.TRANSACTIONAMOUNT) as TOTALAMOUNT
from ' + @BATCHTABLE + ' T
inner join dbo.FINANCIALTRANSACTION FT on T.ID = FT.ID
inner join dbo.CURRENCY C on FT.TRANSACTIONCURRENCYID = C.ID
inner join dbo.FINANCIALTRANSACTIONLINEITEM FTLI on T.ID = FTLI.FINANCIALTRANSACTIONID
inner join dbo.REVENUESPLIT_EXT RSX on FTLI.ID = RSX.ID
left join dbo.MEMBERSHIPPROGRAMCONTRIBUTIONREVENUE MPCR on MPCR.FINANCIALTRANSACTIONLINEITEMID = FTLI.ID
inner join (
select
FT.TRANSACTIONCURRENCYID as CURRENCYID
, COUNT(T.ID) as NUMBEROFROWS
from ' + @BATCHTABLE + ' T
inner join dbo.FINANCIALTRANSACTION FT on T.ID = FT.ID
group by FT.TRANSACTIONCURRENCYID
) S on S.CURRENCYID = C.ID
where T.TYPECODE = 0 -- just look at payments for totals
group by
FT.TRANSACTIONCURRENCYID
, C.ISO4217
, C.DECIMALDIGITS
, C.CURRENCYSYMBOL
, C.SYMBOLDISPLAYSETTINGCODE
, S.NUMBEROFROWS';
end;