USP_CONSTITUENTUPDATEBATCH_CUSTOMVALIDATE
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@BATCHROWID | uniqueidentifier | IN | |
@BATCHNUMBER | nvarchar(100) | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN | |
@BATCHOWNERID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_CONSTITUENTUPDATEBATCH_CUSTOMVALIDATE
(
@BATCHROWID uniqueidentifier,
@BATCHNUMBER nvarchar(100),
@CHANGEAGENTID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier,
@BATCHOWNERID uniqueidentifier
)
as
begin
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @CURRENTDATE datetime = getdate();
declare @EXISTINGCONSTITUENTID uniqueidentifier;
declare @EXISTINGCONSTITUENTNAME nvarchar(154);
select
@EXISTINGCONSTITUENTID = BATCHCONSTITUENTUPDATE.PRIMARYRECORDID,
@EXISTINGCONSTITUENTNAME = CONSTITUENT.NAME
from
dbo.BATCHCONSTITUENTUPDATE
inner join dbo.CONSTITUENT on BATCHCONSTITUENTUPDATE.PRIMARYRECORDID = CONSTITUENT.ID
where
BATCHCONSTITUENTUPDATE.ID = @BATCHROWID;
--Warn the user of duplicate relationships in the batch row.
if exists
(
select
1
from
dbo.BATCHCONSTITUENTUPDATERELATIONSHIPS
where
BATCHCONSTITUENTUPDATEID = @BATCHROWID
group by
RECIPROCALCONSTITUENTID, RELATIONSHIPTYPECODEID, RECIPROCALTYPECODEID
having
count(*) > 1
)
begin
exec dbo.USP_BATCHCONSTITUENTUPDATEBATCHSYSTEMMESSAGES_ADD @BATCHROWID, 'You cannot add duplicate relationships for this individual.', @CHANGEAGENTID, 0, 'RELATIONSHIPS', '', 0, 2;
end
--warn the user of a relationship with the reciprocal constituent if it exists.
insert into dbo.BATCHCONSTITUENTUPDATEBATCHSYSTEMMESSAGES
(
BATCHCONSTITUENTUPDATEID,
MESSAGETEXT,
MESSAGETYPECODE,
SEVERITYCODE,
ORIGINCODE,
INVALIDFIELDID,
DATEADDED,
DATECHANGED,
ADDEDBYID,
CHANGEDBYID
)
select
@BATCHROWID,
@EXISTINGCONSTITUENTNAME + ' and ' + RECIPROCAL.NAME + ' are already related. '
+ @EXISTINGCONSTITUENTNAME + ' is the ' + dbo.UFN_RELATIONSHIPTYPECODE_GETDESCRIPTION(RELATIONSHIP.RELATIONSHIPTYPECODEID) + '; '
+ RECIPROCAL.NAME + ' is the ' + dbo.UFN_RELATIONSHIPTYPECODE_GETDESCRIPTION(RELATIONSHIP.RECIPROCALTYPECODEID)
+ '. Please review additional relationships.',
0,
1,
2,
'RELATIONSHIPS',
@CURRENTDATE,
@CURRENTDATE,
@CHANGEAGENTID,
@CHANGEAGENTID
from
dbo.BATCHCONSTITUENTUPDATERELATIONSHIPS RT
left join dbo.RELATIONSHIP on RELATIONSHIP.RELATIONSHIPCONSTITUENTID = @EXISTINGCONSTITUENTID
and RT.RECIPROCALCONSTITUENTID = RELATIONSHIP.RECIPROCALCONSTITUENTID
left join dbo.CONSTITUENT RECIPROCAL on RT.RECIPROCALCONSTITUENTID = RECIPROCAL.ID
where
RELATIONSHIP.ID is not null
and RT.BATCHCONSTITUENTUPDATEID = @BATCHROWID;
-- Set the row message when 'Generate row exception' rule is triggerd for constituentuent update rules
update dbo.BATCHCONSTITUENTUPDATEBATCHSYSTEMMESSAGES
set MESSAGETEXT = 'Data in batch is different from data for this constituent. Click here to review.'
where
BATCHCONSTITUENTUPDATEID = @BATCHROWID and
MESSAGETYPECODE = 1 and
SEVERITYCODE = 0 and
exists(select
'x'
from dbo.BATCHCONSTITUENTUPDATE where ID= @BATCHROWID and DOMANUALREVIEWFORAUTOMATCH = 1);
end