USP_DATAFORMTEMPLATE_ADD_CONSTITUENTDATAREVIEW_PHONE_PRELOAD
The load procedure used by the edit dataform template "Constituent Data Review Phone Add Data Form"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@AUDITID | uniqueidentifier | IN | Input parameter indicating the context ID for the record being added. |
@PHONETYPECODEID | uniqueidentifier | INOUT | Type |
@NUMBER | nvarchar(100) | INOUT | Number |
@PRIMARY | bit | INOUT | Set as primary phone number |
@DONOTCALL | bit | INOUT | Do not call this phone number |
@SPOUSENAME | nvarchar(154) | INOUT | |
@UPDATEMATCHINGSPOUSEPHONE | bit | INOUT | Update matching phone information for household |
@ISHOUSEHOLD | bit | INOUT | |
@ISHOUSEHOLDMEMBER | bit | INOUT | |
@STARTTIME | UDT_HOURMINUTE | INOUT | Call after |
@ENDTIME | UDT_HOURMINUTE | INOUT | Call before |
@INFOSOURCECODEID | uniqueidentifier | INOUT | Information source |
@INFOSOURCECOMMENTS | nvarchar(256) | INOUT | Comments |
@COUNTRYID | uniqueidentifier | INOUT | Country |
@STARTDATE | date | INOUT | Start date |
@DONOTCALLREASONCODEID | uniqueidentifier | INOUT | Reason |
@ISCONFIDENTIAL | bit | INOUT | This phone number is confidential |
@COUNTRYCODES | xml | INOUT | |
@FORCEDPRIMARY | bit | INOUT | |
@CANEDITPRIMARY | bit | INOUT | |
@INVALIDFIELDS | nvarchar(256) | INOUT | |
@ORIGINCODE | tinyint | INOUT | Origin |
@SEASONALSTARTDATE | UDT_MONTHDAY | INOUT | Start date |
@SEASONALENDDATE | UDT_MONTHDAY | INOUT | End date |
@DONOTTEXT | bit | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_CONSTITUENTDATAREVIEW_PHONE_PRELOAD (
@AUDITID uniqueidentifier,
@PHONETYPECODEID uniqueidentifier = null output,
@NUMBER nvarchar(100) = null output,
@PRIMARY bit = null output,
@DONOTCALL bit = null output,
@SPOUSENAME nvarchar(154) = null output,
@UPDATEMATCHINGSPOUSEPHONE bit = null output,
@ISHOUSEHOLD bit = null output,
@ISHOUSEHOLDMEMBER bit = null output,
@STARTTIME dbo.UDT_HOURMINUTE = null output,
@ENDTIME dbo.UDT_HOURMINUTE = null output,
@INFOSOURCECODEID uniqueidentifier = null output,
@INFOSOURCECOMMENTS nvarchar(256) = null output,
@COUNTRYID uniqueidentifier = null output,
@STARTDATE date = null output,
@DONOTCALLREASONCODEID uniqueidentifier = null output,
@ISCONFIDENTIAL bit = null output,
@COUNTRYCODES xml = null output,
@FORCEDPRIMARY bit = null output,
@CANEDITPRIMARY bit = null output,
@INVALIDFIELDS nvarchar(256) = null output,
@ORIGINCODE tinyint = null output,
@SEASONALSTARTDATE dbo.UDT_MONTHDAY = null output,
@SEASONALENDDATE dbo.UDT_MONTHDAY = null output,
@DONOTTEXT bit = null output
)
as
set nocount on;
declare @DATALOADED bit;
set @DATALOADED = 0;
declare @CONSTITUENTID uniqueidentifier;
set @FORCEDPRIMARY = 0;
set @CANEDITPRIMARY = 0;
exec dbo.USP_CONSTITUENTDATAREVIEW_PHONE_LOADAUDITDATA
@AUDITID,
@DATALOADED output,
null,
@CONSTITUENTID output,
@PHONETYPECODEID output,
@NUMBER output,
@PRIMARY output,
@DONOTCALL output,
@SPOUSENAME output,
null,
@UPDATEMATCHINGSPOUSEPHONE output,
null,
@STARTTIME output,
@ENDTIME output,
@INFOSOURCECODEID output,
@INFOSOURCECOMMENTS output,
@COUNTRYID output,
@STARTDATE output,
null, @DONOTCALLREASONCODEID output,
@ISCONFIDENTIAL output,
@ORIGINCODE output,
@SEASONALSTARTDATE output,
@SEASONALENDDATE output,
@DONOTTEXT output;
if @DATALOADED = 0
raiserror('Could not find the requested audit record.', 13, 1);
declare @CURRENTDATE date;
set @CURRENTDATE = getdate();
set @ISHOUSEHOLD = dbo.UFN_CONSTITUENT_ISHOUSEHOLD(@CONSTITUENTID);
set @ISHOUSEHOLDMEMBER = case when exists (
select 1
from dbo.GROUPMEMBER GM
left outer join dbo.GROUPMEMBERDATERANGE GMDR on GMDR.GROUPMEMBERID = GM.ID
left outer join dbo.GROUPDATA GD on GD.ID = GM.GROUPID
where GM.MEMBERID = @CONSTITUENTID
and GD.GROUPTYPECODE = 0
and ((GMDR.DATEFROM is null and (GMDR.DATETO is null or GMDR.DATETO > @CURRENTDATE))
or (GMDR.DATETO is null and (GMDR.DATEFROM is null or GMDR.DATEFROM <= @CURRENTDATE))
or (GMDR.DATEFROM <= @CURRENTDATE and GMDR.DATETO > @CURRENTDATE))
) then 1 else 0 end;
select @COUNTRYCODES = dbo.UFN_COUNTRY_GETCOUNTRYCODES_TOITEMLISTXML();
-- handle primary
declare @COUNT smallint;
select @COUNT = count(*)
from dbo.PHONE
where CONSTITUENTID = @CONSTITUENTID;
if @PRIMARY = 0 and @COUNT = 0
begin
set @PRIMARY = 1;
set @FORCEDPRIMARY = 1;
end
else
begin
-- if another record exists, it must be primary, so allow the user
-- to edit the primary checkbox in this scenario
if @PRIMARY = 1 and @COUNT > 0
set @CANEDITPRIMARY = 1;
end
exec dbo.USP_CONSTITUENTDATAREVIEW_PHONE_CHECKGUIDS
@INVALIDFIELDS output,
@PHONETYPECODEID output,
@INFOSOURCECODEID output,
@COUNTRYID output,
@DONOTCALLREASONCODEID output
return 0;