USP_DATAFORMTEMPLATE_EDITLOAD_ADDRESS_3

The load procedure used by the edit dataform template "Address Edit Form 3"

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 Info 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
@ORIGINCODE tinyint INOUT Origin

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_ADDRESS_3 (
                    @ID uniqueidentifier,
                    @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,
                    @ORIGINCODE tinyint = null output
                )
                as
                    set nocount on;

                    exec dbo.USP_ADDRESS_UPDATE_LOAD @ID, @DATALOADED 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, @TSLONG output, @VALIDATIONCOUNTRIES output,    @ZIPLOOKUPCOUNTRIES output,
                        @UPDATECONTACTS output,    @HASCONTACTS output, @DONOTMAILREASONCODEID output, @ORIGINCODE = @ORIGINCODE output

                    if exists(select object_id from sys.objects where type = 'U' and name = 'GROUPMEMBER')
                    begin
                        declare @CURRENTDATE date;
                        set @CURRENTDATE = getdate();

                        declare @CONSTITUENTID uniqueidentifier;
                        select @CONSTITUENTID = CONSTITUENTID from dbo.ADDRESS where ID = @ID;

                        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

                    return 0;