USP_WEALTHPOINT_UPDATEWEALTHSOURCEREFRESHDATE

Update wealth source refresh dates with those associated data refresh if they are more recent.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy


            CREATE procedure dbo.USP_WEALTHPOINT_UPDATEWEALTHSOURCEREFRESHDATE(
                @ID uniqueidentifier = null output,
                @CHANGEAGENTID uniqueidentifier = null
            ) as begin
                set nocount on;

                declare @CURRENTDATE datetime;

                set @CURRENTDATE = getdate();

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

                declare @SECURITIES_REFRESHDATE datetime
                declare @NPA_REFRESHDATE datetime
                declare @PF_REFRESHDATE datetime
                declare @BO_REFRESHDATE datetime
                declare @BIO_REFRESHDATE datetime

                select
                    @SECURITIES_REFRESHDATE = SECURITIES_REFRESHDATE,
                    @NPA_REFRESHDATE = NPA_REFRESHDATE,
                    @PF_REFRESHDATE = PF_REFRESHDATE,
                    @BO_REFRESHDATE = BO_REFRESHDATE,
                    @BIO_REFRESHDATE = BIO_REFRESHDATE
                from
                    dbo.WPSEARCHHISTORY
                where
                    ID = @ID

                if exists(select 1 from dbo.WEALTHSOURCEREFRESHDATE)
                    update dbo.WEALTHSOURCEREFRESHDATE set
                        SECURITIES_DATE = (select case 
                                            when SECURITIES_DATE is null or @SECURITIES_REFRESHDATE > SECURITIES_DATE then @SECURITIES_REFRESHDATE
                                            else SECURITIES_DATE end),
                        NPA_DATE = (select case
                                        when NPA_DATE is null or @NPA_REFRESHDATE > NPA_DATE then @NPA_REFRESHDATE
                                        else NPA_DATE end),
                        PF_DATE = (select case
                                    when PF_DATE is null or @PF_REFRESHDATE > PF_DATE then @PF_REFRESHDATE
                                    else PF_DATE end),
                        BO_DATE = (select case
                                    when BO_DATE is null or @BO_REFRESHDATE > BO_DATE then @BO_REFRESHDATE
                                    else BO_DATE end),
                        BIO_DATE = (select case
                                    when BIO_DATE is null or @BIO_REFRESHDATE > BIO_DATE then @BIO_REFRESHDATE
                                    else BIO_DATE end),
                        CHANGEDBYID = @CHANGEAGENTID,
                        DATECHANGED = @CURRENTDATE
                    where
                        (@SECURITIES_REFRESHDATE is not null and (SECURITIES_DATE is null or @SECURITIES_REFRESHDATE > SECURITIES_DATE)) or
                        (@NPA_REFRESHDATE is not null and (NPA_DATE is null or @NPA_REFRESHDATE > NPA_DATE)) or
                        (@PF_REFRESHDATE is not null and (PF_DATE is null or @PF_REFRESHDATE > PF_DATE)) or
                        (@BO_REFRESHDATE is not null and (BO_DATE is null or @PF_REFRESHDATE > BO_DATE)) or
                        (@BIO_REFRESHDATE is not null and (BIO_DATE is null or @PF_REFRESHDATE > BIO_DATE))
                else
                    insert into dbo.WEALTHSOURCEREFRESHDATE(
                        SECURITIES_DATE,
                        NPA_DATE,
                        PF_DATE,
                        BO_DATE,
                        BIO_DATE,
                        ADDEDBYID,
                        CHANGEDBYID,
                        DATEADDED,
                        DATECHANGED
                    )values(
                        @SECURITIES_REFRESHDATE,
                        @NPA_REFRESHDATE,
                        @PF_REFRESHDATE,
                        @BO_REFRESHDATE,
                        @BIO_REFRESHDATE,
                        @CHANGEAGENTID,
                        @CHANGEAGENTID,
                        @CURRENTDATE,
                        @CURRENTDATE
                    )

                return 0;
            end