USP_GLOBALCHANGE_ADDCONSTITUENTINTERACTION
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@IDSETREGISTERID | uniqueidentifier | IN | |
@EXPECTEDDATE | datetime | IN | |
@ACTUALDATE | datetime | IN | |
@FUNDRAISERID | uniqueidentifier | IN | |
@INTERACTIONTYPECODEID | uniqueidentifier | IN | |
@OBJECTIVE | nvarchar(100) | IN | |
@STATUSCODE | tinyint | IN | |
@COMMENT | nvarchar(max) | IN | |
@EVENTID | uniqueidentifier | IN | |
@PARTICIPANTS | xml | IN | |
@INTERACTIONCATEGORYID | uniqueidentifier | IN | |
@INTERACTIONSUBCATEGORYID | uniqueidentifier | IN | |
@SITES | xml | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@ASOF | datetime | IN | |
@NUMBERADDED | int | INOUT | |
@NUMBEREDITED | int | INOUT | |
@NUMBERDELETED | int | INOUT | |
@CURRENTAPPUSERID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_GLOBALCHANGE_ADDCONSTITUENTINTERACTION
(
@IDSETREGISTERID uniqueidentifier = null,
@EXPECTEDDATE datetime = null,
@ACTUALDATE datetime = null,
@FUNDRAISERID uniqueidentifier = null,
@INTERACTIONTYPECODEID uniqueidentifier,
@OBJECTIVE nvarchar(100) = '',
@STATUSCODE tinyint = 0,
@COMMENT nvarchar(max) = '',
@EVENTID uniqueidentifier = null,
@PARTICIPANTS xml = null,
@INTERACTIONCATEGORYID uniqueidentifier = null,
@INTERACTIONSUBCATEGORYID uniqueidentifier = null,
@SITES xml = null,
@CHANGEAGENTID uniqueidentifier = null,
@ASOF as datetime = null,
@NUMBERADDED int = 0 output,
@NUMBEREDITED int = 0 output,
@NUMBERDELETED int = 0 output,
@CURRENTAPPUSERID uniqueidentifier = null
)
as
set nocount off;
set @NUMBERADDED = 0;
set @NUMBEREDITED = 0;
set @NUMBERDELETED = 0;
if @IDSETREGISTERID is null begin
raiserror ('IDSETREGISTERID is required',13,1);
end
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @BPID uniqueidentifier = '3269A1D1-31CB-4D28-945C-B7623A3EFCCA';
if @SITES is not null begin
set @SITES = (SELECT
ID,
SITEID
FROM
dbo.UFN_CONSTITUENTINTERACTION_GETSITES_FROMITEMLISTXML(@SITES)
where
dbo.UFN_SECURITY_APPUSER_GRANTED_BUSINESSPROCESS_FORSITE(@CURRENTAPPUSERID, @BPID, SITEID) = 1
or dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1
for xml raw('ITEM'),type,elements,root('SITES'),BINARY BASE64);
end
declare @BYPASSSECURITY bit;
declare @BYPASSSITESECURITY bit;
exec dbo.USP_SECURITY_APPUSER_BYPASSSECURITYFORBUSINESSPROCESS @CURRENTAPPUSERID, @BPID, @BYPASSSECURITY output, @BYPASSSITESECURITY output;
declare @IDSETRECORDS table (CONSTITUENTID uniqueidentifier, INTERACTIONID uniqueidentifier);
insert into @IDSETRECORDS(CONSTITUENTID, INTERACTIONID)
select
ID,
newID()
from
dbo.UFN_CONSTITUENT_GETRECORDSINSELECTION_FORBUSINESSPROCESS(@CURRENTAPPUSERID, @IDSETREGISTERID, @BPID, @BYPASSSECURITY, @BYPASSSITESECURITY)
insert into dbo.INTERACTION (
ID,
ADDEDBYID,
CHANGEDBYID,
CONSTITUENTID,
EXPECTEDDATE,
ACTUALDATE,
FUNDRAISERID,
INTERACTIONTYPECODEID,
OBJECTIVE,
STATUSCODE,
COMMENT,
EVENTID,
INTERACTIONSUBCATEGORYID)
select
IDSETRECORDS.INTERACTIONID,
@CHANGEAGENTID,
@CHANGEAGENTID,
IDSETRECORDS.CONSTITUENTID,
@EXPECTEDDATE,
@ACTUALDATE,
@FUNDRAISERID,
@INTERACTIONTYPECODEID,
@OBJECTIVE,
@STATUSCODE,
@COMMENT,
@EVENTID,
@INTERACTIONSUBCATEGORYID
from
@IDSETRECORDS as IDSETRECORDS
set @NUMBERADDED = @@ROWCOUNT;
declare IDSETCURSOR cursor local fast_forward for
select
INTERACTIONID
from
@IDSETRECORDS
declare @INTERACTIONID uniqueidentifier;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
open IDSETCURSOR;
fetch next from IDSETCURSOR into @INTERACTIONID;
while (@@FETCH_STATUS = 0)
begin
exec dbo.USP_CONSTITUENTINTERACTION_GETSITES_ADDFROMXML @INTERACTIONID, @SITES, @CHANGEAGENTID, @CURRENTDATE;
exec dbo.USP_INTERACTION_PARTICIPANTS_ADDFROMXML @INTERACTIONID, @PARTICIPANTS, @CHANGEAGENTID;
fetch next from IDSETCURSOR into @INTERACTIONID;
end
close IDSETCURSOR;
deallocate IDSETCURSOR;
return 0;