USP_DATAFORMTEMPLATE_EDITLOAD_MKTSEGMENTATIONSEGMENTREFRESHPROCESS
The load procedure used by the edit dataform template "Marketing Effort Segment Record Count Calculation Edit Form"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter used to load the fields defined on the form. |
@DATALOADED | bit | INOUT | Output parameter indicating whether or not data was actually loaded. |
@SEGMENTATIONID | uniqueidentifier | INOUT | Marketing effort |
@RUNSEGMENTATIONSEGMENTREFRESHPROCESS | bit | INOUT | Refresh segment selections and filters |
@CACHESOURCEANALYSISRULEDATA | bit | INOUT | Capture source analysis rule data |
@SEGMENTATIONSEGMENTREFRESHPROCESSLASTRUN | datetime | INOUT | Segment selections and filters last refreshed |
@SOURCEANALYSISRULEDATALASTCACHED | datetime | INOUT | Source analysis rule data last captured |
@ISBBEC | bit | INOUT | Is BBEC? |
@TSLONG | bigint | INOUT | Output parameter indicating the TSLONG value of the record being edited. This is used to manage multi-user concurrency issues when multiple users access the same record. |
@RUNMARKETINGEXCLUSIONSREPORT | bit | INOUT | |
@MARKETINGEXCLUSIONSREPORTLASTRUN | datetime | INOUT | |
@ADVANCEDNAMEFORMATOPTIONUSED | bit | INOUT | |
@RUNSEGMENTATIONSEGMENTREFRESHPROCESSLOCKED | bit | INOUT | |
@CACHESOURCEANALYSISRULEDATALOCKED | bit | INOUT | |
@RUNMARKETINGEXCLUSIONSREPORTLOCKED | bit | INOUT |
Definition
Copy
CREATE procedure dbo.[USP_DATAFORMTEMPLATE_EDITLOAD_MKTSEGMENTATIONSEGMENTREFRESHPROCESS]
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@SEGMENTATIONID uniqueidentifier = null output,
@RUNSEGMENTATIONSEGMENTREFRESHPROCESS bit = null output,
@CACHESOURCEANALYSISRULEDATA bit = null output,
@SEGMENTATIONSEGMENTREFRESHPROCESSLASTRUN datetime = null output,
@SOURCEANALYSISRULEDATALASTCACHED datetime = null output,
@ISBBEC bit = null output,
@TSLONG bigint = 0 output,
@RUNMARKETINGEXCLUSIONSREPORT bit = null output,
@MARKETINGEXCLUSIONSREPORTLASTRUN datetime = null output,
@ADVANCEDNAMEFORMATOPTIONUSED bit = null output,
@RUNSEGMENTATIONSEGMENTREFRESHPROCESSLOCKED bit = null output,
@CACHESOURCEANALYSISRULEDATALOCKED bit = null output,
@RUNMARKETINGEXCLUSIONSREPORTLOCKED bit = null output
)
as
set nocount on;
set @DATALOADED = 0;
set @TSLONG = 0;
select
@DATALOADED = 1,
@SEGMENTATIONID = [MKTSEGMENTATIONSEGMENTCALCULATEPROCESS].[SEGMENTATIONID],
@RUNSEGMENTATIONSEGMENTREFRESHPROCESS = [MKTSEGMENTATIONSEGMENTCALCULATEPROCESS].[RUNSEGMENTATIONSEGMENTREFRESHPROCESS],
@CACHESOURCEANALYSISRULEDATA = [MKTSEGMENTATIONSEGMENTCALCULATEPROCESS].[CACHESOURCEANALYSISRULEDATA],
@SEGMENTATIONSEGMENTREFRESHPROCESSLASTRUN = [LASTRUN].[SEGMENTATIONSEGMENTREFRESHPROCESSLASTRUN],
@SOURCEANALYSISRULEDATALASTCACHED = [LASTRUN].[CACHESOURCEANALYSISRULEDATALASTRUN],
@ISBBEC = (case when dbo.[UFN_INSTALLEDPRODUCTS_PRODUCTIS]('BB9873D7-F1ED-430A-8AB4-F09F47056538') = 0 then 1 else 0 end),
@RUNMARKETINGEXCLUSIONSREPORT = [MKTSEGMENTATIONSEGMENTCALCULATEPROCESS].[RUNMARKETINGEXCLUSIONSREPORT],
@MARKETINGEXCLUSIONSREPORTLASTRUN = [LASTRUN].[MARKETINGEXCLUSIONSREPORTLASTRUN],
@TSLONG = [MKTSEGMENTATIONSEGMENTCALCULATEPROCESS].[TSLONG]
from dbo.[MKTSEGMENTATIONSEGMENTCALCULATEPROCESS]
left join dbo.[UFN_MKTCOMMUNICATIONEFFORT_GETLASTRUNDATE_BULK]() as [LASTRUN] on [LASTRUN].[SEGMENTATIONID] = [MKTSEGMENTATIONSEGMENTCALCULATEPROCESS].[SEGMENTATIONID]
where [MKTSEGMENTATIONSEGMENTCALCULATEPROCESS].[ID] = @ID;
/* If using a communication template, load the lock settings from the template */
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
if @DATALOADED = 1
begin
-- See if any segments use a name format containing an advanced spouse option.
if exists (select top 1 1
from dbo.[MKTSEGMENTATIONSEGMENT]
inner join dbo.[MKTSEGMENTATION] on [MKTSEGMENTATION].[ID] = [MKTSEGMENTATIONSEGMENT].[SEGMENTATIONID]
left join dbo.[NAMEFORMATPARAMETER] as [NAMEFORMATPARAMETEREFFORT] on [NAMEFORMATPARAMETEREFFORT].[ID] = [MKTSEGMENTATION].[NAMEFORMATPARAMETERID]
left join dbo.[NAMEFORMATPARAMETER] as [NAMEFORMATPARAMETERSEGMENT] on [NAMEFORMATPARAMETERSEGMENT].[ID] = [MKTSEGMENTATIONSEGMENT].[NAMEFORMATPARAMETERID]
where
[MKTSEGMENTATIONSEGMENT].[SEGMENTATIONID] = @SEGMENTATIONID
-- advanced name format on the segment level
and (([MKTSEGMENTATIONSEGMENT].[OVERRIDEADDRESSPROCESSING] = 1
and [MKTSEGMENTATIONSEGMENT].[USEADDRESSPROCESSING] = 1
and ([NAMEFORMATPARAMETERSEGMENT].[JOINTEXCLUDESPOUSE] = 1 or [NAMEFORMATPARAMETERSEGMENT].[JOINTSPOUSESMAILEDSEPARATELY] = 1))
-- advanced name format on the mailing level
or ([MKTSEGMENTATIONSEGMENT].[OVERRIDEADDRESSPROCESSING] = 0
and [MKTSEGMENTATION].[USEADDRESSPROCESSING] = 1
and ([NAMEFORMATPARAMETEREFFORT].[JOINTEXCLUDESPOUSE] = 1 or [NAMEFORMATPARAMETEREFFORT].[JOINTSPOUSESMAILEDSEPARATELY] = 1)))
)
set @ADVANCEDNAMEFORMATOPTIONUSED = 1;
else
set @ADVANCEDNAMEFORMATOPTIONUSED = 0;
end
return 0;