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