USP_WPRELATIONSHIP_BO_IND_ADD

Adds WealthPoint Business Ownership relationship information for a prospect.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT
@CHANGEAGENTID uniqueidentifier IN
@CURRENTAPPUSERID uniqueidentifier IN
@DUNS nvarchar(10) IN
@CONSTITUENTID uniqueidentifier IN
@LASTNAME nvarchar(100) IN
@FIRSTNAME nvarchar(50) IN
@MIDDLENAME nvarchar(50) IN
@SUFFIX nvarchar(50) IN
@TITLE nvarchar(30) IN
@YEAROFBIRTH UDT_YEAR IN
@GENDERCODE tinyint IN
@ADDRESS1 nvarchar(100) IN
@CITY1 nvarchar(50) IN
@STATE1 nvarchar(2) IN
@ZIP1 nvarchar(10) IN
@ADDRESS2 nvarchar(100) IN
@CITY2 nvarchar(50) IN
@STATE2 nvarchar(2) IN
@ZIP2 nvarchar(10) IN
@LASTDATE datetime IN
@SPOUSEFLAG bit IN
@MATCHPROSPECT bit IN
@MATCHPRIMARYBUSINESS bit IN

Definition

Copy


            CREATE procedure dbo.USP_WPRELATIONSHIP_BO_IND_ADD (
                @ID uniqueidentifier = null output,
                @CHANGEAGENTID uniqueidentifier = null,
                @CURRENTAPPUSERID uniqueidentifier = null,
                @DUNS nvarchar(10) = '',
                @CONSTITUENTID uniqueidentifier = null,
                @LASTNAME nvarchar(100) = '',
                @FIRSTNAME nvarchar(50) = '',
                @MIDDLENAME nvarchar(50) = '',
                @SUFFIX nvarchar(50) = '',
                @TITLE nvarchar(30) = '',
                @YEAROFBIRTH dbo.UDT_YEAR = 0,
                @GENDERCODE tinyint = 0,
                @ADDRESS1 nvarchar(100) = '',
                @CITY1 nvarchar(50) = '',
                @STATE1 nvarchar(2) = '',
                @ZIP1 nvarchar(10) = '',
                @ADDRESS2 nvarchar(100) = '',
                @CITY2 nvarchar(50) = '',
                @STATE2 nvarchar(2) = '',
                @ZIP2 nvarchar(10) = '',
                @LASTDATE datetime = null,
                @SPOUSEFLAG bit = 0,
                @MATCHPROSPECT bit = 0,
                @MATCHPRIMARYBUSINESS bit = 0
            ) as begin
                set nocount on;

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

                begin try
                    declare @NEWRECORD bit;
                    declare @UPDATEDRECORD bit;
                    declare @CURRENTDATE datetime;

                    set @NEWRECORD = 0;
                    set @UPDATEDRECORD = 0;
                    set @CURRENTDATE = getdate();

                    declare @WPRELATIONSHIP_BO_ID uniqueidentifier;
                    exec dbo.USP_WPRELATIONSHIP_BO_ADD @ID=@WPRELATIONSHIP_BO_ID output, @DUNS=@DUNS, @CHANGEAGENTID=@CHANGEAGENTID;

                    --Set constituentID to spouse ID if spouse flag set

                    if @SPOUSEFLAG = 1 and @CONSTITUENTID is not null begin
                        select
                            @CONSTITUENTID = RECIPROCALCONSTITUENTID
                        from
                            dbo.RELATIONSHIP
                        where
                            RELATIONSHIPCONSTITUENTID = @CONSTITUENTID and ISSPOUSE = 1
                    end

                    --Get the primary business

                    declare @PRIMARYBUSINESSID uniqueidentifier;
                    select
                        @PRIMARYBUSINESSID = REL.RECIPROCALCONSTITUENTID
                    from
                        dbo.RELATIONSHIP REL
                    where
                        REL.RELATIONSHIPCONSTITUENTID = @CONSTITUENTID and
                        REL.ISPRIMARYBUSINESS = 1

                    update
                        dbo.WPRELATIONSHIP_BO
                    set
                        CONSTITUENTID = @PRIMARYBUSINESSID,
                        CHANGEDBYID = @CHANGEAGENTID,
                        DATECHANGED = @CURRENTDATE
                    where
                        ID = @WPRELATIONSHIP_BO_ID and
                        @MATCHPRIMARYBUSINESS = 1 and
                        CONSTITUENTID is null and
                        @PRIMARYBUSINESSID is not null;

                    --Get any existing individual ID

                    select 
                        @ID = RBOI.ID 
                    from 
                        dbo.WPRELATIONSHIP_BO RBO
                    left join dbo.WPRELATIONSHIP_BO_IND RBOI
                        on RBO.ID = RBOI.WPRELATIONSHIP_BO_ID
                    where 
                        RBO.ID = @WPRELATIONSHIP_BO_ID and
                        coalesce(RBOI.FIRSTNAME, '') = coalesce(@FIRSTNAME, '') and
                        coalesce(RBOI.LASTNAME, '') = coalesce(@LASTNAME, '') and
                        coalesce(RBOI.MIDDLENAME, '') = coalesce(@MIDDLENAME, '') and
                        coalesce(RBOI.SUFFIX, '') = coalesce(@SUFFIX, '');

                    -- Record exists

                    if @ID is not null begin

                        set @UPDATEDRECORD = 1;

                        update
                            dbo.WPRELATIONSHIP_BO_IND
                        set
                            CONSTITUENTID = case when @MATCHPROSPECT = 1 then coalesce(CONSTITUENTID, @CONSTITUENTID) else CONSTITUENTID end,
                            LASTNAME = @LASTNAME,
                            FIRSTNAME = @FIRSTNAME,
                            MIDDLENAME = @MIDDLENAME,
                            SUFFIX = @SUFFIX,
                            TITLE = @TITLE,
                            YEAROFBIRTH = @YEAROFBIRTH,
                            GENDERCODE = @GENDERCODE,
                            ADDRESS1 = @ADDRESS1,
                            CITY1 = @CITY1,
                            STATE1 = @STATE1,
                            ZIP1 = @ZIP1,
                            ADDRESS2 = @ADDRESS2,
                            CITY2 = @CITY2,
                            STATE2 = @STATE2,
                            ZIP2 = @ZIP2,
                            LASTDATE = @LASTDATE,
                            SPOUSEFLAG = @SPOUSEFLAG,
                            CHANGEDBYID = @CHANGEAGENTID,
                            DATECHANGED = @CURRENTDATE
                        where
                            ID = @ID and (
                                (@MATCHPROSPECT = 1 and
                                CONSTITUENTID is null and
                                @CONSTITUENTID is not null) or
                                (TITLE <> @TITLE and (TITLE is not null or @TITLE is not null)) or
                                (YEAROFBIRTH <> @YEAROFBIRTH and (YEAROFBIRTH is not null or @YEAROFBIRTH is not null)) or
                                (GENDERCODE <> @GENDERCODE and (GENDERCODE is not null or @GENDERCODE is not null)) or
                                (ADDRESS1 <> @ADDRESS1 and (ADDRESS1 is not null or @ADDRESS1 is not null)) or
                                (CITY1 <> @CITY1 and (CITY1 is not null or @CITY1 is not null)) or
                                (STATE1 <> @STATE1 and (STATE1 is not null or @STATE1 is not null)) or
                                (ZIP1 <> @ZIP1 and (ZIP1 is not null or @ZIP1 is not null)) or
                                (ADDRESS2 <> @ADDRESS2 and (ADDRESS2 is not null or @ADDRESS2 is not null)) or
                                (CITY2 <> @CITY2 and (CITY2 is not null or @CITY2 is not null)) or
                                (STATE2 <> @STATE2 and (STATE2 is not null or @STATE2 is not null)) or
                                (ZIP2 <> @ZIP2 and (ZIP2 is not null or @ZIP2 is not null)) or
                                (LASTDATE <> @LASTDATE and (LASTDATE is not null or @LASTDATE is not null)) or
                                (SPOUSEFLAG <> @SPOUSEFLAG and (SPOUSEFLAG is not null or @SPOUSEFLAG is not null))
                            );

                    end
                    else begin
                        --Record is new and needs to be Added

                        set @NEWRECORD = 1;

                        if @ID is null
                            set @ID = newid();

                        insert into dbo.WPRELATIONSHIP_BO_IND (
                            ID,
                            WPRELATIONSHIP_BO_ID,
                            CONSTITUENTID,
                            LASTNAME,
                            FIRSTNAME,
                            MIDDLENAME,
                            SUFFIX,
                            TITLE,
                            YEAROFBIRTH,
                            GENDERCODE,
                            ADDRESS1,
                            CITY1,
                            STATE1,
                            ZIP1,
                            ADDRESS2,
                            CITY2,
                            STATE2,
                            ZIP2,
                            LASTDATE,
                            SPOUSEFLAG,
                            CHANGEDBYID,
                            ADDEDBYID,
                            DATEADDED,
                            DATECHANGED                        
                        ) values (
                            @ID,
                            @WPRELATIONSHIP_BO_ID,
                            case when @MATCHPROSPECT = 1 then @CONSTITUENTID else null end,
                            @LASTNAME,
                            @FIRSTNAME,
                            @MIDDLENAME,
                            @SUFFIX,
                            @TITLE,
                            @YEAROFBIRTH,
                            @GENDERCODE,
                            @ADDRESS1,
                            @CITY1,
                            @STATE1,
                            @ZIP1,
                            @ADDRESS2,
                            @CITY2,
                            @STATE2,
                            @ZIP2,
                            @LASTDATE,
                            @SPOUSEFLAG,
                            @CHANGEAGENTID,
                            @CHANGEAGENTID,
                            @CURRENTDATE,
                            @CURRENTDATE
                        );
                    end

                end try
                begin catch
                    exec dbo.USP_RAISE_ERROR;
                end catch

                return 0;
            end;