USP_DATAFORMTEMPLATE_ADD_MKTSEGMENTATIONSEGMENTGROUP_PRELOAD
The load procedure used by the edit dataform template "Marketing Effort Segment Group Add Form"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SEGMENTATIONIDMARKETINGPLANBRIEFIDSEQUENCE | nvarchar(100) | IN | Input parameter indicating the context ID for the record being added. |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@SOURCECODEID | uniqueidentifier | INOUT | Source code ID |
@ASKLADDERS | xml | INOUT | Ask ladders |
@SEGMENTATIONSITEID | uniqueidentifier | INOUT | Marketing effort site ID |
@PACKAGEID | uniqueidentifier | INOUT | Package |
@PACKAGECODE | nvarchar(10) | INOUT | Package code |
@RESPONSERATE | decimal(5, 2) | INOUT | Response rate |
@GIFTAMOUNT | money | INOUT | Gift amount |
@ISBBEC | bit | INOUT | Is BBEC? |
@USEADDRESSPROCESSING | bit | INOUT | Use address processing? |
@ADDRESSPROCESSINGOPTIONID | uniqueidentifier | INOUT | Address processing options |
@ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE | tinyint | INOUT | Consider seasonal addresses as of |
@ADDRESSPROCESSINGOPTIONSEASONALASOFDATE | datetime | INOUT | Consider seasonal addresses as of |
@NAMEFORMATPARAMETERID | uniqueidentifier | INOUT | Name format options |
@BUSINESSUNITS | xml | INOUT | Business units |
@MAILINGTYPECODE | tinyint | INOUT | Mailing type code |
@BASECURRENCYID | uniqueidentifier | INOUT | Base currency ID |
@PACKAGEADDDATAFORMCONTEXT | nvarchar(128) | INOUT | Package add data form context |
@SEGMENTGROUPADDDATAFORMCONTEXT | nvarchar(38) | INOUT | Segment group add data form context |
@PACKAGEPARTDEFINITIONID | uniqueidentifier | INOUT | |
@TESTSEGMENTPARTDEFINITIONID | uniqueidentifier | INOUT | |
@EFFORTOVERRIDESBUSINESSUNITS | bit | INOUT | |
@PACKAGECODEVALUEID | uniqueidentifier | INOUT | |
@CHANNELPARTDEFINITIONID | uniqueidentifier | INOUT | |
@CHANNELCODEVALUEID | uniqueidentifier | INOUT | |
@CHANNELCODE | nvarchar(10) | INOUT | |
@EFFORTCHANNELCODE | tinyint | INOUT | |
@ALLOWEFFORTBUSINESSUNITSOVERRIDE | bit | INOUT | |
@ALLOWEFFORTADDRESSPROCESSINGOVERRIDE | bit | INOUT |
Definition
Copy
CREATE procedure dbo.[USP_DATAFORMTEMPLATE_ADD_MKTSEGMENTATIONSEGMENTGROUP_PRELOAD]
(
@SEGMENTATIONIDMARKETINGPLANBRIEFIDSEQUENCE nvarchar(100),
@CURRENTAPPUSERID uniqueidentifier,
@SOURCECODEID uniqueidentifier = null output,
@ASKLADDERS xml = null output,
@SEGMENTATIONSITEID uniqueidentifier = null output,
@PACKAGEID uniqueidentifier = null output,
@PACKAGECODE nvarchar(10) = null output,
@RESPONSERATE decimal(5,2) = null output,
@GIFTAMOUNT money = null output,
@ISBBEC bit = null output,
@USEADDRESSPROCESSING bit = null output,
@ADDRESSPROCESSINGOPTIONID uniqueidentifier = null output,
@ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE tinyint = null output,
@ADDRESSPROCESSINGOPTIONSEASONALASOFDATE datetime = null output,
@NAMEFORMATPARAMETERID uniqueidentifier = null output,
@BUSINESSUNITS xml = null output,
@MAILINGTYPECODE tinyint = null output,
@BASECURRENCYID uniqueidentifier = null output,
@PACKAGEADDDATAFORMCONTEXT nvarchar(128) = null output,
@SEGMENTGROUPADDDATAFORMCONTEXT nvarchar(38) = null output,
@PACKAGEPARTDEFINITIONID uniqueidentifier = null output,
@TESTSEGMENTPARTDEFINITIONID uniqueidentifier = null output,
@EFFORTOVERRIDESBUSINESSUNITS bit = null output,
@PACKAGECODEVALUEID uniqueidentifier = null output,
@CHANNELPARTDEFINITIONID uniqueidentifier = null output,
@CHANNELCODEVALUEID uniqueidentifier = null output,
@CHANNELCODE nvarchar(10) = null output,
@EFFORTCHANNELCODE tinyint = null output,
@ALLOWEFFORTBUSINESSUNITSOVERRIDE bit = null output,
@ALLOWEFFORTADDRESSPROCESSINGOVERRIDE bit = null output
)
as
set nocount on;
declare @SEGMENTATIONID uniqueidentifier;
declare @MARKETINGPLANBRIEFID uniqueidentifier;
declare @OVERRIDEBUSINESSUNITS bit;
declare @ACTIVE bit;
if charindex('|', @SEGMENTATIONIDMARKETINGPLANBRIEFIDSEQUENCE, 1) > 0
begin
set @SEGMENTATIONID = convert(uniqueidentifier, substring(@SEGMENTATIONIDMARKETINGPLANBRIEFIDSEQUENCE, 1, charindex('|', @SEGMENTATIONIDMARKETINGPLANBRIEFIDSEQUENCE, 1) - 1));
if charindex('|', @SEGMENTATIONIDMARKETINGPLANBRIEFIDSEQUENCE, charindex('|', @SEGMENTATIONIDMARKETINGPLANBRIEFIDSEQUENCE, 1)) > 0
if len(substring(@SEGMENTATIONIDMARKETINGPLANBRIEFIDSEQUENCE, charindex('|', @SEGMENTATIONIDMARKETINGPLANBRIEFIDSEQUENCE, 1) + 1, charindex('|', @SEGMENTATIONIDMARKETINGPLANBRIEFIDSEQUENCE, charindex('|', @SEGMENTATIONIDMARKETINGPLANBRIEFIDSEQUENCE, 1)) - 1)) = 36
set @MARKETINGPLANBRIEFID = convert(uniqueidentifier, substring(@SEGMENTATIONIDMARKETINGPLANBRIEFIDSEQUENCE, charindex('|', @SEGMENTATIONIDMARKETINGPLANBRIEFIDSEQUENCE, 1) + 1, charindex('|', @SEGMENTATIONIDMARKETINGPLANBRIEFIDSEQUENCE, charindex('|', @SEGMENTATIONIDMARKETINGPLANBRIEFIDSEQUENCE, 1)) - 1));
end
else
set @SEGMENTATIONID = convert(uniqueidentifier, @SEGMENTATIONIDMARKETINGPLANBRIEFIDSEQUENCE);
select
@PACKAGEID = [MKTMARKETINGPLANBRIEF].[PACKAGEID],
@PACKAGECODEVALUEID = [MKTPACKAGE].[PARTDEFINITIONVALUESID],
@PACKAGECODE = [MKTPACKAGE].[CODE],
@CHANNELCODEVALUEID = [MKTPACKAGE].[CHANNELPARTDEFINITIONVALUESID],
@CHANNELCODE = [MKTPACKAGE].[CHANNELSOURCECODE],
@RESPONSERATE = [MKTMARKETINGPLANBRIEF].[RESPONSERATEGOAL],
@GIFTAMOUNT = [MKTMARKETINGPLANBRIEF].[AVERAGEREVENUEGOAL]
from dbo.[MKTMARKETINGPLANBRIEF]
left outer join dbo.[MKTPACKAGE] on [MKTPACKAGE].[ID] = [MKTMARKETINGPLANBRIEF].[PACKAGEID]
where [MKTMARKETINGPLANBRIEF].[ID] = @MARKETINGPLANBRIEFID;
-- check if the mailing is currently being activated...
declare @R int;
exec @R = dbo.[USP_MKTSEGMENTATION_CHECKACTIVATION] @SEGMENTATIONID;
if @R <> 0
return 1;
select
@MAILINGTYPECODE = [MKTSEGMENTATION].[MAILINGTYPECODE],
@SOURCECODEID = [MKTSEGMENTATION].[SOURCECODEID],
@SEGMENTATIONSITEID = [MKTSEGMENTATION].[SITEID],
@BASECURRENCYID = [MKTSEGMENTATION].[BASECURRENCYID],
@PACKAGEADDDATAFORMCONTEXT = convert(nvarchar(3), [MKTSEGMENTATION].[MAILINGTYPECODE]) + '|' + convert(nvarchar(36), [MKTSEGMENTATION].[BASECURRENCYID]),
@SEGMENTGROUPADDDATAFORMCONTEXT = '1|' + convert(nvarchar(36), [MKTSEGMENTATION].[BASECURRENCYID]),
@EFFORTOVERRIDESBUSINESSUNITS = [MKTSEGMENTATION].[OVERRIDEBUSINESSUNITS],
@ALLOWEFFORTBUSINESSUNITSOVERRIDE = isnull([MKTCOMMUNICATIONTEMPLATE].[ALLOWEFFORTBUSINESSUNITSOVERRIDE], 1),
@EFFORTCHANNELCODE = isnull([MKTSEGMENTATION].[CHANNELCODE], 255),
@ALLOWEFFORTADDRESSPROCESSINGOVERRIDE = isnull([MKTCOMMUNICATIONTEMPLATE].[ALLOWEFFORTADDRESSPROCESSINGOVERRIDE], 1)
from dbo.[MKTSEGMENTATION]
left outer join dbo.[MKTCOMMUNICATIONTEMPLATE] on [MKTCOMMUNICATIONTEMPLATE].[MKTSEGMENTATIONID] = [MKTSEGMENTATION].[ID]
where [MKTSEGMENTATION].[ID] = @SEGMENTATIONID;
set @ASKLADDERS = (select [QUERYVIEWCATALOG].[ID] as [RECORDSOURCEID], [QUERYVIEWCATALOG].[DISPLAYNAME] as [RECORDSOURCENAME]
from dbo.[MKTRECORDSOURCE]
inner join dbo.[QUERYVIEWCATALOG] on [QUERYVIEWCATALOG].[ID] = [MKTRECORDSOURCE].[ID]
where dbo.[UFN_MKTRECORDSOURCE_VALIDFORPRODUCT]([MKTRECORDSOURCE].[ID]) = 1
for xml raw('ITEM'), type, elements, root('ASKLADDERS'), binary base64);
set @ISBBEC = (case when dbo.[UFN_INSTALLEDPRODUCTS_PRODUCTIS]('BB9873D7-F1ED-430A-8AB4-F09F47056538') = 0 then 1 else 0 end);
if @ISBBEC = 1
begin
select
@USEADDRESSPROCESSING = [USEADDRESSPROCESSING],
@ADDRESSPROCESSINGOPTIONID = [ADDRESSPROCESSINGOPTIONID],
@NAMEFORMATPARAMETERID = [NAMEFORMATPARAMETERID],
@ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE = [ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE],
@ADDRESSPROCESSINGOPTIONSEASONALASOFDATE = [ADDRESSPROCESSINGOPTIONSEASONALASOFDATE],
@OVERRIDEBUSINESSUNITS = [OVERRIDEBUSINESSUNITS],
@ACTIVE = [MKTSEGMENTATION].[ACTIVE]
from dbo.[MKTSEGMENTATION]
where [ID] = @SEGMENTATIONID;
if @ADDRESSPROCESSINGOPTIONID is null
select top 1 @ADDRESSPROCESSINGOPTIONID = [ID] from dbo.[ADDRESSPROCESSINGOPTION] where [ISDEFAULT] = 1 and dbo.[UFN_SITEALLOWEDFORUSER](@CURRENTAPPUSERID, [SITEID]) = 1;
if @NAMEFORMATPARAMETERID is null
select top 1 @NAMEFORMATPARAMETERID = [ID] from dbo.[NAMEFORMATPARAMETER] where [ISDEFAULT] = 1 and dbo.[UFN_SITEALLOWEDFORUSER](@CURRENTAPPUSERID, [SITEID]) = 1;
if @EFFORTOVERRIDESBUSINESSUNITS = 1
set @BUSINESSUNITS = dbo.[UFN_MKTSEGMENTATIONBUSINESSUNIT_GETBUSINESSUNITS_TOITEMLISTXML](@SEGMENTATIONID)
else
begin
declare @APPEALSYSTEMID uniqueidentifier;
select
@APPEALSYSTEMID = convert(uniqueidentifier, [MKTSEGMENTATIONACTIVATE].[APPEALSYSTEMID])
from dbo.[MKTAPPEALRECORDSOURCE]
inner join [QUERYVIEWCATALOG] on [MKTAPPEALRECORDSOURCE].[ID] = [QUERYVIEWCATALOG].[ID]
left join [MKTSEGMENTATIONACTIVATE] on ([MKTSEGMENTATIONACTIVATE].[RECORDSOURCEID] = [MKTAPPEALRECORDSOURCE].[ID] and [MKTSEGMENTATIONACTIVATE].[SEGMENTATIONID] = @SEGMENTATIONID)
where (@ACTIVE = 0 or (@ACTIVE = 1 and [MKTSEGMENTATIONACTIVATE].[APPEALSYSTEMID] <> ''))
and (dbo.[UFN_MKTRECORDSOURCE_VALIDFORBBEC]([QUERYVIEWCATALOG].[ID]) = 1);
if @APPEALSYSTEMID is not null
set @BUSINESSUNITS = dbo.[UFN_APPEALBUSINESSUNIT_GETBUSINESSUNITS_TOITEMLISTXML](@APPEALSYSTEMID);
end
end
else
begin
set @USEADDRESSPROCESSING = 0;
set @ADDRESSPROCESSINGOPTIONID = null;
set @ADDRESSPROCESSINGOPTIONSEASONALASOFDATETYPECODE = 0;
set @ADDRESSPROCESSINGOPTIONSEASONALASOFDATE = null;
set @NAMEFORMATPARAMETERID = null;
set @OVERRIDEBUSINESSUNITS = 0;
end
select @PACKAGEPARTDEFINITIONID = [ID] from dbo.[MKTSOURCECODEPARTDEFINITION] where [ITEMTYPECODE] = 2;
select @CHANNELPARTDEFINITIONID = [ID] from dbo.[MKTSOURCECODEPARTDEFINITION] where [ITEMTYPECODE] = 3;
select @TESTSEGMENTPARTDEFINITIONID = [ID] from dbo.[MKTSOURCECODEPARTDEFINITION] where [ITEMTYPECODE] = 7;
return 0;