USP_DATAFORMTEMPLATE_ADD_MKTTESTCOMMUNICATIONEFFORT_PRELOAD
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SEGMENTATIONID | uniqueidentifier | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN | |
@EFFORTCOMMUNICATIONTEMPLATEID | uniqueidentifier | INOUT | |
@TEMPLATENAME | nvarchar(100) | INOUT | |
@EFFORTNAME | nvarchar(100) | INOUT | |
@COMMUNICATIONNAMESCHEMEID | uniqueidentifier | INOUT | |
@EFFORTNAMESCHEMETEXT | xml | INOUT | |
@NAMEPARTS | xml | INOUT | |
@EFFORTDESCRIPTION | nvarchar(255) | INOUT | |
@DESCRIPTIONLOCKED | bit | INOUT | |
@APPEALINFORMATION | xml | INOUT | |
@APPEALLOCKED | bit | INOUT | |
@EFFORTCHANNELCODE | tinyint | INOUT | |
@CHANNELCODELOCKED | bit | INOUT | |
@EFFORTSITEID | uniqueidentifier | INOUT | |
@SITEREQUIRED | bit | INOUT | |
@EFFORTDUEDATE | datetime | INOUT | |
@EFFORTLAUNCHDATE | datetime | INOUT | |
@EFFORTALLOWRESERVINGFINDERNUMBERS | bit | INOUT | |
@ALLOWRESERVINGFINDERNUMBERSLOCKED | bit | INOUT | |
@EFFORTALLOWSPECIFYBUDGET | bit | INOUT | |
@ALLOWSPECIFYBUDGETLOCKED | bit | INOUT | |
@EFFORTALLOWEXCLUDEPREVIOUSEFFORTS | bit | INOUT | |
@ALLOWEXCLUDEPREVIOUSEFFORTSLOCKED | bit | INOUT | |
@EFFORTBASECURRENCYID | uniqueidentifier | INOUT | |
@ACTIVE | bit | INOUT | |
@HASSEGMENT | bit | INOUT | |
@ISBBEC | bit | INOUT |
Definition
Copy
CREATE procedure dbo.[USP_DATAFORMTEMPLATE_ADD_MKTTESTCOMMUNICATIONEFFORT_PRELOAD]
(
@SEGMENTATIONID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier,
@EFFORTCOMMUNICATIONTEMPLATEID uniqueidentifier = null output,
@TEMPLATENAME nvarchar(100) = null output,
@EFFORTNAME nvarchar(100) = null output,
@COMMUNICATIONNAMESCHEMEID uniqueidentifier = null output,
@EFFORTNAMESCHEMETEXT xml = null output,
@NAMEPARTS xml = null output,
@EFFORTDESCRIPTION nvarchar(255) = null output,
@DESCRIPTIONLOCKED bit = null output,
@APPEALINFORMATION xml = null output,
@APPEALLOCKED bit = null output,
@EFFORTCHANNELCODE tinyint = null output,
@CHANNELCODELOCKED bit = null output,
@EFFORTSITEID uniqueidentifier = null output,
@SITEREQUIRED bit = null output,
@EFFORTDUEDATE datetime = null output,
@EFFORTLAUNCHDATE datetime = null output,
@EFFORTALLOWRESERVINGFINDERNUMBERS bit = null output,
@ALLOWRESERVINGFINDERNUMBERSLOCKED bit = null output,
@EFFORTALLOWSPECIFYBUDGET bit = null output,
@ALLOWSPECIFYBUDGETLOCKED bit = null output,
@EFFORTALLOWEXCLUDEPREVIOUSEFFORTS bit = null output,
@ALLOWEXCLUDEPREVIOUSEFFORTSLOCKED bit = null output,
@EFFORTBASECURRENCYID uniqueidentifier = null output,
@ACTIVE bit = null output,
@HASSEGMENT bit = null output,
@ISBBEC bit = null output
)
as
set nocount on;
--Check if the mailing is currently being activated...
declare @R int;
exec @R = dbo.[USP_MKTSEGMENTATION_CHECKACTIVATION] @SEGMENTATIONID;
if @R <> 0
return 1;
set @ISBBEC = (case when dbo.[UFN_INSTALLEDPRODUCTS_PRODUCTIS]('BB9873D7-F1ED-430A-8AB4-F09F47056538') = 0 then 1 else 0 end);
set @ACTIVE = 1;
select
@ACTIVE = [MKTSEGMENTATION].[ACTIVE],
@EFFORTNAME = [MKTSEGMENTATION].[NAME],
@EFFORTDESCRIPTION = [MKTSEGMENTATION].[DESCRIPTION],
@EFFORTSITEID = [MKTSEGMENTATION].[SITEID],
@EFFORTCHANNELCODE = [MKTSEGMENTATION].[CHANNELCODE],
@EFFORTDUEDATE = [MKTSEGMENTATION].[DUEDATE],
@EFFORTLAUNCHDATE = [MKTSEGMENTATION].[MAILDATE],
@EFFORTALLOWRESERVINGFINDERNUMBERS = [MKTSEGMENTATION].[ALLOWRESERVINGFINDERNUMBERS],
@EFFORTALLOWSPECIFYBUDGET = [MKTSEGMENTATION].[ALLOWSPECIFYBUDGET],
@EFFORTALLOWEXCLUDEPREVIOUSEFFORTS = [MKTSEGMENTATION].[ALLOWEXCLUDEPREVIOUSEFFORTS],
@EFFORTBASECURRENCYID = [MKTSEGMENTATION].[BASECURRENCYID],
@EFFORTCOMMUNICATIONTEMPLATEID = [MKTCOMMUNICATIONTEMPLATE].[ID],
@TEMPLATENAME = [MKTCOMMUNICATIONTEMPLATE].[NAME],
@COMMUNICATIONNAMESCHEMEID = [MKTCOMMUNICATIONNAMESCHEME].[ID],
@HASSEGMENT = (case when exists(select * from dbo.[MKTSEGMENTATIONSEGMENT] where [SEGMENTATIONID] = [MKTSEGMENTATION].[ID]) then 1 else 0 end)
from dbo.[MKTSEGMENTATION]
left join dbo.[MKTCOMMUNICATIONTEMPLATE] on [MKTSEGMENTATION].[ID] = [MKTCOMMUNICATIONTEMPLATE].[MKTSEGMENTATIONID]
left join dbo.[MKTCOMMUNICATIONNAMESCHEME] on [MKTSEGMENTATION].[ID] = [MKTCOMMUNICATIONNAMESCHEME].[MKTSEGMENTATIONID]
where
[MKTSEGMENTATION].[ID] = @SEGMENTATIONID;
--Name pattern may require site so set it here since the name pattern cannot change to a different one
set @SITEREQUIRED = cast(case
when dbo.[UFN_SITEREQUIREDFORUSERONFEATURE](@CURRENTAPPUSERID, '20b8fa36-2ea1-4d06-a8b6-b44fa7e2f392', 1) = 1 or
exists(select 1 from dbo.[MKTCOMMUNICATIONNAMESCHEMEPART] where [MKTCOMMUNICATIONNAMESCHEMEID] = @COMMUNICATIONNAMESCHEMEID and [NAMEPARTTYPECODE] = 4)
then 1
else 0
end as bit);
-- get appeal search catalog IDs with their record source names
set @APPEALINFORMATION = (
select
[MKTAPPEALRECORDSOURCE].[ID] as [RECORDSOURCEID],
[QUERYVIEWCATALOG].[DISPLAYNAME] as [RECORDSOURCENAME],
[MKTAPPEALRECORDSOURCE].[SEARCHLISTCATALOGID] as [SEARCHLISTCATALOGID],
[MKTAPPEALRECORDSOURCE].[DESCRIPTIONFIELD] as [SEARCHLISTDESCRIPTIONFIELD],
[MKTSEGMENTATIONACTIVATE].[APPEALSYSTEMID] as [APPEALSYSTEMID],
(case when @ISBBEC = 1 and [MKTSEGMENTATIONACTIVATE].[APPEALSYSTEMID] <> '' and dbo.[UFN_MKTRECORDSOURCE_VALIDFORBBEC]([MKTAPPEALRECORDSOURCE].[ID]) = 1 then
(select [APPEAL].[NAME] from dbo.[APPEAL] where [APPEAL].[ID] = cast([MKTSEGMENTATIONACTIVATE].[APPEALSYSTEMID] as uniqueidentifier))
else
[MKTSEGMENTATIONACTIVATE].[APPEALID]
end) as [APPEALID],
(case when @ISBBEC = 1 and [MKTSEGMENTATIONACTIVATE].[APPEALSYSTEMID] <> '' and dbo.[UFN_MKTRECORDSOURCE_VALIDFORBBEC]([MKTAPPEALRECORDSOURCE].[ID]) = 1 then
(select [APPEAL].[DESCRIPTION] from dbo.[APPEAL] where [APPEAL].[ID] = cast([MKTSEGMENTATIONACTIVATE].[APPEALSYSTEMID] as uniqueidentifier))
else
[MKTSEGMENTATIONACTIVATE].[APPEALDESCRIPTION]
end) as [APPEALDESCRIPTION]
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].[APPEALID] <> ''))
and (dbo.[UFN_MKTRECORDSOURCE_VALIDFORPRODUCT]([QUERYVIEWCATALOG].[ID]) = 1)
for xml raw('ITEM'), type, elements, root('APPEALINFORMATION'), binary base64);
/* load existing communication template to get locked values and name */
exec dbo.[USP_DATAFORMTEMPLATE_EDITLOAD_MKTCOMMUNICATIONTEMPLATE]
@ID = @EFFORTCOMMUNICATIONTEMPLATEID,
@NAME = @TEMPLATENAME output,
@CURRENTAPPUSERID = @CURRENTAPPUSERID,
@DESCRIPTIONLOCKED = @DESCRIPTIONLOCKED output,
@APPEALLOCKED = @APPEALLOCKED output,
@CHANNELCODELOCKED = @CHANNELCODELOCKED output,
@ALLOWRESERVINGFINDERNUMBERSLOCKED = @ALLOWRESERVINGFINDERNUMBERSLOCKED output,
@ALLOWSPECIFYBUDGETLOCKED = @ALLOWSPECIFYBUDGETLOCKED output,
@ALLOWEXCLUDEPREVIOUSEFFORTSLOCKED = @ALLOWEXCLUDEPREVIOUSEFFORTSLOCKED output;
/* get the name pattern parts as it holds the values they typed in when adding the effort */
set @NAMEPARTS = (
select
[MKTCOMMUNICATIONNAMESCHEMEPART].[ID] as [@ID],
[MKTCOMMUNICATIONNAMESCHEMEPART].[NAMEPARTTYPECODE] as [@NAMEPARTTYPECODE],
[MKTCOMMUNICATIONNAMESCHEMEPART].[OPTIONTYPECODE] as [@OPTIONTYPECODE],
[MKTCOMMUNICATIONNAMESCHEMEPART].[SEPARATORTYPECODE] as [@SEPARATORTYPECODE],
[MKTCOMMUNICATIONNAMESCHEMEPART].[SEQUENCE] as [@SEQUENCE],
[MKTCOMMUNICATIONNAMESCHEMEPART].[VALUE] as [@VALUE],
[MKTCOMMUNICATIONNAMESCHEMEPART].[COMMUNICATIONEFFORTVALUE] as [@COMMUNICATIONEFFORTVALUE]
from
dbo.[MKTCOMMUNICATIONNAMESCHEMEPART]
where
[MKTCOMMUNICATIONNAMESCHEMEPART].[MKTCOMMUNICATIONNAMESCHEMEID] = @COMMUNICATIONNAMESCHEMEID
order by
[MKTCOMMUNICATIONNAMESCHEMEPART].[SEQUENCE]
for xml path('ITEM'),type,elements,root('NAMEPARTS'),BINARY BASE64
);
return 0;