USP_DATAFORMTEMPLATE_ADD_PHONE

The save procedure used by the add dataform template "Phone Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@CONSTITUENTID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@PHONETYPECODEID uniqueidentifier IN Type
@NUMBER nvarchar(100) IN Number
@PRIMARY bit IN Set as primary phone number
@DONOTCALL bit IN Do not call this phone number
@UPDATEMATCHINGSPOUSEPHONE bit IN Update matching phone information for household
@UPDATEMATCHINGHOUSEHOLDPHONE bit IN Copy phone information to household members
@STARTTIME UDT_HOURMINUTE IN Call after
@ENDTIME UDT_HOURMINUTE IN Call before
@INFOSOURCECODEID uniqueidentifier IN Information source
@INFOSOURCECOMMENTS nvarchar(256) IN Comments
@COUNTRYID uniqueidentifier IN Country
@STARTDATE date IN Start date
@DONOTCALLREASONCODEID uniqueidentifier IN Reason
@ISCONFIDENTIAL bit IN This phone number is confidential
@CONSTITUENTDATAREVIEWROLLBACKREASONID uniqueidentifier IN Reason
@ORIGINCODE tinyint IN Origin
@SEASONALSTARTDATE UDT_MONTHDAY IN Start date
@SEASONALENDDATE UDT_MONTHDAY IN End date
@DONOTTEXT bit IN

Definition

Copy

                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_PHONE
                    (
                        @ID uniqueidentifier = null output,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @CONSTITUENTID uniqueidentifier,
                        @PHONETYPECODEID uniqueidentifier = null,
                        @NUMBER nvarchar(100),
                        @PRIMARY bit = null,
                        @DONOTCALL bit = null,
                        @UPDATEMATCHINGSPOUSEPHONE bit = null,
                        @UPDATEMATCHINGHOUSEHOLDPHONE bit = null,
                        @STARTTIME dbo.UDT_HOURMINUTE = '',
                        @ENDTIME dbo.UDT_HOURMINUTE = '',
                        @INFOSOURCECODEID uniqueidentifier = null,
                        @INFOSOURCECOMMENTS nvarchar(256) = '',
                        @COUNTRYID uniqueidentifier = null,
                        @STARTDATE date = null,
                        @DONOTCALLREASONCODEID uniqueidentifier = null,
                        @ISCONFIDENTIAL bit = null,
                        @CONSTITUENTDATAREVIEWROLLBACKREASONID uniqueidentifier = null,-- used by constituent data review
                        @ORIGINCODE tinyint = 0,
                        @SEASONALSTARTDATE dbo.UDT_MONTHDAY = '0000',
                        @SEASONALENDDATE dbo.UDT_MONTHDAY = '0000',
                        @DONOTTEXT bit = 0
                    )
                    as
                        set nocount on;

                        -- @UPDATEMATCHINGSPOUSEPHONE has been deprecated in favor of updating all of the members of a household
                        set @UPDATEMATCHINGHOUSEHOLDPHONE = case when @UPDATEMATCHINGSPOUSEPHONE = 1 then 1 else @UPDATEMATCHINGHOUSEHOLDPHONE end;

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

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

                        -- #253763 Check to see if there are duplicate phone numbers.  Same phone type and same phone number.
                        set @NUMBER = dbo.UFN_PHONE_REMOVECOUNTRYCODE(@NUMBER, @COUNTRYID);
                        declare @NULLVALUE uniqueidentifier = newid();
                        if exists (select 'X'
                                    from dbo.PHONE
                                    where  ENDDATE is null and CONSTITUENTID = @CONSTITUENTID
                                    and coalesce(NUMBERNOFORMAT,'') = coalesce(dbo.UFN_PHONE_REMOVEFORMATTING(@NUMBER),'') and coalesce(PHONETYPECODEID,@NULLVALUE) = coalesce(@PHONETYPECODEID,@NULLVALUE)
                                    and coalesce(COUNTRYID,@NULLVALUE) = coalesce(@COUNTRYID,@NULLVALUE))
                                        raiserror('BBERR_PHONENUMBER_DUPLICATENOTALLOWED', 13, 1);

                        exec dbo.USP_PHONE_CREATE @ID output, @CHANGEAGENTID, @CURRENTDATE,
                            @CONSTITUENTID, @PHONETYPECODEID, @NUMBER, @PRIMARY,
                            @STARTTIME, @ENDTIME, @STARTDATE, @DONOTCALL, @DONOTCALLREASONCODEID,
                            @INFOSOURCECODEID, @INFOSOURCECOMMENTS, @COUNTRYID, @ISCONFIDENTIAL,
                            @UPDATEMATCHINGHOUSEHOLDPHONE, @ORIGINCODE = @ORIGINCODE,
                            @SEASONALSTARTDATE = @SEASONALSTARTDATE, @SEASONALENDDATE = @SEASONALENDDATE, @DONOTTEXT = @DONOTTEXT;

                        return 0;