USP_DATAFORMTEMPLATE_ADDSAVE_WPSECURITIES

The save procedure used by the add dataform template "WealthPoint Securities Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@WEALTHID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@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
@FULLNAME nvarchar(60) IN Full name
@CUSIP nvarchar(9) IN Cusip
@FILERID nvarchar(20) IN Filer ID
@RELATIONSHIP nvarchar(50) IN Relationship
@TICKER nvarchar(8) IN Ticker
@ISSUERNAME nvarchar(60) IN Issuer name
@REPORTDATEDIRECT datetime IN Report direct date
@REPORTDATEINDIRECT datetime IN Report indirect date
@AMOUNTOWNEDDIRECT bigint IN Report direct
@AMOUNTOWNEDINDIRECT bigint IN Report indirect
@PRICEDIRECT money IN Price direct
@PRICEINDIRECT money IN Price indirect
@VALUEDIRECT money IN Value direct
@VALUEINDIRECT money IN Value indirect
@ACTIVE bit IN Active
@WPSECURITIESTRANSACTIONS xml IN

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADDSAVE_WPSECURITIES (
                        @ID uniqueidentifier = null output,
                        @WEALTHID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @SOURCE nvarchar(100),
                        @CNOTES nvarchar(1024) = '',
                        @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,
                        @ACTIVE bit = 1,
                        @WPSECURITIESTRANSACTIONS xml = null
                    ) as begin

                        set nocount on;

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

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

                        if @AMOUNTOWNEDDIRECT is null
                            set @AMOUNTOWNEDDIRECT = 0;

                        if @AMOUNTOWNEDINDIRECT is null
                            set @AMOUNTOWNEDINDIRECT = 0;

                        exec dbo.USP_WEALTH_CREATE @WEALTHID, @CHANGEAGENTID;

                        insert into dbo.WPSECURITIES (
                            ID,
                            WEALTHID,
                            CHANGEDBYID,
                            ADDEDBYID,
                            SOURCE,
                            CNOTES,
                            FULLNAME,
                            CUSIP,
                            FILERID,
                            RELATIONSHIP,
                            TICKER,
                            ISSUERNAME,
                            REPORTDATEDIRECT,
                            REPORTDATEINDIRECT,
                            AMOUNTOWNEDDIRECT,
                            AMOUNTOWNEDINDIRECT,
                            PRICEDIRECT,
                            PRICEINDIRECT,
                            VALUEDIRECT,
                            VALUEINDIRECT,
                            ACTIVE
                        ) values (
                            @ID,
                            @WEALTHID,
                            @CHANGEAGENTID,
                            @CHANGEAGENTID,
                            @SOURCE,
                            @CNOTES,
                            @FULLNAME,
                            @CUSIP,
                            @FILERID,
                            @RELATIONSHIP,
                            @TICKER,
                            @ISSUERNAME,
                            @REPORTDATEDIRECT,
                            @REPORTDATEINDIRECT,
                            @AMOUNTOWNEDDIRECT,
                            @AMOUNTOWNEDINDIRECT,
                            @PRICEDIRECT,
                            @PRICEINDIRECT,
                            @VALUEDIRECT,
                            @VALUEINDIRECT,
                            @ACTIVE
                        )                        
                            if    (select
                                count(WEALTHSOURCE.SOURCE)
                            from
                                dbo.WEALTHSOURCE
                            where
                                WEALTHSOURCE.SOURCE = @SOURCE
                            ) = 0
                            begin
                                insert into dbo.WEALTHSOURCE (
                                    [SOURCE],
                                    [ISBUILTIN],
                                    [ADDEDBYID],
                                    [CHANGEDBYID]
                                )values(
                                    @SOURCE,
                                    0,
                                    @CHANGEAGENTID,
                                    @CHANGEAGENTID
                                );
                            end

                        exec dbo.USP_WPSECURITIES_TRANSACTIONS_ADDFROMXML @ID, @WPSECURITIESTRANSACTIONS, @CHANGEAGENTID;

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

                        return 0;
                    end