USP_BBNC_COMMITMEMBERSHIPADDMEMBERSHIP

Adds a membership from Blackbaud Internet Solutions.

Parameters

Parameter Parameter Type Mode Description
@REVENUEID uniqueidentifier IN
@CONSTITUENTID uniqueidentifier IN
@MEMBERSHIPID uniqueidentifier IN
@AMOUNT money IN
@TRANSACTIONDATE datetime IN
@MEMBERSHIPS xml IN
@CHANGEAGENTID uniqueidentifier IN
@CHANGEDATE datetime IN
@PDACCOUNTSYSTEMID uniqueidentifier IN
@CURRENTAPPUSERID uniqueidentifier IN

Definition

Copy


            CREATE procedure dbo.USP_BBNC_COMMITMEMBERSHIPADDMEMBERSHIP
            (
                @REVENUEID uniqueidentifier,
                @CONSTITUENTID uniqueidentifier,
                @MEMBERSHIPID uniqueidentifier,
                @AMOUNT money,
                @TRANSACTIONDATE datetime,
                @MEMBERSHIPS xml,
                @CHANGEAGENTID uniqueidentifier,
                @CHANGEDATE datetime,
        @PDACCOUNTSYSTEMID uniqueidentifier = null,
        @CURRENTAPPUSERID uniqueidentifier = null
            )
            as 
            set nocount on;

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

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

                if @MEMBERSHIPID is null
                    set @MEMBERSHIPID = newid();

                declare @RECEIPTAMOUNT money = @AMOUNT;

                exec dbo.USP_MEMBERSHIP_ADDPAYMENT
                    @REVENUEID = @REVENUEID,
                    @CONSTITUENTID = @CONSTITUENTID,
                    @MEMBERSHIPID = @MEMBERSHIPID
                    @AMOUNT = @AMOUNT,
                    @TRANSACTIONDATE = @TRANSACTIONDATE,
                    @MEMBERSHIPS = @MEMBERSHIPS,
                    @CHANGEAGENTID = @CHANGEAGENTID,
                    @CREATIONDATE = @CHANGEDATE;

                --add percent and unit value benefits 

                exec dbo.USP_REVENUEBENEFITS_ADDBENEFITS @REVENUEID, @RECEIPTAMOUNT output    

                --after calculating the benefits update the revenue tables new receipt amount.

                if not @RECEIPTAMOUNT = @AMOUNT
                    update dbo.REVENUE set
                        RECEIPTAMOUNT = @RECEIPTAMOUNT
                    where ID = @REVENUEID

                --Add gift fees

                exec dbo.USP_PAYMENT_ADDGIFTFEES @REVENUEID, @CONSTITUENTID, @CHANGEAGENTID, @CHANGEDATE;

        if (@PDACCOUNTSYSTEMID is null)
          set @PDACCOUNTSYSTEMID = dbo.UFN_PDACCOUNTSYSTEM_GETDEFAULTSYSTEMIDSFORUSER(@CURRENTAPPUSERID)

        if (@PDACCOUNTSYSTEMID is null)
          set @PDACCOUNTSYSTEMID = '4B121C2C-CCE6-440D-894C-EA0DEF80D50B'

        exec dbo.USP_PDACCOUNTSYSTEM_LINKTOREVENUE
                      @ID = @REVENUEID,
                      @PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID,
                      @CHANGEDATE = @CHANGEDATE,
                      @CHANGEAGENTID = @CHANGEAGENTID    ;

                exec dbo.USP_SAVE_REVENUEGLDISTRIBUTION @REVENUEID, @CHANGEAGENTID, @CHANGEDATE;
            end try
            begin catch
                exec dbo.USP_RAISE_ERROR;
                return 1;
            end catch

            return 0;