USP_CONSTITUENTDATAREVIEW_PHONE_LOADAUDITDATA
Loads a phone number's data from an audit record.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@AUDITID | uniqueidentifier | IN | |
@DATALOADED | bit | INOUT | |
@PHONEID | uniqueidentifier | INOUT | |
@CONSTITUENTID | uniqueidentifier | INOUT | |
@PHONETYPECODEID | uniqueidentifier | INOUT | |
@NUMBER | nvarchar(100) | INOUT | |
@PRIMARY | bit | INOUT | |
@DONOTCALL | bit | INOUT | |
@SPOUSENAME | nvarchar(154) | INOUT | |
@SPOUSEHASMATCHINGPHONE | bit | INOUT | |
@UPDATEMATCHINGSPOUSEPHONE | bit | INOUT | |
@MATCHINGHOUSEHOLDMEMBERS | xml | INOUT | |
@STARTTIME | UDT_HOURMINUTE | INOUT | |
@ENDTIME | UDT_HOURMINUTE | INOUT | |
@INFOSOURCECODEID | uniqueidentifier | INOUT | |
@INFOSOURCECOMMENTS | nvarchar(256) | INOUT | |
@COUNTRYID | uniqueidentifier | INOUT | |
@STARTDATE | date | INOUT | |
@ENDDATE | date | INOUT | |
@DONOTCALLREASONCODEID | uniqueidentifier | INOUT | |
@ISCONFIDENTIAL | bit | INOUT | |
@ORIGINCODE | tinyint | INOUT | |
@SEASONALSTARTDATE | UDT_MONTHDAY | INOUT | |
@SEASONALENDDATE | UDT_MONTHDAY | INOUT | |
@DONOTTEXT | bit | INOUT |
Definition
Copy
CREATE procedure dbo.USP_CONSTITUENTDATAREVIEW_PHONE_LOADAUDITDATA (
@AUDITID uniqueidentifier,
@DATALOADED bit = 0 output,
@PHONEID uniqueidentifier = null output,
@CONSTITUENTID uniqueidentifier = null output,
@PHONETYPECODEID uniqueidentifier = null output,
@NUMBER nvarchar(100) = null output,
@PRIMARY bit = null output,
@DONOTCALL bit = null output,
@SPOUSENAME nvarchar(154) = null output,
@SPOUSEHASMATCHINGPHONE bit = null output,
@UPDATEMATCHINGSPOUSEPHONE bit = null output,
@MATCHINGHOUSEHOLDMEMBERS xml = 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,
@ENDDATE date = null output,
@DONOTCALLREASONCODEID uniqueidentifier = null output,
@ISCONFIDENTIAL bit = null output,
@ORIGINCODE tinyint = null output,
@SEASONALSTARTDATE dbo.UDT_MONTHDAY = null output,
@SEASONALENDDATE dbo.UDT_MONTHDAY = null output,
@DONOTTEXT bit = null output
)
as
begin
set nocount on;
declare @SPOUSEID uniqueidentifier;
set @DATALOADED = 0;
set @SPOUSEHASMATCHINGPHONE = 0;
set @UPDATEMATCHINGSPOUSEPHONE = 0;
if exists(select object_id from sys.objects where type = 'U' and name = 'RELATIONSHIP') begin
select
@DATALOADED = 1,
@PHONEID = PHONEAUDIT.AUDITRECORDID,
@CONSTITUENTID = PHONEAUDIT.CONSTITUENTID,
@PHONETYPECODEID = PHONEAUDIT.PHONETYPECODEID,
@NUMBER = PHONEAUDIT.NUMBER,
@PRIMARY = PHONEAUDIT.ISPRIMARY,
@DONOTCALL = PHONEAUDIT.DONOTCALL,
@SPOUSEID = SPOUSE.ID,
@SPOUSENAME = SPOUSE.NAME,
@STARTTIME = PHONEAUDIT.STARTTIME,
@ENDTIME = PHONEAUDIT.ENDTIME,
@INFOSOURCECODEID = PHONEAUDIT.INFOSOURCECODEID,
@INFOSOURCECOMMENTS = PHONEAUDIT.INFOSOURCECOMMENTS,
@COUNTRYID = PHONEAUDIT.COUNTRYID,
@STARTDATE = PHONEAUDIT.STARTDATE,
@ENDDATE = PHONEAUDIT.ENDDATE,
@DONOTCALLREASONCODEID = PHONEAUDIT.DONOTCALLREASONCODEID,
@ISCONFIDENTIAL = PHONEAUDIT.ISCONFIDENTIAL,
@ORIGINCODE = PHONEAUDIT.ORIGINCODE,
@SEASONALSTARTDATE = PHONEAUDIT.SEASONALSTARTDATE,
@SEASONALENDDATE = PHONEAUDIT.SEASONALENDDATE,
@DONOTTEXT = PHONEAUDIT.DONOTTEXT
from
dbo.PHONEAUDIT
left join dbo.RELATIONSHIP on RELATIONSHIP.RELATIONSHIPCONSTITUENTID = PHONEAUDIT.CONSTITUENTID and RELATIONSHIP.ISSPOUSE = 1
left join dbo.CONSTITUENT as SPOUSE on SPOUSE.ID = RELATIONSHIP.RECIPROCALCONSTITUENTID
where
PHONEAUDIT.AUDITID = @AUDITID;
if exists (
select PHONE.ID
from dbo.PHONE
where
PHONE.CONSTITUENTID = @SPOUSEID and
PHONE.NUMBER = @NUMBER
) begin
set @SPOUSEHASMATCHINGPHONE = 1;
set @UPDATEMATCHINGSPOUSEPHONE = 1;
end
end
else
begin
select
@DATALOADED = 1,
@PHONEID = PHONEAUDIT.AUDITRECORDID,
@CONSTITUENTID = PHONEAUDIT.CONSTITUENTID,
@PHONETYPECODEID = PHONEAUDIT.PHONETYPECODEID,
@NUMBER = PHONEAUDIT.NUMBER,
@PRIMARY = PHONEAUDIT.ISPRIMARY,
@DONOTCALL = PHONEAUDIT.DONOTCALL,
@STARTTIME = PHONEAUDIT.STARTTIME,
@ENDTIME = PHONEAUDIT.ENDTIME,
@INFOSOURCECODEID = PHONEAUDIT.INFOSOURCECODEID,
@INFOSOURCECOMMENTS = PHONEAUDIT.INFOSOURCECOMMENTS,
@COUNTRYID = PHONEAUDIT.COUNTRYID,
@STARTDATE = PHONEAUDIT.STARTDATE,
@ENDDATE = PHONEAUDIT.ENDDATE,
@DONOTCALLREASONCODEID = PHONEAUDIT.DONOTCALLREASONCODEID,
@ISCONFIDENTIAL = PHONEAUDIT.ISCONFIDENTIAL,
@ORIGINCODE = PHONEAUDIT.ORIGINCODE,
@SEASONALSTARTDATE = PHONEAUDIT.SEASONALSTARTDATE,
@SEASONALENDDATE = PHONEAUDIT.SEASONALENDDATE,
@DONOTTEXT = PHONEAUDIT.DONOTTEXT
from
dbo.PHONEAUDIT
where
PHONEAUDIT.AUDITID = @AUDITID;
end
return 0;
end