UFN_REVENUESOLICITOR_GETSUM_INCURRENCY_BULK
Obtains sum of revenue solicitor credit for a given constituent/groupID within the specified date range in the currency specified.
Return
Return Type |
---|
money |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CONSTITUENTID | uniqueidentifier | IN | |
@STARTDATE | datetime | IN | |
@ENDDATE | datetime | IN | |
@CURRENCYID | uniqueidentifier | IN | |
@ORGANIZATIONCURRENCYID | uniqueidentifier | IN | |
@DECIMALDIGITS | tinyint | IN | |
@ROUNDINGTYPECODE | tinyint | IN |
Definition
Copy
create function dbo.UFN_REVENUESOLICITOR_GETSUM_INCURRENCY_BULK
(
@CONSTITUENTID uniqueidentifier,
@STARTDATE datetime,
@ENDDATE datetime,
@CURRENCYID uniqueidentifier,
@ORGANIZATIONCURRENCYID uniqueidentifier,
@DECIMALDIGITS tinyint,
@ROUNDINGTYPECODE tinyint
)
returns money
with execute as caller
as begin
declare @SUM money
select
@SUM = SUM(REVENUESOLICITORBULK.AMOUNTINCURRENCY)
from
dbo.REVENUESOLICITOR
inner join dbo.UFN_REVENUESOLICITOR_GETAMOUNTINCURRENCY_BULK(@CURRENCYID, @ORGANIZATIONCURRENCYID, @DECIMALDIGITS, @ROUNDINGTYPECODE) REVENUESOLICITORBULK on REVENUESOLICITORBULK.ID = REVENUESOLICITOR.ID
join dbo.REVENUESPLIT REVENUESPLIT on REVENUESOLICITOR.REVENUESPLITID = REVENUESPLIT.ID
join dbo.REVENUE on REVENUESPLIT.REVENUEID = REVENUE.ID
where
(REVENUESOLICITOR.CONSTITUENTID = @CONSTITUENTID)
and
(
--Count Pledges, MG Claims, Planned Gift
REVENUE.TRANSACTIONTYPECODE in (1, 3, 4)
or
(
--Payments to all except above
REVENUE.TRANSACTIONTYPECODE = 0
and REVENUESPLIT.APPLICATIONCODE not in
(2, --Pledge payment
6, -- Planned Gift Payment
7 -- Matching Gift Payment
)
)
)
and
(
(@STARTDATE is null and @ENDDATE is null)
or
(@STARTDATE is null and REVENUE.DATE <= dbo.UFN_DATE_GETLATESTTIME(@ENDDATE))
or
(REVENUE.DATE >= dbo.UFN_DATE_GETEARLIESTTIME(@STARTDATE) and @ENDDATE is null)
or
(REVENUE.DATE >= dbo.UFN_DATE_GETEARLIESTTIME(@STARTDATE) and REVENUE.DATE <= dbo.UFN_DATE_GETLATESTTIME(@ENDDATE))
)
if @SUM is null
set @SUM = Cast (0 As money);
Return @SUM
end