USP_PAYMENT_ADDGIFTFEES

Adds gift fees to a revenue payment.

Parameters

Parameter Parameter Type Mode Description
@REVENUEID uniqueidentifier IN
@CONSTITUENTID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@DATECHANGED datetime IN

Definition

Copy


CREATE procedure dbo.USP_PAYMENT_ADDGIFTFEES(
        @REVENUEID uniqueidentifier,
        @CONSTITUENTID uniqueidentifier,
        @CHANGEAGENTID uniqueidentifier,
        @DATECHANGED datetime
)
as

begin

    set nocount on;


    --Do nothing if this is turned off.  

    if dbo.UFN_GIFTFEE_ENABLED() = 0  
        return;  

        merge dbo.REVENUESPLITGIFTFEE as target
        using (
                select
                ID, FEE, WAIVED, BASECURRENCYID, ORGANIZATIONAMOUNT, ORGANIZATIONEXCHANGERATEID, TRANSACTIONAMOUNT, TRANSACTIONCURRENCYID, BASEEXCHANGERATEID
            from dbo.UFN_REVENUE_GENERATEDEFAULTGIFTFEES(@REVENUEID, @CONSTITUENTID)
    ) as source (ID, FEE, WAIVED, BASECURRENCYID, ORGANIZATIONAMOUNT, ORGANIZATIONEXCHANGERATEID, TRANSACTIONAMOUNT, TRANSACTIONCURRENCYID, BASEEXCHANGERATEID)
    on (target.id = source.id)
    when matched then 
            update set
                     FEE = source.FEE
                    ,WAIVED = source.WAIVED
                    ,BASECURRENCYID = source.BASECURRENCYID
                    ,ORGANIZATIONAMOUNT = source.ORGANIZATIONAMOUNT
                    ,ORGANIZATIONEXCHANGERATEID = source.ORGANIZATIONEXCHANGERATEID
                    ,TRANSACTIONAMOUNT = source.TRANSACTIONAMOUNT
                    ,TRANSACTIONCURRENCYID = source.TRANSACTIONCURRENCYID
                    ,BASEEXCHANGERATEID = source.BASEEXCHANGERATEID
                    ,CHANGEDBYID = @CHANGEAGENTID
                    ,DATECHANGED = @DATECHANGED
    when not matched then
            insert (ID, FEE, WAIVED, BASECURRENCYID, ORGANIZATIONAMOUNT, ORGANIZATIONEXCHANGERATEID, TRANSACTIONAMOUNT, TRANSACTIONCURRENCYID, BASEEXCHANGERATEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
            values (source.ID, source.FEE, source.WAIVED, source.BASECURRENCYID, source.ORGANIZATIONAMOUNT, source.ORGANIZATIONEXCHANGERATEID, source.TRANSACTIONAMOUNT, source.TRANSACTIONCURRENCYID, source.BASEEXCHANGERATEID, @CHANGEAGENTID, @CHANGEAGENTID, @DATECHANGED, @DATECHANGED);    

    declare @DONOTPOST bit;
    set @DONOTPOST = (select DONOTPOST from dbo.REVENUE where ID = @REVENUEID);
    if @DONOTPOST = 0
        exec dbo.USP_SAVE_GIFTFEEGLDISTRIBUTION @REVENUEID, @CHANGEAGENTID, @DATECHANGED;

end