USP_DATAFORM_EDITSAVE_ADDRESSPROCESSINGOPTION3

The save procedure used by the edit dataform template "Address Processing Option Edit Form 3".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@NAME nvarchar(100) IN Name
@PURPOSE nvarchar(500) IN Description
@INDUSECONSTITUENTPREFS bit IN Use individual's mail preferences, if specified.
@INDALTADDRESS1TYPECODEID uniqueidentifier IN 1st choice
@INDALTADDRESS2TYPECODEID uniqueidentifier IN 2nd choice
@INDUSESEASONALADDRESS bit IN Use seasonal address, if available.
@INDINCLUDEWITHNOADDRESS bit IN If address is not found
@ORGUSECONSTITUENTPREFS bit IN Use organization's mail preferences, if specified.
@ORGMAILINGPREFERENCE tinyint IN Mailing preference
@ORGALTADDRESS1TYPECODEID uniqueidentifier IN 1st choice
@ORGALTADDRESS2TYPECODEID uniqueidentifier IN 2nd choice
@ORGINCLUDEWITHNOADDRESS bit IN If address is not found
@ORGCONTACTTYPES xml IN
@ORGSENDTOALLCONTACTS bit IN Mail to each contact found.
@ORGINCLUDEWITHNOCONTACT bit IN If no contact is found
@ORGCONTACTALSOINDACTION tinyint IN If contact is also an individual
@GROUPUSECONSTITUENTPREFS bit IN Use group's mail preferences, if specified.
@GROUPALTADDRESS1TYPECODEID uniqueidentifier IN 1st choice
@GROUPALTADDRESS2TYPECODEID uniqueidentifier IN 2nd choice
@GROUPINCLUDEWITHNOADDRESS tinyint IN If address is not found
@GROUPUSESEASONALADDRESS bit IN Use seasonal address, if available.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@SITEID uniqueidentifier IN Site
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.

Definition

Copy


                    CREATE procedure USP_DATAFORM_EDITSAVE_ADDRESSPROCESSINGOPTION3
                    (                    
                        @ID uniqueidentifier,
                        @NAME nvarchar(100),
                        @PURPOSE nvarchar(500),
                        @INDUSECONSTITUENTPREFS bit,
                        @INDALTADDRESS1TYPECODEID uniqueidentifier,
                        @INDALTADDRESS2TYPECODEID uniqueidentifier,
                        @INDUSESEASONALADDRESS bit,
                        @INDINCLUDEWITHNOADDRESS bit,
                        @ORGUSECONSTITUENTPREFS bit,
                        @ORGMAILINGPREFERENCE tinyint,
                        @ORGALTADDRESS1TYPECODEID uniqueidentifier,
                        @ORGALTADDRESS2TYPECODEID uniqueidentifier,
                        @ORGINCLUDEWITHNOADDRESS bit,
                        @ORGCONTACTTYPES xml,
                        @ORGSENDTOALLCONTACTS bit,
                        @ORGINCLUDEWITHNOCONTACT bit,
                        @ORGCONTACTALSOINDACTION tinyint,
                        @GROUPUSECONSTITUENTPREFS bit,
                        @GROUPALTADDRESS1TYPECODEID uniqueidentifier,
                        @GROUPALTADDRESS2TYPECODEID uniqueidentifier,
                        @GROUPINCLUDEWITHNOADDRESS tinyint,
                        @GROUPUSESEASONALADDRESS bit,
                        @CHANGEAGENTID uniqueidentifier,
                        @SITEID uniqueidentifier,
                        @CURRENTAPPUSERID uniqueidentifier = null
                    )
                    as

                    set nocount on;

                    declare @CURRENTDATE datetime

                    if @CHANGEAGENTID is null  
                        exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output

                    set @CURRENTDATE = getdate()

                    begin try

                        if dbo.UFN_SITEREQUIREDFORUSER(@CURRENTAPPUSERID) = 1 and @SITEID is null
                        begin
                            raiserror ('ERR_SITE_MUSTHAVESITE',13,1);
                            return 1;
                        end

                        declare @IA1PRIMARY bit
                        if @INDALTADDRESS1TYPECODEID='00000000-0000-0000-0000-000000000001'
                        begin
                            set @IA1PRIMARY = 1
                            set @INDALTADDRESS1TYPECODEID=null
                        end
                        else
                            set @IA1PRIMARY = 0

                        declare @IA2PRIMARY bit
                        if @INDALTADDRESS2TYPECODEID='00000000-0000-0000-0000-000000000001'
                        begin
                            set @IA2PRIMARY = 1
                            set @INDALTADDRESS2TYPECODEID=null
                        end
                        else
                            set @IA2PRIMARY = 0

                        declare @OA1PRIMARY bit
                        if @ORGALTADDRESS1TYPECODEID='00000000-0000-0000-0000-000000000001'
                        begin
                            set @OA1PRIMARY = 1
                            set @ORGALTADDRESS1TYPECODEID=null
                        end
                        else
                            set @OA1PRIMARY = 0

                        declare @OA2PRIMARY bit
                        if @ORGALTADDRESS2TYPECODEID='00000000-0000-0000-0000-000000000001' 
                        begin
                            set @OA2PRIMARY = 1
                            set @ORGALTADDRESS2TYPECODEID=null
                        end
                        else
                            set @OA2PRIMARY = 0

                        declare @GA1PRIMARY bit
                        if @GROUPALTADDRESS1TYPECODEID='00000000-0000-0000-0000-000000000001'
                        begin
                            set @GA1PRIMARY = 1
                            set @GROUPALTADDRESS1TYPECODEID=null
                        end
                        else
                            set @GA1PRIMARY = 0

                        declare @GA2PRIMARY bit
                        if @GROUPALTADDRESS2TYPECODEID='00000000-0000-0000-0000-000000000001' 
                        begin
                            set @GA2PRIMARY = 1
                            set @GROUPALTADDRESS2TYPECODEID=null
                        end
                        else
                            set @GA2PRIMARY = 0

                        update dbo.ADDRESSPROCESSINGOPTION
                        set
                            NAME = @NAME,
                            PURPOSE = @PURPOSE,
                            INDUSECONSTITUENTPREFS = @INDUSECONSTITUENTPREFS,
                            INDALTADDRESS1TYPECODEID = @INDALTADDRESS1TYPECODEID,
                            INDALTADDRESS1ISPRIMARY = @IA1PRIMARY,
                            INDALTADDRESS2TYPECODEID = @INDALTADDRESS2TYPECODEID,
                            INDALTADDRESS2ISPRIMARY = @IA2PRIMARY,
                            INDUSESEASONALADDRESS = @INDUSESEASONALADDRESS,
                            INDINCLUDEWITHNOADDRESS = @INDINCLUDEWITHNOADDRESS,
                            ORGUSECONSTITUENTPREFS = @ORGUSECONSTITUENTPREFS,
                            ORGMAILINGPREFERENCE = @ORGMAILINGPREFERENCE,
                            ORGALTADDRESS1TYPECODEID = @ORGALTADDRESS1TYPECODEID,
                            ORGALTADDRESS1ISPRIMARY = @OA1PRIMARY,
                            ORGALTADDRESS2TYPECODEID = @ORGALTADDRESS2TYPECODEID,
                            ORGALTADDRESS2ISPRIMARY = @OA2PRIMARY,
                            ORGINCLUDEWITHNOADDRESS = @ORGINCLUDEWITHNOADDRESS,
                            ORGSENDTOALLCONTACTS = @ORGSENDTOALLCONTACTS,
                            ORGINCLUDEWITHNOCONTACT = @ORGINCLUDEWITHNOCONTACT,
                            ORGCONTACTALSOINDACTION = @ORGCONTACTALSOINDACTION,
                            GROUPUSECONSTITUENTPREFS = @GROUPUSECONSTITUENTPREFS,
                            GROUPALTADDRESS1TYPECODEID = @GROUPALTADDRESS1TYPECODEID,
                            GROUPALTADDRESS1ISPRIMARY = @GA1PRIMARY,
                            GROUPALTADDRESS2TYPECODEID = @GROUPALTADDRESS2TYPECODEID,
                            GROUPALTADDRESS2ISPRIMARY = @GA2PRIMARY,
                            GROUPUSESEASONALADDRESS = @GROUPUSESEASONALADDRESS,
                            GROUPINCLUDEWITHNOADDRESS = @GROUPINCLUDEWITHNOADDRESS,
                            SITEID = @SITEID,
                            CHANGEDBYID = @CHANGEAGENTID,
                            DATECHANGED = @CURRENTDATE
                        where
                            ID=@ID

                        exec dbo.USP_ADDRESSPROCESSINGOPTION_GETCONTACTTYPES_UPDATEFROMXML @ID, @ORGCONTACTTYPES, @CHANGEAGENTID

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

                    return 0;