USP_DATAFORMTEMPLATE_EDIT_MKTSEGMENTATIONSEGMENTREFRESHPROCESS_2
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@RUNSEGMENTATIONSEGMENTREFRESHPROCESS | bit | IN | |
@CACHESOURCEANALYSISRULEDATA | bit | IN | |
@RUNMARKETINGEXCLUSIONSREPORT | bit | IN |
Definition
Copy
CREATE procedure dbo.[USP_DATAFORMTEMPLATE_EDIT_MKTSEGMENTATIONSEGMENTREFRESHPROCESS_2]
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@RUNSEGMENTATIONSEGMENTREFRESHPROCESS bit,
@CACHESOURCEANALYSISRULEDATA bit,
@RUNMARKETINGEXCLUSIONSREPORT bit
)
as
set nocount on;
declare @CURRENTDATE datetime;
begin try
if @CHANGEAGENTID is null
exec dbo.[USP_CHANGEAGENT_GETORCREATECHANGEAGENT] @CHANGEAGENTID output;
set @CURRENTDATE = getdate();
if exists(select 1 from dbo.[BUSINESSPROCESSSTATUS] where [STATUSCODE] = 4 and [BUSINESSPROCESSPARAMETERSETID] = @ID)
raiserror('BBERR_ENQUEUED', 13, 1);
declare @RUNSEGMENTATIONSEGMENTREFRESHPROCESSLOCKED bit = 0;
declare @CACHESOURCEANALYSISRULEDATALOCKED bit = 0;
declare @RUNMARKETINGEXCLUSIONSREPORTLOCKED bit = 0;
declare @SEGMENTATIONID uniqueidentifier = (select [SEGMENTATIONID] from dbo.[MKTSEGMENTATIONSEGMENTCALCULATEPROCESS] where [ID] = @ID);
/* Get template calculation locked settings */
if exists(select top 1 1 from dbo.[MKTCOMMUNICATIONTEMPLATE] where [MKTSEGMENTATIONID] = @SEGMENTATIONID)
begin
select
@RUNSEGMENTATIONSEGMENTREFRESHPROCESSLOCKED = [MKTCOMMUNICATIONTEMPLATEDEFAULT].[RUNSEGMENTATIONSEGMENTREFRESHPROCESSLOCKED],
@CACHESOURCEANALYSISRULEDATALOCKED = [MKTCOMMUNICATIONTEMPLATEDEFAULT].[CACHESOURCEANALYSISRULEDATALOCKED],
@RUNMARKETINGEXCLUSIONSREPORTLOCKED = [MKTCOMMUNICATIONTEMPLATEDEFAULT].[RUNMARKETINGEXCLUSIONSREPORTLOCKED]
from dbo.[MKTCOMMUNICATIONTEMPLATE]
inner join dbo.[MKTCOMMUNICATIONTEMPLATEDEFAULT] on [MKTCOMMUNICATIONTEMPLATEDEFAULT].[COMMUNICATIONTEMPLATEID] = [MKTCOMMUNICATIONTEMPLATE].[ID]
where [MKTCOMMUNICATIONTEMPLATE].[MKTSEGMENTATIONID] = @SEGMENTATIONID;
end
/* Don't allow overriding of locked values */
update dbo.[MKTSEGMENTATIONSEGMENTCALCULATEPROCESS] set
[RUNSEGMENTATIONSEGMENTREFRESHPROCESS] = case when @RUNSEGMENTATIONSEGMENTREFRESHPROCESSLOCKED = 1 then [RUNSEGMENTATIONSEGMENTREFRESHPROCESS] else @RUNSEGMENTATIONSEGMENTREFRESHPROCESS end,
[CACHESOURCEANALYSISRULEDATA] = case when @CACHESOURCEANALYSISRULEDATALOCKED = 1 then [CACHESOURCEANALYSISRULEDATA] else @CACHESOURCEANALYSISRULEDATA end,
[RUNMARKETINGEXCLUSIONSREPORT] = case when @RUNMARKETINGEXCLUSIONSREPORTLOCKED = 1 then [RUNMARKETINGEXCLUSIONSREPORT] else @RUNMARKETINGEXCLUSIONSREPORT end,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
where [ID] = @ID;
end try
begin catch
exec dbo.[USP_RAISE_ERROR];
return 1;
end catch
return 0;