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