USP_DATAFORMTEMPLATE_EDITSAVE_WPINCOMECOMPENSATION

The save procedure used by the edit dataform template "WealthPoint Income/Compensation 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.
@SOURCE nvarchar(100) IN Source
@CNOTES nvarchar(1024) IN Notes
@BB_FULLNAME nvarchar(100) IN Name
@COMPANY nvarchar(100) IN Company
@LONGTITLE nvarchar(100) IN Job title
@TICKER nvarchar(8) IN Symbol
@AGE int IN Age
@BIOGRAPHY nvarchar(1500) IN Biography
@OFFICER_DIRECTORFLAG nvarchar(35) IN Officer/Director
@OFFSTARTY UDT_YEAR IN Officer start
@DIRSTARTY UDT_YEAR IN Director start
@LATESTCOMPENSATIONYEAR UDT_YEAR IN Year
@LATESTFISCALYEARSALARY money IN Salary
@LATESTFISCALYEARBONUS money IN Bonus
@LATESTFISCALYEAROTHERSHORTTERMCOMPENSATION money IN Other short term
@VALUEOFOPTIONSEXERCISED money IN Exercised
@VALUEOFOPTIONSUNEXERCISED_EXERCISABLE money IN Unexercised
@VALUEOFOPTIONSUNEXERCISED_UNEXERCISABLE money IN Unexercisable
@LATESTFISCALYEAROTHERLONGTERMCOMPENSATION money IN Other long term

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITSAVE_WPINCOMECOMPENSATION (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @SOURCE nvarchar(100),
                        @CNOTES nvarchar(1024),
                        @BB_FULLNAME nvarchar(100),
                        @COMPANY nvarchar(100),
                        @LONGTITLE nvarchar(100),
                        @TICKER nvarchar(8),
                        @AGE int,
                        @BIOGRAPHY nvarchar(1500),
                        @OFFICER_DIRECTORFLAG nvarchar(35),
                        @OFFSTARTY dbo.UDT_YEAR,
                        @DIRSTARTY dbo.UDT_YEAR,
                        @LATESTCOMPENSATIONYEAR dbo.UDT_YEAR,
                        @LATESTFISCALYEARSALARY money,
                        @LATESTFISCALYEARBONUS money,
                        @LATESTFISCALYEAROTHERSHORTTERMCOMPENSATION money,
                        @VALUEOFOPTIONSEXERCISED money,
                        @VALUEOFOPTIONSUNEXERCISED_EXERCISABLE money,
                        @VALUEOFOPTIONSUNEXERCISED_UNEXERCISABLE money,
                        @LATESTFISCALYEAROTHERLONGTERMCOMPENSATION money
                    ) as begin

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

            declare @CURRENTDATE datetime = getdate();

                        set @AGE = case when @AGE is NULL then 0 else @age end;

            --wealth source updates

            if(select
                            count(WEALTHSOURCE.SOURCE)
                        from
                            dbo.WEALTHSOURCE 
            where SOURCE = @SOURCE
                        ) = 0
                        begin
                            insert into dbo.WEALTHSOURCE (
                                [SOURCE],
                                [ISBUILTIN],
                                [ADDEDBYID],
                                [CHANGEDBYID]
                            )values(
                                @SOURCE,
                                0,
                                @CHANGEAGENTID,
                                @CHANGEAGENTID
                            );
            end

            if(
            not exists (select top 1 1 from dbo.WEALTHCAPACITYFORMULAINCOMECOMPENSATIONSOURCE where SOURCE = @SOURCE)
              and
            not exists (select top 1 1 from dbo.WPINCOMECOMPENSATION where SOURCE = @SOURCE)
            )
            begin
            insert into WEALTHCAPACITYFORMULAINCOMECOMPENSATIONSOURCE(                
              WEALTHCAPACITYFORMULAID,
              [SOURCE],
              [ADDEDBYID],
              [CHANGEDBYID],
              [DATEADDED],
              [DATECHANGED]
            )
            select 
              ID,
              @SOURCE,
              @CHANGEAGENTID,
              @CHANGEAGENTID,
              @CURRENTDATE,
              @CURRENTDATE
              from WEALTHCAPACITYFORMULA;
                        end

                        update dbo.WPINCOMECOMPENSATION set
                            CHANGEDBYID = @CHANGEAGENTID,
                            DATECHANGED = @CURRENTDATE,
                            SOURCE = @SOURCE,
                            CNOTES = @CNOTES,
                            BB_FULLNAME = @BB_FULLNAME,
                            COMPANY = @COMPANY,
                            LONGTITLE = @LONGTITLE,
                            TICKER = @TICKER,
                            AGE = @AGE,
                            BIOGRAPHY = @BIOGRAPHY,
                            OFFICER_DIRECTORFLAG = coalesce(@OFFICER_DIRECTORFLAG,''),
                            OFFSTARTY = @OFFSTARTY,
                            DIRSTARTY = @DIRSTARTY,
                            LATESTCOMPENSATIONYEAR = @LATESTCOMPENSATIONYEAR,
                            LATESTFISCALYEARSALARY = @LATESTFISCALYEARSALARY,
                            LATESTFISCALYEARBONUS = @LATESTFISCALYEARBONUS,
                            LATESTFISCALYEAROTHERSHORTTERMCOMPENSATION = @LATESTFISCALYEAROTHERSHORTTERMCOMPENSATION,
                            VALUEOFOPTIONSEXERCISED = @VALUEOFOPTIONSEXERCISED,
                            VALUEOFOPTIONSUNEXERCISED_EXERCISABLE = @VALUEOFOPTIONSUNEXERCISED_EXERCISABLE,
                            VALUEOFOPTIONSUNEXERCISED_UNEXERCISABLE = @VALUEOFOPTIONSUNEXERCISED_UNEXERCISABLE,
                            LATESTFISCALYEAROTHERLONGTERMCOMPENSATION = @LATESTFISCALYEAROTHERLONGTERMCOMPENSATION,
              HISTORICCODE = case when HISTORICCODE = 2 then 0 else HISTORICCODE end
                        where
                            ID=@ID;

                        declare @WEALTHID uniqueidentifier;
                        select @WEALTHID=WEALTHID from dbo.WPINCOMECOMPENSATION where ID=@ID;

                        exec dbo.USP_WEALTHPOINT_UPDATEWEALTHSUMMARY_INCOMECOMPENSATION @WEALTHID, @CHANGEAGENTID;    
                        exec dbo.USP_WEALTHCAPACITY_UPDATE @WEALTHID, @CHANGEAGENTID;

                        return 0;

                    end;