USP_WPSECURITIES_ADD
Adds WealthPoint Securities information for a prospect.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@WEALTHID | uniqueidentifier | IN | |
@SOURCE | nvarchar(100) | IN | |
@VIID | 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 | |
@FULLNAME | nvarchar(60) | IN | |
@CUSIP | nvarchar(9) | IN | |
@FILERID | nvarchar(20) | IN | |
@RELATIONSHIP | nvarchar(50) | IN | |
@TICKER | nvarchar(8) | IN | |
@ISSUERNAME | nvarchar(60) | IN | |
@REPORTDATEDIRECT | datetime | IN | |
@REPORTDATEINDIRECT | datetime | IN | |
@AMOUNTOWNEDDIRECT | bigint | IN | |
@AMOUNTOWNEDINDIRECT | bigint | IN | |
@PRICEDIRECT | money | IN | |
@PRICEINDIRECT | money | IN | |
@VALUEDIRECT | money | IN | |
@VALUEINDIRECT | money | IN | |
@UPDATEDVALUEDIRECT | money | IN | |
@UPDATEDVALUEINDIRECT | money | IN | |
@UPDATEDDATE | datetime | IN | |
@UPDATEDPRICE | money | IN | |
@ACTIVE | bit | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN | |
@RECURSIVEMATCH | bit | IN | |
@SECURITYID | int | IN |
Definition
Copy
CREATE procedure dbo.USP_WPSECURITIES_ADD (
@ID uniqueidentifier = null output,
@CHANGEAGENTID uniqueidentifier = null,
@WEALTHID uniqueidentifier,
@SOURCE nvarchar(100),
@VIID 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) = '',
@FULLNAME nvarchar(60) = '',
@CUSIP nvarchar(9) = '',
@FILERID nvarchar(20) = '',
@RELATIONSHIP nvarchar(50) = '',
@TICKER nvarchar(8) = '',
@ISSUERNAME nvarchar(60) = '',
@REPORTDATEDIRECT datetime = null,
@REPORTDATEINDIRECT datetime = null,
@AMOUNTOWNEDDIRECT bigint = 0,
@AMOUNTOWNEDINDIRECT bigint = 0,
@PRICEDIRECT money = 0,
@PRICEINDIRECT money = 0,
@VALUEDIRECT money = 0,
@VALUEINDIRECT money = 0,
@UPDATEDVALUEDIRECT money = 0,
@UPDATEDVALUEINDIRECT money = 0,
@UPDATEDDATE datetime = null,
@UPDATEDPRICE money = 0,
@ACTIVE bit = 0,
@CURRENTAPPUSERID uniqueidentifier = null,
@RECURSIVEMATCH bit = 0,
@SECURITYID int = 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();
--Get any existing ID
select
@ID = ID
from
dbo.WPSECURITIES
where
WEALTHID=@WEALTHID and PARTIALHASH=@PARTIALHASH;
-- Record exists
if @ID is not null
begin
if not exists(select 1 from dbo.WPSECURITIES where WEALTHID=@WEALTHID and FULLHASH=@FULLHASH)
begin
--Record exists but needs to be updated
set @UPDATEDRECORD = 1
update
dbo.WPSECURITIES
set
MC = coalesce(nullif(@MC, ''), MC),
RECURSIVEMATCH = coalesce(nullif(@RECURSIVEMATCH, ''), RECURSIVEMATCH),
FULLNAME = coalesce(nullif(@FULLNAME, ''), FULLNAME),
CUSIP= coalesce(nullif(@CUSIP, ''), CUSIP),
RELATIONSHIP = coalesce(nullif(@RELATIONSHIP, ''), RELATIONSHIP),
TICKER = coalesce(nullif(@TICKER, ''), TICKER),
ISSUERNAME = coalesce(nullif(@ISSUERNAME, ''), ISSUERNAME),
REPORTDATEDIRECT = coalesce(@REPORTDATEDIRECT, REPORTDATEDIRECT),
REPORTDATEINDIRECT = coalesce(@REPORTDATEINDIRECT, REPORTDATEINDIRECT),
AMOUNTOWNEDDIRECT = coalesce(nullif(@AMOUNTOWNEDDIRECT, 0), AMOUNTOWNEDDIRECT),
AMOUNTOWNEDINDIRECT = coalesce(nullif(@AMOUNTOWNEDINDIRECT, 0), AMOUNTOWNEDINDIRECT),
PRICEDIRECT = coalesce(nullif(@PRICEDIRECT, 0), PRICEDIRECT),
PRICEINDIRECT = coalesce(nullif(@PRICEINDIRECT, 0), PRICEINDIRECT),
VALUEDIRECT = coalesce(nullif(@VALUEDIRECT, 0), VALUEDIRECT),
VALUEINDIRECT = coalesce(nullif(@VALUEINDIRECT, 0), VALUEINDIRECT),
UPDATEDVALUEDIRECT = coalesce(nullif(@UPDATEDVALUEDIRECT, 0), UPDATEDVALUEDIRECT),
UPDATEDVALUEINDIRECT = coalesce(nullif(@UPDATEDVALUEINDIRECT, 0), UPDATEDVALUEINDIRECT),
UPDATEDDATE = coalesce(@UPDATEDDATE, UPDATEDDATE),
UPDATEDPRICE = coalesce(nullif(@UPDATEDPRICE, 0), UPDATEDPRICE),
ACTIVE = coalesce(nullif(@ACTIVE, 0), ACTIVE),
FULLHASH = @FULLHASH,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where
WEALTHID=@WEALTHID and PARTIALHASH=@PARTIALHASH;
end
end
else
begin
--Record is new and needs to be Added
set @NEWRECORD = 1
if @ID is null
set @ID = newid();
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
insert into dbo.WPSECURITIES (
ID,
WEALTHID,
VIID,
SECURITYID,
SOURCE,
REVISION,
ORIGINALID,
NEWROW,
CDATE,
CVALUE,
CNOTES,
FULLHASH,
PARTIALHASH,
MC,
FULLNAME,
CUSIP,
FILERID,
RELATIONSHIP,
TICKER,
ISSUERNAME,
REPORTDATEDIRECT,
REPORTDATEINDIRECT,
AMOUNTOWNEDDIRECT,
AMOUNTOWNEDINDIRECT,
PRICEDIRECT,
PRICEINDIRECT,
VALUEDIRECT,
VALUEINDIRECT,
UPDATEDVALUEDIRECT,
UPDATEDVALUEINDIRECT,
UPDATEDDATE,
UPDATEDPRICE,
ACTIVE,
CHANGEDBYID,
ADDEDBYID,
DATEADDED,
DATECHANGED,
CONFIRMED,
CONFIRMEDBYAPPUSERID,
DATECONFIRMED,
REJECTED,
REJECTEDBYAPPUSERID,
DATEREJECTED,
RECURSIVEMATCH
) values (
@ID,
@WEALTHID,
@VIID,
@SECURITYID,
coalesce(@SOURCE, ''),
coalesce(@REVISION, 0),
coalesce(@ORIGINALID, 0),
coalesce(@NEWROW, 0),
@CDATE,
coalesce(@CVALUE, 0),
coalesce(@CNOTES, ''),
coalesce(@FULLHASH, ''),
coalesce(@PARTIALHASH, ''),
coalesce(@MC, ''),
coalesce(@FULLNAME, ''),
coalesce(@CUSIP, ''),
coalesce(@FILERID, ''),
coalesce(@RELATIONSHIP, ''),
coalesce(@TICKER, ''),
coalesce(@ISSUERNAME, ''),
@REPORTDATEDIRECT,
@REPORTDATEINDIRECT,
coalesce(@AMOUNTOWNEDDIRECT, 0),
coalesce(@AMOUNTOWNEDINDIRECT, 0),
coalesce(@PRICEDIRECT, 0),
coalesce(@PRICEINDIRECT, 0),
coalesce(@VALUEDIRECT, 0),
coalesce(@VALUEINDIRECT, 0),
coalesce(@UPDATEDVALUEDIRECT, 0),
coalesce(@UPDATEDVALUEINDIRECT, 0),
@UPDATEDDATE,
coalesce(@UPDATEDPRICE, 0),
coalesce(@ACTIVE, 0),
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE,
@CONFIRMED,
@CONFIRMEDBYAPPUSERID,
@DATECONFIRMED,
@REJECTED,
@REJECTEDBYAPPUSERID,
@DATEREJECTED,
@RECURSIVEMATCH
);
end
if @NEWRECORD = 1 or @UPDATEDRECORD = 1
begin
--Log record into the history table
insert into dbo.WPSECURITIESHISTORY (
WPSECURITIESID,
SOURCE,
FULLHASH,
PARTIALHASH,
FULLNAME,
CUSIP,
FILERID,
RELATIONSHIP,
TICKER,
ISSUERNAME,
REPORTDATEDIRECT,
REPORTDATEINDIRECT,
AMOUNTOWNEDDIRECT,
AMOUNTOWNEDINDIRECT,
CHANGEDBYID,
ADDEDBYID,
DATEADDED,
DATECHANGED
) values (
@ID,
coalesce(@SOURCE, ''),
coalesce(@FULLHASH, ''),
coalesce(@PARTIALHASH, ''),
coalesce(@FULLNAME, ''),
coalesce(@CUSIP, ''),
coalesce(@FILERID, ''),
coalesce(@RELATIONSHIP, ''),
coalesce(@TICKER, ''),
coalesce(@ISSUERNAME, ''),
@REPORTDATEDIRECT,
@REPORTDATEINDIRECT,
coalesce(@AMOUNTOWNEDDIRECT, 0),
coalesce(@AMOUNTOWNEDINDIRECT, 0),
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end
end try
begin catch
exec dbo.USP_RAISE_ERROR;
end catch
return 0;
end