USP_REVENUEBATCH_VALIDATIONREPORT_CURRENCYSUMMARY
Provides summary data for the revenue batch validation report, broken down by currency.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@BATCHID | uniqueidentifier | IN |
Definition
Copy
create procedure dbo.USP_REVENUEBATCH_VALIDATIONREPORT_CURRENCYSUMMARY
(
@BATCHID uniqueidentifier
)
as
set nocount on;
--Get batch revenue records we care about
declare @BATCHREVENUE table(
ID uniqueidentifier,
AMOUNT money,
TYPECODE int,
TRANSACTIONCURRENCYID uniqueidentifier
);
insert into @BATCHREVENUE(
ID,
AMOUNT,
TYPECODE,
TRANSACTIONCURRENCYID
)
select
BATCHREVENUE.ID,
BATCHREVENUE.AMOUNT,
BATCHREVENUE.TYPECODE,
BATCHREVENUE.TRANSACTIONCURRENCYID
from dbo.BATCHREVENUE
where BATCHREVENUE.BATCHID = @BATCHID;
--Get currencies used by batch revenue records we care about.
declare @CURRENCY table(
ID uniqueidentifier,
NAME nvarchar(100),
ISO4217 nvarchar(3),
DECIMALDIGITS tinyint,
CURRENCYSYMBOL nvarchar(5),
SYMBOLDISPLAYSETTINGCODE tinyint
);
insert into @CURRENCY(
ID,
NAME,
ISO4217,
DECIMALDIGITS,
CURRENCYSYMBOL,
SYMBOLDISPLAYSETTINGCODE
)
select distinct
ID,
NAME,
ISO4217,
DECIMALDIGITS,
CURRENCYSYMBOL,
SYMBOLDISPLAYSETTINGCODE
from dbo.CURRENCY
where ID in(
select
TRANSACTIONCURRENCYID
from @BATCHREVENUE
);
if @@ROWCOUNT > 1
begin
--If there is more than one currency, do the aggregation.
select
CURRENCY.ID CURRENCYID,
CURRENCY.NAME CURRENCYNAME,
coalesce((select count(BATCHREVENUE.ID) from @BATCHREVENUE BATCHREVENUE where BATCHREVENUE.TRANSACTIONCURRENCYID = CURRENCY.ID and BATCHREVENUE.TYPECODE = 0),0) as [TOTALPAYMENTCOUNT],
coalesce((select sum(BATCHREVENUE.AMOUNT) from @BATCHREVENUE BATCHREVENUE where BATCHREVENUE.TRANSACTIONCURRENCYID = CURRENCY.ID and BATCHREVENUE.TYPECODE = 0),0) as [TOTALPAYMENTAMOUNT],
coalesce((select count(BATCHREVENUE.ID) from @BATCHREVENUE BATCHREVENUE where BATCHREVENUE.TRANSACTIONCURRENCYID = CURRENCY.ID and BATCHREVENUE.TYPECODE = 1),0) as [TOTALPLEDGECOUNT],
coalesce((select sum(BATCHREVENUE.AMOUNT) from @BATCHREVENUE BATCHREVENUE where BATCHREVENUE.TRANSACTIONCURRENCYID = CURRENCY.ID and BATCHREVENUE.TYPECODE = 1),0) as [TOTALPLEDGEAMOUNT],
coalesce((select count(BATCHREVENUE.ID) from @BATCHREVENUE BATCHREVENUE where BATCHREVENUE.TRANSACTIONCURRENCYID = CURRENCY.ID and BATCHREVENUE.TYPECODE = 3),0) as [TOTALRECURRINGGIFTCOUNT],
coalesce((select sum(BATCHREVENUE.AMOUNT) from @BATCHREVENUE BATCHREVENUE where BATCHREVENUE.TRANSACTIONCURRENCYID = CURRENCY.ID and BATCHREVENUE.TYPECODE = 3),0) as [TOTALRECURRINGGIFTAMOUNT],
CURRENCY.ISO4217,
CURRENCY.DECIMALDIGITS,
CURRENCY.CURRENCYSYMBOL,
CURRENCY.SYMBOLDISPLAYSETTINGCODE
from @CURRENCY CURRENCY;
end