USP_ADDRESS_EDITSAVE
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@ADDRESSTYPECODEID | uniqueidentifier | IN | |
@PRIMARY | bit | IN | |
@DONOTMAIL | bit | IN | |
@STARTDATE | UDT_MONTHDAY | IN | |
@ENDDATE | UDT_MONTHDAY | IN | |
@COUNTRYID | uniqueidentifier | IN | |
@STATEID | uniqueidentifier | IN | |
@ADDRESSBLOCK | nvarchar(150) | IN | |
@CITY | nvarchar(50) | IN | |
@POSTCODE | nvarchar(12) | IN | |
@CART | nvarchar(10) | IN | |
@DPC | nvarchar(8) | IN | |
@LOT | nvarchar(5) | IN | |
@OMITFROMVALIDATION | bit | IN | |
@COUNTYCODEID | uniqueidentifier | IN | |
@CONGRESSIONALDISTRICTCODEID | uniqueidentifier | IN | |
@STATEHOUSEDISTRICTCODEID | uniqueidentifier | IN | |
@STATESENATEDISTRICTCODEID | uniqueidentifier | IN | |
@LOCALPRECINCTCODEID | uniqueidentifier | IN | |
@INFOSOURCECODEID | uniqueidentifier | IN | |
@REGIONCODEID | uniqueidentifier | IN | |
@LASTVALIDATIONATTEMPTDATE | datetime | IN | |
@VALIDATIONMESSAGE | nvarchar(200) | IN | |
@CERTIFICATIONDATA | int | IN | |
@UPDATECONTACTS | bit | IN | |
@DONOTMAILREASONCODEID | uniqueidentifier | IN | |
@UPDATEMATCHINGHOUSEHOLDADDRESSES | bit | IN | |
@HISTORICALSTARTDATE | date | IN | |
@HISTORICALENDDATE | date | IN | |
@INFOSOURCECOMMENTS | nvarchar(256) | IN | |
@ISCONFIDENTIAL | bit | IN | |
@CONSTITUENTDATAREVIEWROLLBACKREASONID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_ADDRESS_EDITSAVE
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@ADDRESSTYPECODEID uniqueidentifier,
@PRIMARY bit,
@DONOTMAIL bit,
@STARTDATE dbo.UDT_MONTHDAY,
@ENDDATE dbo.UDT_MONTHDAY,
@COUNTRYID uniqueidentifier,
@STATEID uniqueidentifier,
@ADDRESSBLOCK nvarchar(150),
@CITY nvarchar(50),
@POSTCODE nvarchar(12),
@CART nvarchar(10),
@DPC nvarchar(8),
@LOT nvarchar(5),
@OMITFROMVALIDATION bit,
@COUNTYCODEID uniqueidentifier,
@CONGRESSIONALDISTRICTCODEID uniqueidentifier,
@STATEHOUSEDISTRICTCODEID uniqueidentifier,
@STATESENATEDISTRICTCODEID uniqueidentifier,
@LOCALPRECINCTCODEID uniqueidentifier,
@INFOSOURCECODEID uniqueidentifier,
@REGIONCODEID uniqueidentifier,
@LASTVALIDATIONATTEMPTDATE datetime,
@VALIDATIONMESSAGE nvarchar(200),
@CERTIFICATIONDATA integer,
@UPDATECONTACTS bit,
@DONOTMAILREASONCODEID uniqueidentifier,
@UPDATEMATCHINGHOUSEHOLDADDRESSES bit,
@HISTORICALSTARTDATE date,
@HISTORICALENDDATE date,
@INFOSOURCECOMMENTS nvarchar(256),
@ISCONFIDENTIAL bit,
@CONSTITUENTDATAREVIEWROLLBACKREASONID uniqueidentifier -- used by constituent data review
)
as
set nocount on;
if @PRIMARY = 0 and (select count(*) from dbo.ADDRESS where CONSTITUENTID = (select CONSTITUENTID from ADDRESS as ADDSUB where ADDSUB.ID = @ID) and ISPRIMARY = 1) = 0
raiserror('ERR_ADDRESS_MUSTHAVEPRIMARY', 13, 1);
if @CERTIFICATIONDATA is null
set @CERTIFICATIONDATA = 0;
if @INFOSOURCECOMMENTS is null
set @INFOSOURCECOMMENTS = '';
if @HISTORICALSTARTDATE is not null
begin
if @HISTORICALSTARTDATE > GETDATE()
raiserror('Start date cannot be future dated.', 13, 1);
end
if @HISTORICALENDDATE is not null
begin
if @HISTORICALENDDATE > GETDATE()
raiserror('End date cannot be future dated.', 13, 1);
end
-- Clear county value if the country doesn't have a label for it.
if @COUNTRYID is not null
and not exists(
select 1
from dbo.COUNTRY C
inner join dbo.COUNTRYADDRESSLABEL CAL on CAL.COUNTRYID = C.ID
where C.ID = @COUNTRYID
and (coalesce(CAL.COUNTYLABEL,'') <> '')
)
begin
set @COUNTYCODEID = null;
end
if exists(select object_id from sys.objects where type = 'U' and name = 'GROUPMEMBER')
begin
begin try
if @UPDATEMATCHINGHOUSEHOLDADDRESSES = 1 begin
exec dbo.USP_ADDRESS_UPDATEMATCHINGADDRESSES @ADDRESSID = @ID,
@CHANGEAGENTID = @CHANGEAGENTID,
@ADDRESSTYPECODEID = @ADDRESSTYPECODEID,
@PRIMARY = @PRIMARY,
@DONOTMAIL = @DONOTMAIL,
@STARTDATE = @STARTDATE,
@ENDDATE = @ENDDATE,
@COUNTRYID = @COUNTRYID,
@STATEID = @STATEID,
@ADDRESSBLOCK = @ADDRESSBLOCK,
@CITY = @CITY,
@POSTCODE = @POSTCODE,
@CART = @CART,
@DPC = @DPC,
@LOT = @LOT,
@OMITFROMVALIDATION = @OMITFROMVALIDATION,
@COUNTYCODEID = @COUNTYCODEID,
@CONGRESSIONALDISTRICTCODEID = @CONGRESSIONALDISTRICTCODEID,
@STATEHOUSEDISTRICTCODEID = @STATEHOUSEDISTRICTCODEID,
@STATESENATEDISTRICTCODEID = @STATESENATEDISTRICTCODEID,
@LOCALPRECINCTCODEID = @LOCALPRECINCTCODEID,
@INFOSOURCECODEID = @INFOSOURCECODEID,
@REGIONCODEID = @REGIONCODEID,
@LASTVALIDATIONATTEMPTDATE = @LASTVALIDATIONATTEMPTDATE,
@VALIDATIONMESSAGE = @VALIDATIONMESSAGE,
@CERTIFICATIONDATA = @CERTIFICATIONDATA,
@DONOTMAILREASONCODEID = @DONOTMAILREASONCODEID,
@HISTORICALSTARTDATE = @HISTORICALSTARTDATE,
@HISTORICALENDDATE = @HISTORICALENDDATE,
@INFOSOURCECOMMENTS = @INFOSOURCECOMMENTS,
@ISCONFIDENTIAL = @ISCONFIDENTIAL
end
exec dbo.USP_ADDRESS_UPDATE @ID, @CHANGEAGENTID, @ADDRESSTYPECODEID, @PRIMARY, @DONOTMAIL, @STARTDATE, @ENDDATE,
@COUNTRYID, @STATEID, @ADDRESSBLOCK, @CITY, @POSTCODE, @CART, @DPC, @LOT, 0, -- Spouse addresses should be taken care of through the household address updates
@OMITFROMVALIDATION, @COUNTYCODEID, @CONGRESSIONALDISTRICTCODEID, @STATEHOUSEDISTRICTCODEID,
@STATESENATEDISTRICTCODEID, @LOCALPRECINCTCODEID, @INFOSOURCECODEID, @REGIONCODEID, @LASTVALIDATIONATTEMPTDATE,
@VALIDATIONMESSAGE, @CERTIFICATIONDATA, @UPDATECONTACTS, @DONOTMAILREASONCODEID, @HISTORICALSTARTDATE, @HISTORICALENDDATE,
@INFOSOURCECOMMENTS, @ISCONFIDENTIAL
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
end