USP_WPINCOMECOMPENSATION_ADD

Adds WealthPoint Income/Compensation information for a prospect.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT
@CHANGEAGENTID uniqueidentifier IN
@WEALTHID uniqueidentifier IN
@SOURCE nvarchar(100) IN
@MGID int IN
@REVISION int IN
@ORIGINALID int IN
@NEWROW bit IN
@CDATE datetime IN
@CVALUE money IN
@CNOTES nvarchar(1024) IN
@FULLHASH nvarchar(32) IN
@PARTIALHASH nvarchar(32) IN
@MC nvarchar(3) IN
@BB_FULLNAME nvarchar(100) IN
@COMPANY nvarchar(100) IN
@LONGTITLE nvarchar(100) IN
@TICKER nvarchar(8) IN
@AGE int IN
@BIOGRAPHY nvarchar(1500) IN
@OFFICER_DIRECTORFLAG nvarchar(35) IN
@OFFSTARTY UDT_YEAR IN
@DIRSTARTY UDT_YEAR IN
@LATESTCOMPENSATIONYEAR UDT_YEAR IN
@LATESTFISCALYEARSALARY money IN
@LATESTFISCALYEARBONUS money IN
@LATESTFISCALYEAROTHERSHORTTERMCOMPENSATION money IN
@VALUEOFOPTIONSEXERCISED money IN
@VALUEOFOPTIONSUNEXERCISED_EXERCISABLE money IN
@VALUEOFOPTIONSUNEXERCISED_UNEXERCISABLE money IN
@LATESTFISCALYEAROTHERLONGTERMCOMPENSATION money IN
@CURRENTAPPUSERID uniqueidentifier IN
@RECURSIVEMATCH bit IN
@SETASCURRENT bit IN
@WPSEARCHHISTORYID uniqueidentifier IN

Definition

Copy


            CREATE procedure dbo.USP_WPINCOMECOMPENSATION_ADD (
                @ID uniqueidentifier = null output,
                @CHANGEAGENTID uniqueidentifier = null,
                @WEALTHID uniqueidentifier,
                @SOURCE nvarchar(100),
                @MGID int = 0,
                @REVISION int = 0,
                @ORIGINALID int = 0,
                @NEWROW bit = 0,
                @CDATE datetime = null,
                @CVALUE money = 0,
                @CNOTES nvarchar(1024) = '',
                @FULLHASH nvarchar(32) = '',
                @PARTIALHASH nvarchar(32) = '',
                @MC nvarchar(3) = '',
                @BB_FULLNAME nvarchar(100) = '',
                @COMPANY nvarchar(100) = '',
                @LONGTITLE nvarchar(100) = '',
                @TICKER nvarchar(8) = '',
                @AGE int = 0,
                @BIOGRAPHY nvarchar(1500) = '',
                @OFFICER_DIRECTORFLAG nvarchar(35) = '',
                @OFFSTARTY dbo.UDT_YEAR = 0,
                @DIRSTARTY dbo.UDT_YEAR = 0,
                @LATESTCOMPENSATIONYEAR dbo.UDT_YEAR = 0,
                @LATESTFISCALYEARSALARY money = 0,
                @LATESTFISCALYEARBONUS money = 0,
                @LATESTFISCALYEAROTHERSHORTTERMCOMPENSATION money = 0,
                @VALUEOFOPTIONSEXERCISED money = 0,
                @VALUEOFOPTIONSUNEXERCISED_EXERCISABLE money = 0,
                @VALUEOFOPTIONSUNEXERCISED_UNEXERCISABLE money = 0,
                @LATESTFISCALYEAROTHERLONGTERMCOMPENSATION money = 0,
                @CURRENTAPPUSERID uniqueidentifier = null,
                @RECURSIVEMATCH bit = 0,
        @SETASCURRENT bit = 0,
        @WPSEARCHHISTORYID uniqueidentifier = null
            ) as begin
                set nocount on;

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

                begin try
                    declare @CURRENTDATE datetime;

                    set @CURRENTDATE = getdate();

                    --Get any existing ID

                    select 
                        @ID = ID 
                    from 
                        dbo.WPINCOMECOMPENSATION
                    where 
                        WEALTHID=@WEALTHID and PARTIALHASH=@PARTIALHASH;

                    declare @CONFIRMED bit;    
                    declare @CONFIRMEDBYAPPUSERID uniqueidentifier;
                    declare @DATECONFIRMED datetime;
                    declare @REJECTED bit;
                    declare @REJECTEDBYAPPUSERID uniqueidentifier; 
                    declare @DATEREJECTED datetime;    

                    set @CONFIRMED = 0;
                    set @REJECTED = 0;

                    if @CURRENTAPPUSERID is not null
                    begin
                        declare @CONFIDENCE int

                        select 
                            @CONFIDENCE = coalesce(CR.CONFIDENCE,MC.DEFAULTCONFIDENCE)
                        from
                            dbo.MATCHCODE MC
                            left outer join
                                dbo.WEALTHSOURCE WS on @SOURCE = WS.SOURCE
                            left outer join 
                                dbo.CONFIDENCERATING CR on CR.MATCHCODEID = MC.ID and CR.WEALTHSOURCEID = WS.ID
                        where
                            MC.MATCHCODE = @MC

                        select                   
                            @REJECTED =                case @CONFIDENCE
                                                        when 5 then 0
                                                        when 0 then 1
                                                    end,
                            @DATEREJECTED =            case @CONFIDENCE
                                                        when 5 then NULL
                                                        when 0 then @CURRENTDATE 
                                                    end,
                            @REJECTEDBYAPPUSERID =     case @CONFIDENCE
                                                        when 5 then NULL
                                                        when 0 then @CURRENTAPPUSERID 
                                                    end,
                            @CONFIRMED =            case @CONFIDENCE
                                                        when 5 then 1
                                                        when 0 then 0
                                                    end,
                            @DATECONFIRMED =        case @CONFIDENCE
                                                        when 5 then @CURRENTDATE 
                                                        when 0 then    NULL
                                                    end,
                            @CONFIRMEDBYAPPUSERID = case @CONFIDENCE
                                                        when 5 then  @CURRENTAPPUSERID 
                                                        when 0 then NULL
                                                    end 
                        where
                            @CONFIDENCE in (0,5);                    
                    end                        

                    -- Record exists

                    if @ID is not null
                    begin
                        if not exists(select 1 from dbo.WPINCOMECOMPENSATION where WEALTHID=@WEALTHID and FULLHASH=@FULLHASH
                        begin
                            update
                                dbo.WPINCOMECOMPENSATION
                            set
                                FULLHASH = @FULLHASH,
                                MC = @MC,
                                RECURSIVEMATCH = @RECURSIVEMATCH,
                                CHANGEDBYID = @CHANGEAGENTID,
                                DATECHANGED = @CURRENTDATE,
                                CONFIRMED = case when @CONFIRMED = 1 and CONFIRMED = 0 and REJECTED = 0 then 1 else CONFIRMED end,
                                CONFIRMEDBYAPPUSERID = case when @CONFIRMED = 1 and CONFIRMED = 0 and REJECTED = 0 then @CONFIRMEDBYAPPUSERID else CONFIRMEDBYAPPUSERID end,
                                DATECONFIRMED = case when @CONFIRMED = 1 and CONFIRMED = 0 and REJECTED = 0 then @DATECONFIRMED else DATECONFIRMED end,
                HISTORICCODE = case when HISTORICSET = 0 then 0 else HISTORICCODE end
                            where
                                WEALTHID=@WEALTHID and PARTIALHASH=@PARTIALHASH;
                        end
            else
              begin
                update
                  dbo.WPINCOMECOMPENSATION
                set
                  CHANGEDBYID = @CHANGEAGENTID,
                  DATECHANGED = @CURRENTDATE,
                  HISTORICCODE = 0
                where WEALTHID = @WEALTHID and FULLHASH = @FULLHASH and HISTORICSET = 0;
            end
                    end        
                    else 
                    begin
                        --Record is new and needs to be Added


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

                        insert into dbo.WPINCOMECOMPENSATION (
                            ID,
                            WEALTHID,
                            SOURCE,
                            MGID,
                            REVISION,
                            ORIGINALID,
                            NEWROW,
                            CDATE,
                            CVALUE,
                            CNOTES,
                            FULLHASH,
                            PARTIALHASH,
                            MC,
                            BB_FULLNAME,
                            COMPANY,
                            LONGTITLE,
                            TICKER,
                            AGE,
                            BIOGRAPHY,
                            OFFICER_DIRECTORFLAG,
                            OFFSTARTY,
                            DIRSTARTY,
                            LATESTCOMPENSATIONYEAR,
                            LATESTFISCALYEARSALARY,
                            LATESTFISCALYEARBONUS,
                            LATESTFISCALYEAROTHERSHORTTERMCOMPENSATION,
                            VALUEOFOPTIONSEXERCISED,
                            VALUEOFOPTIONSUNEXERCISED_EXERCISABLE,
                            VALUEOFOPTIONSUNEXERCISED_UNEXERCISABLE,
                            LATESTFISCALYEAROTHERLONGTERMCOMPENSATION,
                            CHANGEDBYID,
                            ADDEDBYID,
                            DATEADDED,
                            DATECHANGED,
                            CONFIRMED,
                            CONFIRMEDBYAPPUSERID,
                            DATECONFIRMED,
                            REJECTED,
                            REJECTEDBYAPPUSERID,
                            DATEREJECTED,
                            RECURSIVEMATCH,
              HISTORICCODE,
              HISTORICSET
                        ) values (
                            @ID,
                            @WEALTHID,
                            coalesce(@SOURCE, ''),
                            coalesce(@MGID, 0),
                            coalesce(@REVISION, 0),
                            coalesce(@ORIGINALID, 0),
                            coalesce(@NEWROW, 0),
                            @CDATE,
                            coalesce(@CVALUE, 0),
                            coalesce(@CNOTES, ''),
                            coalesce(@FULLHASH, ''),
                            coalesce(@PARTIALHASH, ''),
                            coalesce(@MC, ''),
                            coalesce(@BB_FULLNAME, ''),
                            coalesce(@COMPANY, ''),
                            coalesce(@LONGTITLE, ''),
                            coalesce(@TICKER, ''),
                            coalesce(@AGE, 0),
                            coalesce(@BIOGRAPHY, ''),
                            coalesce(@OFFICER_DIRECTORFLAG, ''),
                            coalesce(@OFFSTARTY, 0),
                            coalesce(@DIRSTARTY, 0),
                            coalesce(@LATESTCOMPENSATIONYEAR, 0),
                            coalesce(@LATESTFISCALYEARSALARY, 0),
                            coalesce(@LATESTFISCALYEARBONUS, 0),
                            coalesce(@LATESTFISCALYEAROTHERSHORTTERMCOMPENSATION, 0),
                            coalesce(@VALUEOFOPTIONSEXERCISED, 0),
                            coalesce(@VALUEOFOPTIONSUNEXERCISED_EXERCISABLE, 0),
                            coalesce(@VALUEOFOPTIONSUNEXERCISED_UNEXERCISABLE, 0),
                            coalesce(@LATESTFISCALYEAROTHERLONGTERMCOMPENSATION, 0),
                            @CHANGEAGENTID,
                            @CHANGEAGENTID,
                            @CURRENTDATE,
                            @CURRENTDATE,
                            @CONFIRMED,
                            @CONFIRMEDBYAPPUSERID,
                            @DATECONFIRMED,
                            @REJECTED,
                            @REJECTEDBYAPPUSERID,
                            @DATEREJECTED,
                            @RECURSIVEMATCH,
              case when @SETASCURRENT = 1 then 0 else 2 end,
              @SETASCURRENT
                        );
                    end

          if @WPSEARCHHISTORYID is not null
          begin
            insert into
              dbo.WPINCOMECOMPENSATION_WPSEARCHHISTORY 
              (WPINCOMECOMPENSATIONID, WPSEARCHHISTORYID)
            values
              (@ID, @WPSEARCHHISTORYID);
          end
                end try
                begin catch
                    exec dbo.USP_RAISE_ERROR;
                end catch

                return 0;
            end