USP_CONSTITUENTMERGE_REMOVE_DONOTMERGERELATIONSHIP
Removes the relationship that indicated '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_REMOVE_DONOTMERGERELATIONSHIP
(
@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 already exist
if exists ( select 1
from dbo.RELATIONSHIP
where
RELATIONSHIPCONSTITUENTID = @TARGETID and
RECIPROCALCONSTITUENTID = @SOURCEID and
RELATIONSHIPTYPECODEID = @TYPECODEID and
RECIPROCALTYPECODEID = @TYPECODEID)
begin
delete from dbo.RELATIONSHIP where RELATIONSHIPCONSTITUENTID = @TARGETID
and RECIPROCALCONSTITUENTID = @SOURCEID
and RELATIONSHIPTYPECODEID = @TYPECODEID
and RECIPROCALTYPECODEID = @TYPECODEID
end
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;
end