USP_RELATIONSHIPCONFIGURATION_BUILDCONFIGURATION
Creates relationship configuration data based on existing constituent relationships.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CHANGEAGENTID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_RELATIONSHIPCONFIGURATION_BUILDCONFIGURATION
(
@CHANGEAGENTID uniqueidentifier = null
) as
set nocount on;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
begin try
insert into dbo.RELATIONSHIPCONFIGURATION
(
ID,
GENDERCODE,
APPLIESTOINDIVIDUALS,
APPLIESTOORGANIZATIONS,
APPLIESTOGROUPS,
RELATESTOINDIVIDUALS,
RELATESTOORGANIZATIONS,
RELATESTOGROUPS,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
select
RELATIONSHIP.RELATIONSHIPTYPECODEID,
0,
case when EMPLOYEECORPORATERELATIONSHIPTYPE.ID is not null then 1
when min(convert(int, RELATIONC.ISORGANIZATION) + convert(int, RELATIONC.ISGROUP)) = 0 then 1
else 0 end,
max(convert(int, RELATIONC.ISORGANIZATION)),
max(convert(int, RELATIONC.ISGROUP)),
case when min(convert(int, RECIPROCALC.ISORGANIZATION) + convert(int, RECIPROCALC.ISGROUP)) = 0 then 1
else 0 end,
case when EMPLOYEECORPORATERELATIONSHIPTYPE.ID is not null then 1
else max(convert(int, RECIPROCALC.ISORGANIZATION)) end,
max(convert(int, RECIPROCALC.ISGROUP)),
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
from
dbo.RELATIONSHIP
inner join
dbo.CONSTITUENT RELATIONC on RELATIONC.ID = RELATIONSHIPCONSTITUENTID
inner join
dbo.CONSTITUENT RECIPROCALC on RECIPROCALC.ID = RECIPROCALCONSTITUENTID
left join
dbo.EMPLOYEECORPORATERELATIONSHIPTYPE on EMPLOYEECORPORATERELATIONSHIPTYPE.RELATIONSHIPTYPECODEID = RELATIONSHIP.RELATIONSHIPTYPECODEID
where
not exists(select ID from dbo.RELATIONSHIPCONFIGURATION where ID = RELATIONSHIP.RELATIONSHIPTYPECODEID)
group by
RELATIONSHIP.RELATIONSHIPTYPECODEID, EMPLOYEECORPORATERELATIONSHIPTYPE.ID
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;