USP_DATAFORMTEMPLATE_ADD_FAFPROGRAMASSIGNEVENTS
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | |
@FAFPROGRAMID | uniqueidentifier | IN | |
@SELECTEDEVENTS | xml | IN | |
@CHANGEAGENTID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_FAFPROGRAMASSIGNEVENTS
(
@ID uniqueidentifier = null output,
@FAFPROGRAMID uniqueidentifier,
@SELECTEDEVENTS xml = null,
@CHANGEAGENTID uniqueidentifier = null
)
as
set nocount on;
declare @CURRENTDATE datetime
declare @REMOVEDEVENTLIST table(EVENTID uniqueidentifier)
declare @ADDEDEVENTLIST table(EVENTID uniqueidentifier)
if @ID is null
set @ID = newid()
set @CURRENTDATE = getdate()
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
insert into @REMOVEDEVENTLIST(EVENTID)
select EVENTID
from dbo.EVENTEXTENSION
where FAFPROGRAMID = @FAFPROGRAMID
and EVENTID not in (select EVENTID from dbo.UFN_GLOBALCHANGE_GETEVENTLIST_FROMITEMLISTXML(@SELECTEDEVENTS))
insert into @ADDEDEVENTLIST(EVENTID)
select EVENTID
from dbo.UFN_GLOBALCHANGE_GETEVENTLIST_FROMITEMLISTXML(@SELECTEDEVENTS)
where EVENTID not in (select EVENTID from dbo.EVENTEXTENSION where FAFPROGRAMID = @FAFPROGRAMID)
begin try
update dbo.EVENTEXTENSION
set FAFPROGRAMID = NULL, CHANGEDBYID = @CHANGEAGENTID, DATECHANGED = @CURRENTDATE
where EVENTID in (select EVENTID from @REMOVEDEVENTLIST)
update dbo.EVENTEXTENSION
set FAFPROGRAMID = @FAFPROGRAMID, CHANGEDBYID = @CHANGEAGENTID, DATECHANGED = @CURRENTDATE
where EVENTID in (select EVENTID from @ADDEDEVENTLIST)
--remove local group from this campaign
update dbo.TEAMEXTENSION
set NFGCAMPAIGNLEVELID = null,CHANGEDBYID = @CHANGEAGENTID, DATECHANGED = @CURRENTDATE
where EVENTID in (select EVENTID from @REMOVEDEVENTLIST)
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0