USP_REVENUESPLITGIFTAID_UPDATEGLDISTRIBUTIONS

Updates GL distributions for a given gift aid record.

Parameters

Parameter Parameter Type Mode Description
@REVENUESPLITGIFTAIDID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@CHANGEDATE datetime IN
@DONOTPOST bit IN

Definition

Copy


            create procedure dbo.USP_REVENUESPLITGIFTAID_UPDATEGLDISTRIBUTIONS
            (
                @REVENUESPLITGIFTAIDID uniqueidentifier,
                @CHANGEAGENTID uniqueidentifier = null,
                @CHANGEDATE datetime = null,
                @DONOTPOST bit
            )
            with execute as owner
            as
            begin
                set nocount on;

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

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

                --Gift aid does not have an unposted adjustment

                if exists (select 1 from dbo.REVENUESPLITGIFTAIDPOSTED where ID = @REVENUESPLITGIFTAIDID) and (dbo.UFN_REVENUESPLITGIFTAID_HASPENDINGADJUSTMENT(@REVENUESPLITGIFTAIDID) = 0)
                begin

                    exec dbo.USP_GLTRANSACTION_ADDGIFTAIDREVERSALS @REVENUESPLITGIFTAIDID, @CHANGEAGENTID, @CHANGEDATE;

                end

                delete from dbo.GIFTAIDGLDISTRIBUTION where REVENUESPLITGIFTAIDID = @REVENUESPLITGIFTAIDID and OUTDATED = 0;

                -- Add new gift aid GL distributions

                if @DONOTPOST = 0
                    exec dbo.USP_SAVE_GIFTAIDGLDISTRIBUTION @REVENUESPLITGIFTAIDID, @CHANGEAGENTID, @CHANGEDATE;
            end