UFN_REVENUE_GETRECOGNITIONS
Returns all recognition credits for a given revenue detail record.
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@REVENUESPLITID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_REVENUE_GETRECOGNITIONS(@REVENUESPLITID uniqueidentifier)
returns table
AS
return
(
select
REVENUERECOGNITION.[ID],
REVENUERECOGNITION.[CONSTITUENTID],
CONSTITUENT.NAME,
REVENUERECOGNITION.[AMOUNT],
-- If this is a recurring gift, just use the revenue date as the effective date. If the actual
-- recognition effective date were used then the sorting could be off since the effective date isn't displayed
-- for that revenue type.
case when FINANCIALTRANSACTION.TYPECODE <> 2 then [EFFECTIVEDATE] else FINANCIALTRANSACTION.DATE end 'EFFECTIVEDATE',
[REVENUERECOGNITIONTYPECODEID],
REVENUERECOGNITIONTYPECODE.DESCRIPTION as RECOGNITIONTYPE,
case FINANCIALTRANSACTION.TYPECODE when 1 then case when REVENUERECOGNITION.AMOUNT > FINANCIALTRANSACTIONLINEITEM.BASEAMOUNT then dbo.UFN_GIFTAIDREVENUESPLIT_CALCULATEPLEDGESPLITGROSSAMOUNT(FINANCIALTRANSACTIONLINEITEM.ID) - FINANCIALTRANSACTIONLINEITEM.BASEAMOUNT + REVENUERECOGNITION.AMOUNT else REVENUERECOGNITION.AMOUNT/FINANCIALTRANSACTIONLINEITEM.BASEAMOUNT * (dbo.UFN_GIFTAIDREVENUESPLIT_CALCULATEPLEDGESPLITGROSSAMOUNT(FINANCIALTRANSACTIONLINEITEM.ID) - FINANCIALTRANSACTIONLINEITEM.BASEAMOUNT) + REVENUERECOGNITION.AMOUNT end
when 2 then case when REVENUERECOGNITION.AMOUNT > FINANCIALTRANSACTIONLINEITEM.BASEAMOUNT then dbo.UFN_GIFTAIDREVENUESPLIT_GETSPLITTAXCLAIMAMOUNT(FINANCIALTRANSACTIONLINEITEM.ID, 1) + REVENUERECOGNITION.AMOUNT else REVENUERECOGNITION.AMOUNT/FINANCIALTRANSACTIONLINEITEM.BASEAMOUNT * dbo.UFN_GIFTAIDREVENUESPLIT_GETSPLITTAXCLAIMAMOUNT(FINANCIALTRANSACTIONLINEITEM.ID, 1) + REVENUERECOGNITION.AMOUNT end
else REVENUERECOGNITION.AMOUNT end as GROSSAMOUNT
from dbo.REVENUERECOGNITION
inner join dbo.CONSTITUENT on CONSTITUENT.ID = REVENUERECOGNITION.CONSTITUENTID
inner join dbo.FINANCIALTRANSACTIONLINEITEM on FINANCIALTRANSACTIONLINEITEM.ID = REVENUERECOGNITION.REVENUESPLITID
inner join dbo.FINANCIALTRANSACTION on FINANCIALTRANSACTION.ID = FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID
left join dbo.REVENUERECOGNITIONTYPECODE on REVENUERECOGNITION.REVENUERECOGNITIONTYPECODEID = REVENUERECOGNITIONTYPECODE.ID
where REVENUERECOGNITION.REVENUESPLITID = @REVENUESPLITID
)