USP_DATAFORMTEMPLATE_EDIT_RELATIONSHIP_ORGTOGROUP_4

The save procedure used by the edit dataform template "Relationship Organization to Group 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.
@RELATIONSHIPTYPECODEID uniqueidentifier IN Relationship type
@RECIPROCALTYPECODEID uniqueidentifier IN Reciprocal relationship type
@STARTDATE datetime IN Start date
@ENDDATE datetime IN End date
@COMMENTS nvarchar(max) IN Comments
@ISMATCHINGGIFTRELATIONSHIP bit IN The organization will match contributions for this relationship
@PRIMARYSOFTCREDITRELATIONSHIPEXISTS bit IN Apply to <Constituent> for revenue from <Reciprocal>
@PRIMARYSOFTCREDITMATCHFACTOR decimal(5, 2) IN Recognition credit match percent
@RECIPROCALSOFTCREDITRELATIONSHIPEXISTS bit IN Apply to <Reciprocal> for revenue from <Constituent>
@RECIPROCALSOFTCREDITMATCHFACTOR decimal(5, 2) IN Recognition credit match percent
@PRIMARYRECOGNITIONTYPECODEID uniqueidentifier IN Recognition credit type
@RECIPROCALRECOGNITIONTYPECODEID uniqueidentifier IN Recognition credit type

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_RELATIONSHIP_ORGTOGROUP_4
                    (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,                                                                        
                        @RELATIONSHIPTYPECODEID uniqueidentifier,
                        @RECIPROCALTYPECODEID uniqueidentifier,                                                
                        @STARTDATE datetime,
                        @ENDDATE datetime,
                        @COMMENTS nvarchar(max),
                        @ISMATCHINGGIFTRELATIONSHIP bit,
                        @PRIMARYSOFTCREDITRELATIONSHIPEXISTS bit,
                        @PRIMARYSOFTCREDITMATCHFACTOR decimal(5,2),
                        @RECIPROCALSOFTCREDITRELATIONSHIPEXISTS bit,
                        @RECIPROCALSOFTCREDITMATCHFACTOR decimal(5,2),
                        @PRIMARYRECOGNITIONTYPECODEID uniqueidentifier,
                        @RECIPROCALRECOGNITIONTYPECODEID uniqueidentifier
                    )    
                    as
                        set nocount on;

                        declare @CURRENTDATE datetime;
                        set @CURRENTDATE = getdate();

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

                        begin try
                            if @ISMATCHINGGIFTRELATIONSHIP = 1
                                update
                                    dbo.RELATIONSHIP
                                set
                                    ISMATCHINGGIFTRELATIONSHIP = 0,
                                    DATECHANGED = @CURRENTDATE,
                                    CHANGEDBYID = @CHANGEAGENTID
                                where
                                    ID in (
                                        select
                                            TOUPDATE.ID
                                        from
                                            dbo.RELATIONSHIP TOUPDATE
                                        left join
                                            dbo.RELATIONSHIP
                                        on
                                            RELATIONSHIP.ID = @ID
                                        where
                                            TOUPDATE.RELATIONSHIPCONSTITUENTID = RELATIONSHIP.RELATIONSHIPCONSTITUENTID and
                                            TOUPDATE.RECIPROCALCONSTITUENTID = RELATIONSHIP.RECIPROCALCONSTITUENTID and
                                            TOUPDATE.ISMATCHINGGIFTRELATIONSHIP = 1 and
                                            TOUPDATE.ID <> RELATIONSHIP.ID)


                            update
                                DBO.RELATIONSHIP    
                            set    
                                RELATIONSHIPTYPECODEID = @RELATIONSHIPTYPECODEID,
                                RECIPROCALTYPECODEID = @RECIPROCALTYPECODEID,
                                STARTDATE = @STARTDATE,
                                ENDDATE = @ENDDATE,
                                COMMENTS = @COMMENTS,
                                ISMATCHINGGIFTRELATIONSHIP = @ISMATCHINGGIFTRELATIONSHIP,
                                CHANGEDBYID = @CHANGEAGENTID,
                                DATECHANGED = @CURRENTDATE
                            where 
                                ID = @ID;

                            declare @RELATIONSHIPCONSTITUENTID uniqueidentifier;
                            declare @RECIPROCALCONSTITUENTID uniqueidentifier;

                            select
                                @RELATIONSHIPCONSTITUENTID = RELATIONSHIPCONSTITUENTID,
                                @RECIPROCALCONSTITUENTID = RECIPROCALCONSTITUENTID
                            from dbo.RELATIONSHIP
                            where ID = @ID

                            exec dbo.USP_RELATIONSHIPCONFIGURATION_CONFIGURE 
                                @RELATIONSHIPCONSTITUENTID
                                @RECIPROCALCONSTITUENTID
                                @RELATIONSHIPTYPECODEID
                                @RECIPROCALTYPECODEID
                                @CHANGEAGENTID
                                @CURRENTDATE

                             exec dbo.USP_RECOGNITIONDEFAULTSUPDATE @RELATIONSHIPCONSTITUENTID, @RECIPROCALCONSTITUENTID,
                                @STARTDATE, @ENDDATE, @PRIMARYSOFTCREDITRELATIONSHIPEXISTS, @PRIMARYSOFTCREDITMATCHFACTOR,
                                @PRIMARYRECOGNITIONTYPECODEID, @RECIPROCALSOFTCREDITRELATIONSHIPEXISTS
                                @RECIPROCALSOFTCREDITMATCHFACTOR, @RECIPROCALRECOGNITIONTYPECODEID, @CHANGEAGENTID;

                        end try

                        begin catch
                            exec dbo.USP_RAISE_ERROR;
                            return 1;
                        end catch

                        return 0;