USP_DATAFORMTEMPLATE_EDITLOAD_CONSTITUENTDATAREVIEW_ADDRESS
The load procedure used by the edit dataform template "Constituent Data Review Address Edit Data Form"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter used to load the fields defined on the form. |
@DATALOADED | bit | INOUT | Output parameter indicating whether or not data was actually loaded. |
@ADDRESSTYPECODEID | uniqueidentifier | INOUT | Type |
@PRIMARY | bit | INOUT | Set as primary address |
@DONOTMAIL | bit | INOUT | Do not send mail to this address |
@STARTDATE | UDT_MONTHDAY | INOUT | Start date |
@ENDDATE | UDT_MONTHDAY | INOUT | End date |
@COUNTRYID | uniqueidentifier | INOUT | Country |
@STATEID | uniqueidentifier | INOUT | State |
@ADDRESSBLOCK | nvarchar(150) | INOUT | Address |
@CITY | nvarchar(50) | INOUT | City |
@POSTCODE | nvarchar(12) | INOUT | ZIP |
@CART | nvarchar(10) | INOUT | CART |
@DPC | nvarchar(8) | INOUT | DPC |
@LOT | nvarchar(5) | INOUT | LOT |
@OMITFROMVALIDATION | bit | INOUT | Omit this address from validation |
@COUNTYCODEID | uniqueidentifier | INOUT | County |
@CONGRESSIONALDISTRICTCODEID | uniqueidentifier | INOUT | Congressional district |
@STATEHOUSEDISTRICTCODEID | uniqueidentifier | INOUT | State house district |
@STATESENATEDISTRICTCODEID | uniqueidentifier | INOUT | State senate district |
@LOCALPRECINCTCODEID | uniqueidentifier | INOUT | Local precinct |
@INFOSOURCECODEID | uniqueidentifier | INOUT | Information source |
@REGIONCODEID | uniqueidentifier | INOUT | Region |
@LASTVALIDATIONATTEMPTDATE | datetime | INOUT | Last attempt |
@VALIDATIONMESSAGE | nvarchar(200) | INOUT | Validation message |
@CERTIFICATIONDATA | int | INOUT | |
@NCOALASTSUBMITDATE | datetime | INOUT | Last submit date |
@NCOARETURN | nvarchar(150) | INOUT | Return code |
@NCOAFOOTNOTE | nvarchar(150) | INOUT | Footnote |
@NCOADPVFOOTNOTE | nvarchar(150) | INOUT | DPV footnote |
@NCOAMOVEDATE | UDT_FUZZYDATE | INOUT | Move date |
@NCOADMASUPPRESSION | bit | INOUT | DMA suppression |
@NCOAMAILGRADE | nvarchar(150) | INOUT | Mail grade |
@TSLONG | bigint | INOUT | Output parameter indicating the TSLONG value of the record being edited. This is used to manage multi-user concurrency issues when multiple users access the same record. |
@VALIDATIONCOUNTRIES | xml | INOUT | |
@ZIPLOOKUPCOUNTRIES | xml | INOUT | |
@UPDATECONTACTS | bit | INOUT | Update contacts that use this address |
@HASCONTACTS | bit | INOUT | Has contacts |
@DONOTMAILREASONCODEID | uniqueidentifier | INOUT | Reason |
@ISHOUSEHOLD | bit | INOUT | |
@ISHOUSEHOLDMEMBER | bit | INOUT | |
@UPDATEMATCHINGHOUSEHOLDADDRESSES | bit | INOUT | Update matching addresses in household |
@MATCHINGHOUSEHOLDMEMBERS | xml | INOUT | Household members |
@HISTORICALSTARTDATE | date | INOUT | Start date |
@HISTORICALENDDATE | date | INOUT | End date |
@DATEADDED | date | INOUT | Date added |
@INFOSOURCECOMMENTS | nvarchar(256) | INOUT | Comments |
@ISCONFIDENTIAL | bit | INOUT | This address is confidential |
@CONSTITUENTDATAREVIEWROLLBACKREASONID | uniqueidentifier | INOUT | Reason |
@FORCEDPRIMARY | bit | INOUT | |
@CANEDITPRIMARY | bit | INOUT | |
@INVALIDFIELDS | nvarchar(256) | INOUT | |
@ORIGINCODE | tinyint | INOUT | Origin |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_CONSTITUENTDATAREVIEW_ADDRESS (
@ID uniqueidentifier, -- this is ADDRESSAUDIT.ID
@DATALOADED bit = 0 output,
@ADDRESSTYPECODEID uniqueidentifier = null output,
@PRIMARY bit = null output,
@DONOTMAIL bit = null output,
@STARTDATE dbo.UDT_MONTHDAY = null output,
@ENDDATE dbo.UDT_MONTHDAY = null output,
@COUNTRYID uniqueidentifier = null output,
@STATEID uniqueidentifier = null output,
@ADDRESSBLOCK nvarchar(150) = null output,
@CITY nvarchar(50) = null output,
@POSTCODE nvarchar(12) = null output,
@CART nvarchar(10) = null output,
@DPC nvarchar(8) = null output,
@LOT nvarchar(5) = null output,
@OMITFROMVALIDATION bit = null output,
@COUNTYCODEID uniqueidentifier = null output,
@CONGRESSIONALDISTRICTCODEID uniqueidentifier = null output,
@STATEHOUSEDISTRICTCODEID uniqueidentifier = null output,
@STATESENATEDISTRICTCODEID uniqueidentifier = null output,
@LOCALPRECINCTCODEID uniqueidentifier = null output,
@INFOSOURCECODEID uniqueidentifier = null output,
@REGIONCODEID uniqueidentifier = null output,
@LASTVALIDATIONATTEMPTDATE datetime = null output,
@VALIDATIONMESSAGE nvarchar(200) = null output,
@CERTIFICATIONDATA integer = null output,
@NCOALASTSUBMITDATE datetime = null output,
@NCOARETURN nvarchar(150) = null output,
@NCOAFOOTNOTE nvarchar(150) = null output,
@NCOADPVFOOTNOTE nvarchar(150) = null output,
@NCOAMOVEDATE UDT_FUZZYDATE = null output,
@NCOADMASUPPRESSION bit = null output,
@NCOAMAILGRADE nvarchar(150) = null output,
@TSLONG bigint = 0 output,
@VALIDATIONCOUNTRIES xml = null output,
@ZIPLOOKUPCOUNTRIES xml = null output,
@UPDATECONTACTS bit = null output,
@HASCONTACTS bit = null output,
@DONOTMAILREASONCODEID uniqueidentifier = null output,
@ISHOUSEHOLD bit = null output,
@ISHOUSEHOLDMEMBER bit = null output,
@UPDATEMATCHINGHOUSEHOLDADDRESSES bit = null output,
@MATCHINGHOUSEHOLDMEMBERS xml = null output,
@HISTORICALSTARTDATE date = null output,
@HISTORICALENDDATE date = null output,
@DATEADDED date = null output,
@INFOSOURCECOMMENTS nvarchar(256) = null output,
@ISCONFIDENTIAL bit = null output,
@CONSTITUENTDATAREVIEWROLLBACKREASONID uniqueidentifier = null output,
@FORCEDPRIMARY bit = null output,
@CANEDITPRIMARY bit = null output,
@INVALIDFIELDS nvarchar(256) = null output,
@ORIGINCODE tinyint = null output
)
as
set nocount on;
declare @CONSTITUENTID uniqueidentifier;
declare @ADDRESSID uniqueidentifier;
set @FORCEDPRIMARY = 0;
set @CANEDITPRIMARY = 0;
exec dbo.USP_CONSTITUENTDATAREVIEW_ADDRESS_LOADAUDITDATA
@ID, @DATALOADED output, @ADDRESSID output, @CONSTITUENTID output,
@ADDRESSTYPECODEID output, @PRIMARY output, @DONOTMAIL output,
@STARTDATE output, @ENDDATE output, @COUNTRYID output, @STATEID output,
@ADDRESSBLOCK output, @CITY output, @POSTCODE output, @CART output,
@DPC output, @LOT output, null, null, null, @OMITFROMVALIDATION output,
@COUNTYCODEID output, @CONGRESSIONALDISTRICTCODEID output,
@STATEHOUSEDISTRICTCODEID output, @STATESENATEDISTRICTCODEID output,
@LOCALPRECINCTCODEID output, @INFOSOURCECODEID output,
@REGIONCODEID output, @LASTVALIDATIONATTEMPTDATE output,
@VALIDATIONMESSAGE output, @CERTIFICATIONDATA output,
@NCOALASTSUBMITDATE output, @NCOARETURN output, @NCOAFOOTNOTE output,
@NCOADPVFOOTNOTE output, @NCOAMOVEDATE output,
@NCOADMASUPPRESSION output, @NCOAMAILGRADE output,
@VALIDATIONCOUNTRIES output, @ZIPLOOKUPCOUNTRIES output,
@UPDATECONTACTS output, @HASCONTACTS output,
@DONOTMAILREASONCODEID output, @HISTORICALSTARTDATE output,
@HISTORICALENDDATE output, @DATEADDED output,
@INFOSOURCECOMMENTS output, @ISCONFIDENTIAL output, @ORIGINCODE output
if @DATALOADED = 0
raiserror('Could not find the requested audit record.', 13, 1);
if exists(select object_id from sys.objects where type = 'U' and name = 'GROUPMEMBER')
begin
declare @CURRENTDATE date;
set @CURRENTDATE = getdate();
set @ISHOUSEHOLD = dbo.UFN_CONSTITUENT_ISHOUSEHOLD(@CONSTITUENTID);
set @ISHOUSEHOLDMEMBER = case when exists (
select 1
from dbo.GROUPMEMBER GM
left outer join dbo.GROUPMEMBERDATERANGE GMDR on GMDR.GROUPMEMBERID = GM.ID
left outer join dbo.GROUPDATA GD on GD.ID = GM.GROUPID
where GM.MEMBERID = @CONSTITUENTID
and GD.GROUPTYPECODE = 0
and ((GMDR.DATEFROM is null and (GMDR.DATETO is null or GMDR.DATETO > @CURRENTDATE))
or (GMDR.DATETO is null and (GMDR.DATEFROM is null or GMDR.DATEFROM <= @CURRENTDATE))
or (GMDR.DATEFROM <= @CURRENTDATE and GMDR.DATETO > @CURRENTDATE))
) then 1 else 0 end;
set @MATCHINGHOUSEHOLDMEMBERS = (
select
CONSTITUENTID,
NAME,
RELATIONSHIPTOPRIMARY
from
dbo.UFN_ADDRESS_MATCHINGHOUSEHOLDRECORDS(@CONSTITUENTID, @COUNTRYID, @STATEID, @ADDRESSBLOCK, @CITY, @POSTCODE, @ADDRESSTYPECODEID)
for xml raw('ITEM'), type, elements, root('MATCHINGHOUSEHOLDMEMBERS'), binary base64
);
end
-- handle primary
declare @CURRENTPRIMARY bit;
select @CURRENTPRIMARY = ISPRIMARY
from dbo.ADDRESS
where ID = @ADDRESSID;
if @PRIMARY = 0 and @CURRENTPRIMARY = 1
begin
set @PRIMARY = 1;
set @FORCEDPRIMARY = 1;
end
else
begin
-- if current primary is 0, there must be another
-- primary record, allow user to edit primary checkbox
if @PRIMARY = 1 and @CURRENTPRIMARY = 0
set @CANEDITPRIMARY = 1;
end
exec dbo.USP_CONSTITUENTDATAREVIEW_ADDRESS_CHECKGUIDS
@INVALIDFIELDS output,
@ADDRESSTYPECODEID output,
@COUNTRYID output,
@STATEID output,
@COUNTYCODEID output,
@CONGRESSIONALDISTRICTCODEID output,
@STATEHOUSEDISTRICTCODEID output,
@STATESENATEDISTRICTCODEID output,
@LOCALPRECINCTCODEID output,
@INFOSOURCECODEID output,
@REGIONCODEID output,
@DONOTMAILREASONCODEID output
return 0;