USP_DATAFORMTEMPLATE_EDIT_ADDRESSVALIDATIONPROCESS

The save procedure used by the edit dataform template "Address Validation Process Edit 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.
@IDSETREGISTERID uniqueidentifier IN Selected constituents
@INCLUDECONSTITUENTDNM bit IN Include constituents marked as Do Not Mail
@ADDRESSINCLUDECODE tinyint IN Include
@ADDRESSTYPECODEID uniqueidentifier IN Address type
@INCLUDEADDRESSESDNM bit IN Include addresses marked as Do Not Mail
@CREATEOUTPUTIDSET bit IN Create selection from results
@OUTPUTIDSETNAME nvarchar(100) IN Selection name
@OVERWRITEOUTPUTIDSET bit IN Overwrite existing selection

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_ADDRESSVALIDATIONPROCESS
                (
                    @ID uniqueidentifier,
                    @CHANGEAGENTID uniqueidentifier = null,
                    @IDSETREGISTERID uniqueidentifier,
                    @INCLUDECONSTITUENTDNM bit,
                    @ADDRESSINCLUDECODE tinyint,
                    @ADDRESSTYPECODEID uniqueidentifier,
                    @INCLUDEADDRESSESDNM bit,
                    @CREATEOUTPUTIDSET bit,
                    @OUTPUTIDSETNAME nvarchar(100),
                    @OVERWRITEOUTPUTIDSET bit
                )
                as
                    set nocount on;

                    declare @CURRENTDATE datetime;
                    set @CURRENTDATE = getdate();

                    begin try
                        if @CHANGEAGENTID is null  
                            exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

            if @ADDRESSINCLUDECODE <> 2 -- not "Specific address"

              set @ADDRESSTYPECODEID = null; -- Prevent check constraint from failing - get rid of unused address type


                        if @ID is null
                        begin
                            set @ID = NewID();

                            insert into dbo.ADDRESSVALIDATIONPROCESS
                                (ID,
                                IDSETREGISTERID,
                                INCLUDECONSTITUENTDNM,
                                ADDRESSINCLUDECODE,
                                ADDRESSTYPECODEID,
                                INCLUDEADDRESSESDNM,
                                CREATEOUTPUTIDSET,
                                OUTPUTIDSETNAME,
                                OVERWRITEOUTPUTIDSET,
                                ADDEDBYID,
                                CHANGEDBYID,
                                DATEADDED,
                                DATECHANGED)
                            values
                                (@ID,
                                @IDSETREGISTERID,
                                @INCLUDECONSTITUENTDNM,
                                @ADDRESSINCLUDECODE,
                                @ADDRESSTYPECODEID,
                                @INCLUDEADDRESSESDNM,
                                @CREATEOUTPUTIDSET,
                                @OUTPUTIDSETNAME,
                                @OVERWRITEOUTPUTIDSET,
                                @CHANGEAGENTID,
                                @CHANGEAGENTID,
                                @CURRENTDATE,
                                @CURRENTDATE);
                        end
                        else
                        begin
                            update dbo.ADDRESSVALIDATIONPROCESS
                            set IDSETREGISTERID = @IDSETREGISTERID,
                                INCLUDECONSTITUENTDNM = @INCLUDECONSTITUENTDNM,
                                CHANGEDBYID = @CHANGEAGENTID,
                                DATECHANGED = @CURRENTDATE,
                                ADDRESSINCLUDECODE = @ADDRESSINCLUDECODE,
                                ADDRESSTYPECODEID = @ADDRESSTYPECODEID,
                                INCLUDEADDRESSESDNM = @INCLUDEADDRESSESDNM,
                                CREATEOUTPUTIDSET = @CREATEOUTPUTIDSET,
                                OUTPUTIDSETNAME = @OUTPUTIDSETNAME,
                                OVERWRITEOUTPUTIDSET = @OVERWRITEOUTPUTIDSET
                            where ID = @ID;
                        end

                    end try

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

                    return 0;