USP_DATAFORMTEMPLATE_EDIT_CONSTITUENTDATAREVIEW_ADDRESS

The save 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 indicating the ID of the record being edited.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@ADDRESSTYPECODEID uniqueidentifier IN Type
@PRIMARY bit IN Set as primary address
@DONOTMAIL bit IN Do not send mail to this address
@STARTDATE UDT_MONTHDAY IN Start date
@ENDDATE UDT_MONTHDAY IN End date
@COUNTRYID uniqueidentifier IN Country
@STATEID uniqueidentifier IN State
@ADDRESSBLOCK nvarchar(150) IN Address
@CITY nvarchar(50) IN City
@POSTCODE nvarchar(12) IN ZIP
@CART nvarchar(10) IN CART
@DPC nvarchar(8) IN DPC
@LOT nvarchar(5) IN LOT
@OMITFROMVALIDATION bit IN Omit this address from validation
@COUNTYCODEID uniqueidentifier IN County
@CONGRESSIONALDISTRICTCODEID uniqueidentifier IN Congressional district
@STATEHOUSEDISTRICTCODEID uniqueidentifier IN State house district
@STATESENATEDISTRICTCODEID uniqueidentifier IN State senate district
@LOCALPRECINCTCODEID uniqueidentifier IN Local precinct
@INFOSOURCECODEID uniqueidentifier IN Information source
@REGIONCODEID uniqueidentifier IN Region
@LASTVALIDATIONATTEMPTDATE datetime IN Last attempt
@VALIDATIONMESSAGE nvarchar(200) IN Validation message
@CERTIFICATIONDATA int IN
@UPDATECONTACTS bit IN Update contacts that use this address
@DONOTMAILREASONCODEID uniqueidentifier IN Reason
@UPDATEMATCHINGHOUSEHOLDADDRESSES bit IN Update matching addresses in household
@HISTORICALSTARTDATE date IN Start date
@HISTORICALENDDATE date IN End date
@INFOSOURCECOMMENTS nvarchar(256) IN Comments
@ISCONFIDENTIAL bit IN This address is confidential
@CONSTITUENTDATAREVIEWROLLBACKREASONID uniqueidentifier IN Reason

Definition

Copy

                CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_CONSTITUENTDATAREVIEW_ADDRESS
                (
                    @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
                )
                as
                    declare @ADDRESSID uniqueidentifier;

                    select @ADDRESSID = AUDITRECORDID
                    from dbo.ADDRESSAUDIT
                    where AUDITID = @ID;

                    if @ADDRESSID is null
                        raiserror('ERR_COULDNOTFINDAUDIT', 13, 1);

                    exec dbo.USP_DATAFORMTEMPLATE_EDIT_ADDRESS_7
                        @ADDRESSID,
                        @CHANGEAGENTID,
                        @ADDRESSTYPECODEID,
                        @PRIMARY,
                        @DONOTMAIL,
                        @STARTDATE,
                        @ENDDATE,
                        @COUNTRYID,
                        @STATEID,
                        @ADDRESSBLOCK,
                        @CITY,
                        @POSTCODE,
                        @CART,
                        @DPC,
                        @LOT,
                        @OMITFROMVALIDATION,                        
                        @COUNTYCODEID,
                        @CONGRESSIONALDISTRICTCODEID,
                        @STATEHOUSEDISTRICTCODEID,
                        @STATESENATEDISTRICTCODEID,
                        @LOCALPRECINCTCODEID,
                        @INFOSOURCECODEID,
                        @REGIONCODEID,                    
                        @LASTVALIDATIONATTEMPTDATE,
                        @VALIDATIONMESSAGE,
                        @CERTIFICATIONDATA,
                        @UPDATECONTACTS,
                        @DONOTMAILREASONCODEID,
                        @UPDATEMATCHINGHOUSEHOLDADDRESSES,
                        @HISTORICALSTARTDATE,
                        @HISTORICALENDDATE,
                        @INFOSOURCECOMMENTS,
                        @ISCONFIDENTIAL,
                        null

                    declare @COUNT tinyint;
                    select @COUNT = count(*)
                    from dbo.ADDRESS
                    where ID = @ADDRESSID;

                    if @COUNT = 0
                        raiserror('ERR_RECORDDELETED', 13, 1);

                    declare @CURRENTDATE datetime
                    set @CURRENTDATE = getdate()

                    declare @EDITAUDITID uniqueidentifier;

                    -- pull the auditid for what is hopefully the edit we just did
                    select top 1 @EDITAUDITID = AUDITID
                    from dbo.ADDRESSAUDIT
                    where AUDITRECORDID = @ADDRESSID
                    and AUDITTYPECODE = 1
                    order by AUDITDATE desc;

                    if @EDITAUDITID is null
                        raiserror('ERR_COULDNOTFINDEDITAUDIT', 13, 1);

                    insert into dbo.CONSTITUENTDATAREVIEWROLLBACK
                        (ID, CONTEXTRECORDID, ROLLBACKAUDITID, SOURCEAUDITID, CONSTITUENTDATAREVIEWROLLBACKREASONID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
                    values
                        (newid(), @ADDRESSID, @EDITAUDITID, @ID, @CONSTITUENTDATAREVIEWROLLBACKREASONID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)