USP_DATAFORMTEMPLATE_EDIT_MKTCOMMUNICATIONEFFORTACTIVATIONSETTINGS
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@RUNSEGMENTATIONSEGMENTREFRESHPROCESS | bit | IN | |
@RUNMARKETINGEXCLUSIONSREPORT | bit | IN | |
@CACHESOURCEANALYSISRULEDATA | bit | IN | |
@RUNSEGMENTATIONSEGMENTCALCULATEPROCESS | bit | IN | |
@RUNSEGMENTATIONSEGMENTREFRESHPROCESSACTIVATE | bit | IN | |
@RUNMARKETINGEXCLUSIONSREPORTACTIVATE | bit | IN | |
@CACHESOURCEANALYSISRULEDATAACTIVATE | bit | IN | |
@EXPORTAFTERACTIVATE | bit | IN |
Definition
Copy
CREATE procedure dbo.[USP_DATAFORMTEMPLATE_EDIT_MKTCOMMUNICATIONEFFORTACTIVATIONSETTINGS]
(
@ID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@RUNSEGMENTATIONSEGMENTREFRESHPROCESS bit,
@RUNMARKETINGEXCLUSIONSREPORT bit,
@CACHESOURCEANALYSISRULEDATA bit,
@RUNSEGMENTATIONSEGMENTCALCULATEPROCESS bit,
@RUNSEGMENTATIONSEGMENTREFRESHPROCESSACTIVATE bit,
@RUNMARKETINGEXCLUSIONSREPORTACTIVATE bit,
@CACHESOURCEANALYSISRULEDATAACTIVATE bit,
@EXPORTAFTERACTIVATE bit
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.[USP_CHANGEAGENT_GETORCREATECHANGEAGENT] @CHANGEAGENTID output;
declare @CURRENTDATE datetime = getdate();
declare @SEGMENTATIONSEGMENTCALCULATEPROCESSID uniqueidentifier;
declare @SEGMENTATIONACTIVATEPROCESSID uniqueidentifier;
declare @RUNSEGMENTATIONSEGMENTREFRESHPROCESSLOCKED bit = 0;
declare @RUNMARKETINGEXCLUSIONSREPORTLOCKED bit = 0;
declare @CACHESOURCEANALYSISRULEDATALOCKED bit = 0;
declare @ACTIVATEOPTIONSLOCKED bit = 0;
declare @EXPORTAFTERACTIVATELOCKED bit = 0;
declare @CACHESOURCEANALYSISRULEDATAACTIVATELOCKED bit = 0;
begin try
/* Get template locked settings */
if exists(select top 1 1 from dbo.[MKTCOMMUNICATIONTEMPLATE] where [MKTSEGMENTATIONID] = @ID)
begin
select
@RUNSEGMENTATIONSEGMENTREFRESHPROCESSLOCKED = [MKTCOMMUNICATIONTEMPLATEDEFAULT].[RUNSEGMENTATIONSEGMENTREFRESHPROCESSLOCKED],
@RUNMARKETINGEXCLUSIONSREPORTLOCKED = [MKTCOMMUNICATIONTEMPLATEDEFAULT].[RUNMARKETINGEXCLUSIONSREPORTLOCKED],
@CACHESOURCEANALYSISRULEDATALOCKED = [MKTCOMMUNICATIONTEMPLATEDEFAULT].[CACHESOURCEANALYSISRULEDATALOCKED],
@ACTIVATEOPTIONSLOCKED = [MKTCOMMUNICATIONTEMPLATEDEFAULT].[ACTIVATEOPTIONSLOCKED],
@EXPORTAFTERACTIVATELOCKED = [MKTCOMMUNICATIONTEMPLATEDEFAULT].[EXPORTAFTERACTIVATELOCKED],
@CACHESOURCEANALYSISRULEDATAACTIVATELOCKED = [MKTCOMMUNICATIONTEMPLATEDEFAULT].[CACHESOURCEANALYSISRULEDATAACTIVATELOCKED]
from dbo.[MKTCOMMUNICATIONTEMPLATE]
inner join dbo.[MKTCOMMUNICATIONTEMPLATEDEFAULT] on [MKTCOMMUNICATIONTEMPLATEDEFAULT].[COMMUNICATIONTEMPLATEID] = [MKTCOMMUNICATIONTEMPLATE].[ID]
where [MKTCOMMUNICATIONTEMPLATE].[MKTSEGMENTATIONID] = @ID;
end
/* Get process IDs */
select
@SEGMENTATIONSEGMENTCALCULATEPROCESSID = [MKTSEGMENTATIONSEGMENTCALCULATEPROCESS].[ID],
@SEGMENTATIONACTIVATEPROCESSID = [MKTSEGMENTATIONACTIVATEPROCESS].[ID]
from dbo.[MKTSEGMENTATION]
inner join dbo.[MKTSEGMENTATIONSEGMENTCALCULATEPROCESS] on [MKTSEGMENTATIONSEGMENTCALCULATEPROCESS].[SEGMENTATIONID] = [MKTSEGMENTATION].[ID]
inner join dbo.[MKTSEGMENTATIONACTIVATEPROCESS] on [MKTSEGMENTATIONACTIVATEPROCESS].[SEGMENTATIONID] = [MKTSEGMENTATION].[ID]
where [MKTSEGMENTATION].[ID] = @ID;
/* Update counts settings */
update [MKTSEGMENTATIONSEGMENTCALCULATEPROCESS]
set
[RUNSEGMENTATIONSEGMENTREFRESHPROCESS] = case when @RUNSEGMENTATIONSEGMENTREFRESHPROCESSLOCKED = 1 then [RUNSEGMENTATIONSEGMENTREFRESHPROCESS] else @RUNSEGMENTATIONSEGMENTREFRESHPROCESS end,
[RUNMARKETINGEXCLUSIONSREPORT] = case when @RUNMARKETINGEXCLUSIONSREPORTLOCKED = 1 then [RUNMARKETINGEXCLUSIONSREPORT] else @RUNMARKETINGEXCLUSIONSREPORT end,
[CACHESOURCEANALYSISRULEDATA] = case when @CACHESOURCEANALYSISRULEDATALOCKED = 1 then [CACHESOURCEANALYSISRULEDATA] else @CACHESOURCEANALYSISRULEDATA end,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
where [ID] = @SEGMENTATIONSEGMENTCALCULATEPROCESSID;
/* Update activation settings */
update [MKTSEGMENTATIONACTIVATEPROCESS]
set
[RUNSEGMENTATIONSEGMENTCALCULATEPROCESS] = case when @ACTIVATEOPTIONSLOCKED = 1 then [RUNSEGMENTATIONSEGMENTCALCULATEPROCESS] else @RUNSEGMENTATIONSEGMENTCALCULATEPROCESS end,
[RUNSEGMENTATIONSEGMENTREFRESHPROCESS] = case when @ACTIVATEOPTIONSLOCKED = 1 then [RUNSEGMENTATIONSEGMENTREFRESHPROCESS] else @RUNSEGMENTATIONSEGMENTREFRESHPROCESSACTIVATE end,
[RUNMARKETINGEXCLUSIONSREPORT] = case when @ACTIVATEOPTIONSLOCKED = 1 then [RUNMARKETINGEXCLUSIONSREPORT] else @RUNMARKETINGEXCLUSIONSREPORTACTIVATE end,
[CACHESOURCEANALYSISRULEDATA] = case when @CACHESOURCEANALYSISRULEDATAACTIVATELOCKED = 1 then [CACHESOURCEANALYSISRULEDATA] else @CACHESOURCEANALYSISRULEDATAACTIVATE end,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
where [ID] = @SEGMENTATIONACTIVATEPROCESSID;
/* Update export settings */
update [MKTSEGMENTATION]
set
[RUNACTIVATEANDEXPORT] = case when @EXPORTAFTERACTIVATELOCKED = 1 then [RUNACTIVATEANDEXPORT] else @EXPORTAFTERACTIVATE end,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
where [ID] = @ID;
end try
begin catch
exec dbo.[USP_RAISE_ERROR];
return 1;
end catch
return 0;