USP_DATAFORMTEMPLATE_EDIT_REVENUEBATCHDUPLICATEMATCH_3

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@LOOKUPID nvarchar(50) IN
@FIRSTNAME nvarchar(50) IN
@MIDDLENAME nvarchar(50) IN
@LASTNAME nvarchar(100) IN
@SUFFIXCODEID uniqueidentifier IN
@TITLECODEID uniqueidentifier IN
@MAIDENNAME nvarchar(100) IN
@NICKNAME nvarchar(50) IN
@GENDERCODE tinyint IN
@BIRTHDATE UDT_FUZZYDATE IN
@ADDRESSID uniqueidentifier IN
@ADDRESSTYPECODEID uniqueidentifier IN
@ADDRESS_ADDRESSBLOCK nvarchar(150) IN
@ADDRESS_CITY nvarchar(50) IN
@ADDRESS_STATEID uniqueidentifier IN
@ADDRESS_POSTCODE nvarchar(12) IN
@ADDRESS_COUNTRYID uniqueidentifier IN
@PHONEID uniqueidentifier IN
@PHONETYPECODEID uniqueidentifier IN
@PHONENUMBER nvarchar(100) IN
@EMAILID uniqueidentifier IN
@EMAILADDRESSTYPECODEID uniqueidentifier IN
@EMAILADDRESS UDT_EMAILADDRESS IN
@CREATEDON datetime IN
@DATECHANGED datetime IN
@ADDRESSES xml IN
@PHONES xml IN
@EMAILADDRESSES xml IN
@CONSTITUENTACTION tinyint IN
@ADDRESSACTION tinyint IN
@EMAILACTION tinyint IN
@PHONEACTION tinyint IN
@PRIMARYRECORDID uniqueidentifier IN
@ERBCONSTITUENTID uniqueidentifier IN
@EMAILISPRIMARY bit IN
@PHONEISPRIMARY bit IN
@ADDRESSISPRIMARY bit IN
@CURRENTAPPUSERID uniqueidentifier IN
@DECEASED bit IN
@DECEASEDDATE UDT_FUZZYDATE IN
@GIVESANONYMOUSLY bit IN
@MARITALSTATUSCODEID uniqueidentifier IN
@WEBADDRESS UDT_WEBADDRESS IN
@ADDRESSHISTORICALSTARTDATE date IN
@ADDRESSHISTORICALENDDATE date IN
@ADDRESSDONOTMAIL bit IN
@ADDRESSDONOTMAILREASONCODEID uniqueidentifier IN
@ADDRESSSTARTDATE UDT_MONTHDAY IN
@ADDRESSENDDATE UDT_MONTHDAY IN
@ADDRESSDPC nvarchar(max) IN
@ADDRESSCART nvarchar(max) IN
@ADDRESSLOT nvarchar(5) IN
@ADDRESSINFOSOURCECODEID uniqueidentifier IN
@ADDRESSINFOSOURCECOMMENTS nvarchar(256) IN
@ADDRESSCOUNTYCODEID uniqueidentifier IN
@ADDRESSREGIONCODEID uniqueidentifier IN
@ADDRESSCONGRESSIONALDISTRICTCODEID uniqueidentifier IN
@ADDRESSSTATEHOUSEDISTRICTCODEID uniqueidentifier IN
@ADDRESSSTATESENATEDISTRICTCODEID uniqueidentifier IN
@ADDRESSLOCALPRECINCTCODEID uniqueidentifier IN
@ADDRESSCERTIFICATIONDATA int IN
@ADDRESSLASTVALIDATIONATTEMPTDATE date IN
@ADDRESSOMITFROMVALIDATION bit IN
@ADDRESSVALIDATIONMESSAGE nvarchar(200) IN
@PHONEDONOTCALL bit IN
@PHONESTARTTIME UDT_HOURMINUTE IN
@PHONEENDTIME UDT_HOURMINUTE IN
@PHONEINFOSOURCECODEID uniqueidentifier IN
@PHONECOUNTRYID uniqueidentifier IN
@PHONESTARTDATE date IN
@PHONEENDDATE date IN
@PHONESEASONALSTARTDATE UDT_MONTHDAY IN
@PHONESEASONALENDDATE UDT_MONTHDAY IN
@EMAILADDRESSDONOTEMAIL bit IN
@EMAILADDRESSINFOSOURCECODEID uniqueidentifier IN
@EMAILADDRESSSTARTDATE date IN
@EMAILADDRESSENDDATE date IN
@GENDERCODEID uniqueidentifier IN

Definition

Copy

create procedure dbo.USP_DATAFORMTEMPLATE_EDIT_REVENUEBATCHDUPLICATEMATCH_3(
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null,
    @LOOKUPID nvarchar(50),
    @FIRSTNAME nvarchar(50),
    @MIDDLENAME nvarchar(50),
    @LASTNAME nvarchar(100),
    @SUFFIXCODEID uniqueidentifier,
    @TITLECODEID uniqueidentifier,
    @MAIDENNAME nvarchar(100),
    @NICKNAME nvarchar(50),
    @GENDERCODE tinyint,
    @BIRTHDATE dbo.UDT_FUZZYDATE,
    @ADDRESSID uniqueidentifier,
    @ADDRESSTYPECODEID uniqueidentifier,
    @ADDRESS_ADDRESSBLOCK nvarchar(150),
    @ADDRESS_CITY nvarchar(50),
    @ADDRESS_STATEID uniqueidentifier,
    @ADDRESS_POSTCODE nvarchar(12),
    @ADDRESS_COUNTRYID uniqueidentifier,
    @PHONEID uniqueidentifier,
    @PHONETYPECODEID uniqueidentifier,
    @PHONENUMBER nvarchar(100),
    @EMAILID uniqueidentifier,
    @EMAILADDRESSTYPECODEID uniqueidentifier,
    @EMAILADDRESS dbo.UDT_EMAILADDRESS,
    @CREATEDON datetime,
    @DATECHANGED datetime,
    @ADDRESSES xml,
    @PHONES xml,
    @EMAILADDRESSES xml,
    @CONSTITUENTACTION tinyint,
    @ADDRESSACTION tinyint,
    @EMAILACTION tinyint,
    @PHONEACTION tinyint,
    @PRIMARYRECORDID uniqueidentifier,
  @ERBCONSTITUENTID uniqueidentifier,
    @EMAILISPRIMARY bit,
    @PHONEISPRIMARY bit,
    @ADDRESSISPRIMARY bit,
  @CURRENTAPPUSERID uniqueidentifier,
  @DECEASED bit,
  @DECEASEDDATE dbo.UDT_FUZZYDATE,
  @GIVESANONYMOUSLY bit,
  @MARITALSTATUSCODEID uniqueidentifier,
  @WEBADDRESS dbo.UDT_WEBADDRESS,
  @ADDRESSHISTORICALSTARTDATE date,
  @ADDRESSHISTORICALENDDATE date,
  @ADDRESSDONOTMAIL bit,
  @ADDRESSDONOTMAILREASONCODEID uniqueidentifier,
  @ADDRESSSTARTDATE dbo.UDT_MONTHDAY,
  @ADDRESSENDDATE dbo.UDT_MONTHDAY,
  @ADDRESSDPC nvarchar(max),
  @ADDRESSCART nvarchar(max),
  @ADDRESSLOT nvarchar(5),
  @ADDRESSINFOSOURCECODEID uniqueidentifier,
  @ADDRESSINFOSOURCECOMMENTS nvarchar(256),
  @ADDRESSCOUNTYCODEID uniqueidentifier,
  @ADDRESSREGIONCODEID uniqueidentifier,
  @ADDRESSCONGRESSIONALDISTRICTCODEID uniqueidentifier,
  @ADDRESSSTATEHOUSEDISTRICTCODEID uniqueidentifier,
  @ADDRESSSTATESENATEDISTRICTCODEID uniqueidentifier,
  @ADDRESSLOCALPRECINCTCODEID uniqueidentifier,
  @ADDRESSCERTIFICATIONDATA int,
  @ADDRESSLASTVALIDATIONATTEMPTDATE date,
  @ADDRESSOMITFROMVALIDATION bit,
  @ADDRESSVALIDATIONMESSAGE nvarchar(200),
  @PHONEDONOTCALL bit,
  @PHONESTARTTIME dbo.UDT_HOURMINUTE,
    @PHONEENDTIME dbo.UDT_HOURMINUTE,
    @PHONEINFOSOURCECODEID uniqueidentifier,
    @PHONECOUNTRYID uniqueidentifier,
    @PHONESTARTDATE date,
    @PHONEENDDATE date,
  @PHONESEASONALSTARTDATE dbo.UDT_MONTHDAY,
    @PHONESEASONALENDDATE dbo.UDT_MONTHDAY,
  @EMAILADDRESSDONOTEMAIL bit,
  @EMAILADDRESSINFOSOURCECODEID uniqueidentifier,
  @EMAILADDRESSSTARTDATE date,
    @EMAILADDRESSENDDATE date,
    @GENDERCODEID uniqueidentifier
)
as
     set nocount on;

    declare @CURRENTDATE datetime;    
    declare @INCOMINGADDRESSID uniqueidentifier, @INCOMINGEMAILID uniqueidentifier, @INCOMINGPHONEID uniqueidentifier;

    set @CURRENTDATE = getdate();

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

      begin try
      -- first load the new constituent's data and save the matched constituent to the CUB tables
      exec dbo.USP_REVENUEBATCH_DUPLICATEMATCH_EDITSAVE_CONSTITUENT @ID, @ERBCONSTITUENTID, @PRIMARYRECORDID, @CURRENTAPPUSERID;

      select @INCOMINGADDRESSID = (select ID from dbo.BATCHCONSTITUENTUPDATEADDRESSES where BATCHCONSTITUENTUPDATEID = @ID), 
            @INCOMINGEMAILID = (select ID from dbo.BATCHCONSTITUENTUPDATEEMAILADDRESSES where BATCHCONSTITUENTUPDATEID = @ID), 
            @INCOMINGPHONEID = (select ID from dbo.BATCHCONSTITUENTUPDATEPHONES where BATCHCONSTITUENTUPDATEID = @ID);          

      -- make the CUB updates based on the changes the user made on the reconciliation screen
      exec dbo.USP_DATAFORMTEMPLATE_EDIT_CONSTITUENTUPDATEBATCHDUPLICATEMATCH_7
            @ID,
            @CHANGEAGENTID,
            @LOOKUPID,
            @FIRSTNAME,
            @MIDDLENAME,
            @LASTNAME,
            @SUFFIXCODEID,
            @TITLECODEID,
            @MAIDENNAME,
            @NICKNAME,
            @GENDERCODE,
            @BIRTHDATE,
            @ADDRESSID,
            @ADDRESSTYPECODEID,
            @ADDRESS_ADDRESSBLOCK,
            @ADDRESS_CITY,
            @ADDRESS_STATEID,
            @ADDRESS_POSTCODE,
            @ADDRESS_COUNTRYID,
            @PHONEID,
            @PHONETYPECODEID,
            @PHONENUMBER,
            @EMAILID,
            @EMAILADDRESSTYPECODEID,
            @EMAILADDRESS,
            @CREATEDON,
            @DATECHANGED,
            @ADDRESSES,
            @PHONES,
            @EMAILADDRESSES,
            @CONSTITUENTACTION,
            @ADDRESSACTION,
            @EMAILACTION,
            @PHONEACTION,
            @PRIMARYRECORDID,
            @EMAILISPRIMARY,
            @PHONEISPRIMARY,
            @ADDRESSISPRIMARY,
          @INCOMINGADDRESSID,
          @INCOMINGEMAILID,
          @INCOMINGPHONEID,
          0,
          0,
          0,
          0,
          0,
          0,
          0,
          @DECEASED,
          @DECEASEDDATE,
          @GIVESANONYMOUSLY,
          @MARITALSTATUSCODEID,
          @WEBADDRESS,
          @ADDRESSHISTORICALSTARTDATE,
          @ADDRESSHISTORICALENDDATE,
          @ADDRESSDONOTMAIL,
          @ADDRESSDONOTMAILREASONCODEID,
          @ADDRESSSTARTDATE,
          @ADDRESSENDDATE,
          @ADDRESSDPC,
          @ADDRESSCART,
          @ADDRESSLOT,
          @ADDRESSINFOSOURCECODEID,
          @ADDRESSINFOSOURCECOMMENTS,
          @ADDRESSCOUNTYCODEID,
          @ADDRESSREGIONCODEID,
          @ADDRESSCONGRESSIONALDISTRICTCODEID,
          @ADDRESSSTATEHOUSEDISTRICTCODEID,
          @ADDRESSSTATESENATEDISTRICTCODEID,
          @ADDRESSLOCALPRECINCTCODEID,
          @ADDRESSCERTIFICATIONDATA,
          @ADDRESSLASTVALIDATIONATTEMPTDATE,
          @ADDRESSOMITFROMVALIDATION,
          @ADDRESSVALIDATIONMESSAGE,
          @PHONEDONOTCALL,
              @PHONESTARTTIME,
              @PHONEENDTIME,
              @PHONEINFOSOURCECODEID,
              @PHONECOUNTRYID,
              @PHONESTARTDATE,
              @PHONEENDDATE,
              @PHONESEASONALSTARTDATE,
              @PHONESEASONALENDDATE,
              @EMAILADDRESSDONOTEMAIL,
              @EMAILADDRESSINFOSOURCECODEID,
              @EMAILADDRESSSTARTDATE,
              @EMAILADDRESSENDDATE,
                    null,
                    null,
                    null,
                    null,
                    @GENDERCODEID;

            update dbo.BATCHREVENUERECOGNITION set
                CONSTITUENTID = @PRIMARYRECORDID,
                CHANGEDBYID = @CHANGEAGENTID,
                DATECHANGED = @CURRENTDATE
            where
                BATCHREVENUEID = @ID and
                CONSTITUENTID = @ERBCONSTITUENTID;

            update dbo.BATCHREVENUEAPPLICATIONPLEDGE set
                CONSTITUENTID = @PRIMARYRECORDID,
                CHANGEDBYID = @CHANGEAGENTID,
                DATECHANGED = @CURRENTDATE
            from dbo.BATCHREVENUEAPPLICATIONPLEDGE
            inner join dbo.BATCHREVENUEAPPLICATION on BATCHREVENUEAPPLICATIONPLEDGE.ID = BATCHREVENUEAPPLICATION.BATCHREVENUEAPPLICATIONPLEDGEID
            where
                BATCHREVENUEAPPLICATION.BATCHREVENUEID = @ID and
                BATCHREVENUEAPPLICATIONPLEDGE.CONSTITUENTID = @ERBCONSTITUENTID;

      update dbo.BATCHREVENUE set
        CONSTITUENTID = @PRIMARYRECORDID,
                GIVENANONYMOUSLY = 
          case
            when
              (@GIVESANONYMOUSLY = 1 or BATCHREVENUE.GIVENANONYMOUSLY = 1) then
                1
            else
              @GIVESANONYMOUSLY
          end,
                CHANGEDBYID = @CHANGEAGENTID,
                DATECHANGED = @CURRENTDATE
            where ID = @ID;    

      --update the constituent accounts
      exec dbo.USP_REVENUEBATCH_GENERATECONSTITUENTACCOUNTS
              @ERBCONSTITUENTID
              @PRIMARYRECORDID
              @CHANGEAGENTID

    -- remove the exception row when the duplicate is resolved
    delete from dbo.BATCHREVENUEBATCHSYSTEMMESSAGES where BATCHREVENUEID = @ID and MESSAGETYPECODE = 1;    

      end try
      begin catch
          exec dbo.USP_RAISE_ERROR
          return 1
      end catch

return 0;