USP_CONSTITUENTMERGE_CREATEDONOTMERGERELATIONSHIP
Creates a relationship to indicate 'Do Not Merge' for two constituents.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SOURCEID | uniqueidentifier | IN | |
@TARGETID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN |
Definition
Copy
create procedure dbo.USP_CONSTITUENTMERGE_CREATEDONOTMERGERELATIONSHIP
(
@SOURCEID uniqueidentifier,
@TARGETID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier
)
as
begin
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @DONOTMERGETYPEDESCRIPTION nvarchar(100)
set @DONOTMERGETYPEDESCRIPTION = 'Do Not Merge'
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
begin try
declare @TYPECODEID uniqueidentifier
set @TYPECODEID = dbo.UFN_RELATIONSHIPTYPECODE_GETID(@DONOTMERGETYPEDESCRIPTION)
if @TYPECODEID is null
begin
set @TYPECODEID = newid();
insert into dbo.RELATIONSHIPTYPECODE (ID, DESCRIPTION, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values (@TYPECODEID, @DONOTMERGETYPEDESCRIPTION, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
end
-- Make sure the relationship doesn't already exist
if not exists ( select 1
from dbo.RELATIONSHIP
where
RELATIONSHIPCONSTITUENTID = @TARGETID and
RECIPROCALCONSTITUENTID = @SOURCEID and
RELATIONSHIPTYPECODEID = @TYPECODEID and
RECIPROCALTYPECODEID = @TYPECODEID)
begin
declare @SETID uniqueidentifier
set @SETID = newid()
insert into dbo.RELATIONSHIPSET (ID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values (@SETID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
insert into dbo.RELATIONSHIP (RELATIONSHIPCONSTITUENTID, RECIPROCALCONSTITUENTID, RELATIONSHIPTYPECODEID, RECIPROCALTYPECODEID, RELATIONSHIPSETID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values (@TARGETID, @SOURCEID, @TYPECODEID, @TYPECODEID, @SETID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
end
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;
end