UFN_SOLICITORCREDITRULES_ACTIVEFORREVENUESPLIT
Indicates whether the solicitor credit rules should be used for the given revenue split.
Return
Return Type |
---|
bit |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@REVENUESPLITID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_SOLICITORCREDITRULES_ACTIVEFORREVENUESPLIT
(
@REVENUESPLITID uniqueidentifier = null
)
returns bit
as begin
declare @APPLICATIONCODE tinyint;
declare @SPLITTYPECODE tinyint;
declare @TRANSACTIONTYPECODE tinyint;
declare @RETURNVALUE bit;
declare @GOTSPLITDATA bit;
select
@APPLICATIONCODE = 0,
@SPLITTYPECODE = 0,
@TRANSACTIONTYPECODE = 0,
@RETURNVALUE = 0,
@GOTSPLITDATA = 0
select
@APPLICATIONCODE = REVENUESPLIT.APPLICATIONCODE,
@SPLITTYPECODE = REVENUESPLIT.TYPECODE,
@TRANSACTIONTYPECODE = REVENUE.TRANSACTIONTYPECODE,
@GOTSPLITDATA = 1
from
dbo.REVENUESPLIT
left join dbo.REVENUE on REVENUESPLIT.REVENUEID = REVENUE.ID
where
REVENUESPLIT.ID = @REVENUESPLITID
if @GOTSPLITDATA = 0 return 0
-- First check on revenue split type, then on transaction type, then on
-- application code.
set @RETURNVALUE =
case @SPLITTYPECODE
when 3 then -- Grant Award
(select APPLYTOGRANTAWARDS from dbo.SOLICITORCREDITRULES)
else
case @TRANSACTIONTYPECODE
when 1 then -- Pledge
(select APPLYTOPLEDGES from dbo.SOLICITORCREDITRULES)
when 3 then -- Matching gift claim
(select APPLYTOMATCHINGGIFTCLAIMS from dbo.SOLICITORCREDITRULES)
when 4 then -- Planned Gift
(select APPLYTOPLANNEDGIFTS from dbo.SOLICITORCREDITRULES)
when 6 then -- Grant Award
(select APPLYTOGRANTAWARDS from dbo.SOLICITORCREDITRULES)
when 0 then -- Payment
case @APPLICATIONCODE
when 0 then -- Donation
(select APPLYTODONATIONS from dbo.SOLICITORCREDITRULES)
when 2 then -- Pledge
(select APPLYTOPLEDGES from dbo.SOLICITORCREDITRULES)
when 6 then -- Planned Gift
(select APPLYTOPLANNEDGIFTS from dbo.SOLICITORCREDITRULES)
when 7 then -- Matching gift claim
(select APPLYTOMATCHINGGIFTCLAIMS from dbo.SOLICITORCREDITRULES)
when 8 then -- Grant Award
(select APPLYTOGRANTAWARDS from dbo.SOLICITORCREDITRULES)
else
0
end
else
0
end
end
return coalesce(@RETURNVALUE, 0)
end