USP_WPINCOMECOMPENSATION_SETHISTORICALS

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@SUCCESSFULLYLOADED bit IN

Definition

Copy


      create procedure dbo.USP_WPINCOMECOMPENSATION_SETHISTORICALS (
                @ID uniqueidentifier,
        @SUCCESSFULLYLOADED bit = true
            ) as begin
                set nocount on;

        declare @CHANGEAGENTID uniqueidentifier;
                exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

                declare @CURRENTDATE datetime;
                set @CURRENTDATE = getdate();

        declare @CONSTITUENTID uniqueidentifier;
        declare @RESEARCHGROUPID uniqueidentifier;
        declare @REQUESTEDDATASOURCES nvarchar(250);

        if @SUCCESSFULLYLOADED = 1
        begin
          select 
              @CONSTITUENTID = CONSTITUENTID, 
              @RESEARCHGROUPID = RESEARCHGROUPID,
            @REQUESTEDDATASOURCES = REQUESTEDDATASOURCES
          from 
              WPSEARCHHISTORY
          where 
              @ID = ID

          -- Individual search

          if @CONSTITUENTID is not null
          begin

            update
              IC
            set 
              HISTORICCODE = 1,
              CHANGEDBYID = @CHANGEAGENTID,
              DATECHANGED = @CURRENTDATE
            from
              dbo.WPINCOMECOMPENSATION IC
            left join
              dbo.WPINCOMECOMPENSATION_WPSEARCHHISTORY IC_SH on IC.ID = IC_SH.WPINCOMECOMPENSATIONID and IC_SH.WPSEARCHHISTORYID = @ID
            where 
              WEALTHID = @CONSTITUENTID and
              HISTORICSET = 0 and
              IC_SH.WPSEARCHHISTORYID is null;

          -- Group search

          end else if @RESEARCHGROUPID is not null
          begin
            if ISNULL(@REQUESTEDDATASOURCES, '') = '' or @REQUESTEDDATASOURCES LIKE '%THOMSONREUTERSINCOME%'
            begin

              update 
                IC
              set
                HISTORICCODE = 1,
                CHANGEDBYID = @CHANGEAGENTID,
                DATECHANGED = @CURRENTDATE
              from
                dbo.WPINCOMECOMPENSATION IC
              inner join
                  dbo.RESEARCHGROUPMEMBER on IC.WEALTHID = RESEARCHGROUPMEMBER.CONSTITUENTID
              left join
                dbo.WPINCOMECOMPENSATION_WPSEARCHHISTORY IC_SH on IC.ID = IC_SH.WPINCOMECOMPENSATIONID and IC_SH.WPSEARCHHISTORYID = @ID
              where 
                RESEARCHGROUPMEMBER.RESEARCHGROUPID = @RESEARCHGROUPID and
                IC.HISTORICSET = 0 and
                IC_SH.WPSEARCHHISTORYID is null;

            end
          end else
          -- Selection search

          begin
            update
              IC
            set 
              HISTORICCODE = 1,
              CHANGEDBYID = @CHANGEAGENTID,
              DATECHANGED = @CURRENTDATE
            from
               dbo.WPINCOMECOMPENSATION IC
            inner join
                dbo.WPSEARCHHISTORYSELECTEDCONSTITUENT on IC.WEALTHID = WPSEARCHHISTORYSELECTEDCONSTITUENT.CONSTITUENTID
            left join 
              dbo.WPINCOMECOMPENSATION_WPSEARCHHISTORY IC_SH on IC.ID = IC_SH.WPINCOMECOMPENSATIONID and IC_SH.WPSEARCHHISTORYID = @ID
            where 
              WPSEARCHHISTORYSELECTEDCONSTITUENT.WPSEARCHHISTORYID = @ID and
              IC.HISTORICSET = 0 and
              IC_SH.WPSEARCHHISTORYID is null;
          end
        end

        --All historical values have been set, so now lets clear out the WPSEARCHHISTORY table

        delete from dbo.WPINCOMECOMPENSATION_WPSEARCHHISTORY where WPSEARCHHISTORYID = @ID;

                return 0;
            end