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
            )