USP_BBNC_COMMITDONATIONSOLICITOR

Saves a solicitor for a donation batch from Blackbaud Internet Solutions.

Parameters

Parameter Parameter Type Mode Description
@REVENUEID uniqueidentifier IN
@SOLICITORID uniqueidentifier IN
@SEQUENCE int IN
@CHANGEAGENTID uniqueidentifier IN
@CHANGEDATE datetime IN

Definition

Copy


            CREATE procedure dbo.USP_BBNC_COMMITDONATIONSOLICITOR
            (
                @REVENUEID uniqueidentifier,
                @SOLICITORID uniqueidentifier,
                @SEQUENCE int,
                @CHANGEAGENTID uniqueidentifier = null,
                @CHANGEDATE datetime = null
            )
            as 
            set nocount on;

            if @CHANGEDATE is null
                set @CHANGEDATE = getdate();

            if @CHANGEAGENTID is null
                exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

            insert into dbo.REVENUESOLICITOR(ID, REVENUESPLITID, CONSTITUENTID, AMOUNT, SEQUENCE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
                select
                    newid(),
                    REVENUESPLIT.ID,
                    @SOLICITORID,
                    REVENUESPLIT.AMOUNT,
                    @SEQUENCE,
                    @CHANGEAGENTID,
                    @CHANGEAGENTID,
                    @CHANGEDATE,
                    @CHANGEDATE
                from dbo.REVENUESPLIT
                where REVENUESPLIT.REVENUEID = @REVENUEID;

            -- JamesWill CR272340-040907 2007/04/11 If this is a recurring gift and it's been paid, we need to credit the solicitor with the payment as well

            if
            (
                (select TRANSACTIONTYPECODE from dbo.REVENUE where ID = @REVENUEID) = 2 
                and
                exists(select top (1) 1 from dbo.RECURRINGGIFTACTIVITY where not PAYMENTREVENUEID is null and SOURCEREVENUEID = @REVENUEID and TYPECODE = 0)
            )
            begin
                insert into dbo.REVENUESOLICITOR(ID, REVENUESPLITID, CONSTITUENTID, AMOUNT, SEQUENCE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
                    select
                        newid(),
                        REVENUESPLIT.ID,
                        @SOLICITORID,
                        REVENUESPLIT.AMOUNT,
                        @SEQUENCE,
                        @CHANGEAGENTID,
                        @CHANGEAGENTID,
                        @CHANGEDATE,
                        @CHANGEDATE
                    from dbo.REVENUESPLIT
                    inner join dbo.RECURRINGGIFTACTIVITY on RECURRINGGIFTACTIVITY.PAYMENTREVENUEID = REVENUESPLIT.ID 
                    where RECURRINGGIFTACTIVITY.SOURCEREVENUEID = @REVENUEID
            end