USP_DATAFORMTEMPLATE_ADD_CONSTITUENTRECOGNITIONDEFAULT

The save procedure used by the add dataform template "Constituent Recognition Default Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@SOURCECONSTITUENTID uniqueidentifier IN Source constituent
@RECIPIENTCONSTITUENTID uniqueidentifier IN Recipient constituent
@MATCHFACTOR decimal(5, 2) IN Match percent
@STARTDATE datetime IN Start date
@ENDDATE datetime IN End date
@REVENUERECOGNITIONTYPECODEID uniqueidentifier IN Recognition credit type

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_CONSTITUENTRECOGNITIONDEFAULT
                    (
                        @ID uniqueidentifier = null output,
                        @CHANGEAGENTID uniqueidentifier,
                        @SOURCECONSTITUENTID uniqueidentifier,
                        @RECIPIENTCONSTITUENTID uniqueidentifier,
                        @MATCHFACTOR decimal(5, 2),
                        @STARTDATE datetime = null,
                        @ENDDATE datetime = null,
                        @REVENUERECOGNITIONTYPECODEID uniqueidentifier = null
                    )
                    as
                        set nocount on

                        declare @CURRENTDATE datetime
                        set @CURRENTDATE = getdate()

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

                        begin try
                            declare @EXISTINGID uniqueidentifier
                            select @EXISTINGID = ID from dbo.REVENUERECOGNITIONDEFAULT
                            where
                                SOURCECONSTITUENTID = @SOURCECONSTITUENTID and
                                RECIPIENTCONSTITUENTID = @RECIPIENTCONSTITUENTID

                            if @EXISTINGID is not null
                            begin
                                set @ID = @EXISTINGID

                                update dbo.REVENUERECOGNITIONDEFAULT set
                                    MATCHFACTOR = @MATCHFACTOR,
                                    REVENUERECOGNITIONTYPECODEID = @REVENUERECOGNITIONTYPECODEID,
                                    STARTDATE = @STARTDATE,
                                    ENDDATE = @ENDDATE,
                                    PREVENTRECOGNITIONSDEFAULTING = 0,
                                    DATECHANGED = @CURRENTDATE,
                                    CHANGEDBYID = @CHANGEAGENTID
                                where
                                    ID = @ID
                            end
                            else
                            begin
                                if @ID is null
                                    set @ID = newid()

                                insert into dbo.REVENUERECOGNITIONDEFAULT
                                (
                                    ID,
                                    SOURCECONSTITUENTID,
                                    RECIPIENTCONSTITUENTID,
                                    MATCHFACTOR,
                                    REVENUERECOGNITIONTYPECODEID,
                                    STARTDATE,
                                    ENDDATE,
                                    ADDEDBYID,
                                    CHANGEDBYID,
                                    DATEADDED,
                                    DATECHANGED
                                )
                                values
                                (
                                    @ID,
                                    @SOURCECONSTITUENTID,
                                    @RECIPIENTCONSTITUENTID,
                                    @MATCHFACTOR,
                                    @REVENUERECOGNITIONTYPECODEID,
                                    @STARTDATE,
                                    @ENDDATE,
                                    @CHANGEAGENTID,
                                    @CHANGEAGENTID,
                                    @CURRENTDATE,
                                    @CURRENTDATE
                                )
                            end

                            exec dbo.USP_HOUSEHOLDRECOGNITIONSETTINGS_OVERRIDEIFNEEDED @SOURCECONSTITUENTID, @RECIPIENTCONSTITUENTID, @CHANGEAGENTID
                        end try
                        begin catch
                            exec dbo.USP_RAISE_ERROR;
                            return 1;
                        end catch