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;