USP_DATAFORMTEMPLATE_EDITSAVE_MGPLEDGEADJUST

The save procedure used by the edit dataform template "Posted Matching Gift Claim Edit Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@ORIGINALGIFTID uniqueidentifier IN Original Gift
@MATCHINGORGANIZATIONID uniqueidentifier IN Matching organization
@DATE datetime IN Date
@AMOUNT money IN Amount
@SPLITS xml IN Designations
@POSTSTATUSCODE tinyint IN Post status
@POSTDATE datetime IN Post date
@ADJUSTMENTDATE datetime IN Adjusted Date
@ADJUSTMENTPOSTDATE datetime IN Adjusted Post Date
@ADJUSTMENTREASON nvarchar(300) IN Adjustment reason
@MATCHINGGIFTCONDITIONID uniqueidentifier IN Type

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITSAVE_MGPLEDGEADJUST
                    (
                        @ID uniqueidentifier, 
                        @CHANGEAGENTID uniqueidentifier = null,
                        @ORIGINALGIFTID uniqueidentifier,
                        @MATCHINGORGANIZATIONID uniqueidentifier,
                        @DATE datetime,
                        @AMOUNT money,
                        @SPLITS xml,
                        @POSTSTATUSCODE tinyint,
                        @POSTDATE datetime,
                        @ADJUSTMENTDATE datetime,
                        @ADJUSTMENTPOSTDATE datetime,
                        @ADJUSTMENTREASON nvarchar(300),
                        @MATCHINGGIFTCONDITIONID uniqueidentifier
                    )
                    as 
                    set nocount on;

                    declare @CHANGEDATE datetime;

                    declare @ADJUST bit;
                    declare @ADJUSTMENTID uniqueidentifier;                     

                    set @CHANGEDATE = getdate();

                    begin try
                        set @ADJUST = 0;
                        set @ADJUSTMENTID = null;

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

                        /*Already adjusted*/
                        if (select count(ADJUSTMENT.ID) 
                            from dbo.ADJUSTMENT
                            where REVENUEID = @ID and POSTSTATUSCODE = 1) > 0
                            set @ADJUST = 1;

                        if @ADJUST = 0
                            set @ADJUST = dbo.UFN_CHECKDETAIL_SPLITSCHANGED(@ID, @SPLITS);

                        if @ADJUST = 1
                            exec dbo.USP_SAVE_ADJUSTMENT @ID, @ADJUSTMENTID output, @CHANGEAGENTID, @CHANGEDATE, @ADJUSTMENTDATE, @ADJUSTMENTPOSTDATE, @ADJUSTMENTREASON;

                        exec dbo.USP_MATCHINGGIFTPLEDGE_EDIT @ID, @CHANGEAGENTID, @CHANGEDATE, @ORIGINALGIFTID, @MATCHINGORGANIZATIONID
                            @DATE, @AMOUNT, @SPLITS, @POSTSTATUSCODE, @POSTDATE, @MATCHINGGIFTCONDITIONID;

                        if @ADJUST = 1 /*call USP_ADJUSTMENTHISTORY_REVENUE_SAVEHISTORY after the revenue tables are updated */
                            exec dbo.USP_ADJUSTMENTHISTORY_REVENUE_SAVEHISTORY @ID, @CHANGEAGENTID, null, @ADJUSTMENTID;
                    end try
                    begin catch
                        exec dbo.USP_RAISE_ERROR;
                        return 1;
                    end catch
                    return 0;