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;