USP_MKTSEGMENTATIONPACKAGE_LOAD
Loads information about a package in a marketing effort.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.[USP_MKTSEGMENTATIONPACKAGE_LOAD]
(
@ID uniqueidentifier
)
as
set nocount on;
declare @SEGMENTATIONID uniqueidentifier;
declare @ACTIVE bit;
select
@SEGMENTATIONID = [MKTSEGMENTATION].[ID],
@ACTIVE = [MKTSEGMENTATION].[ACTIVE]
from dbo.[MKTSEGMENTATIONPACKAGE]
inner join dbo.[MKTSEGMENTATION] on [MKTSEGMENTATION].[ID] = [MKTSEGMENTATIONPACKAGE].[SEGMENTATIONID]
where [MKTSEGMENTATIONPACKAGE].[ID] = @ID;
if @ACTIVE = 0
begin
--Check if the mailing is currently being activated...
declare @R int;
exec @R = dbo.[USP_MKTSEGMENTATION_CHECKACTIVATION] @SEGMENTATIONID;
if @R <> 0
return 1;
end
declare @PACKAGEPERTHOUSANDAMOUNT decimal(15,5) = 1000.0;
select
@ACTIVE as [ACTIVE],
[MKTPACKAGE].[NAME],
[MKTPACKAGE].[DESCRIPTION],
[MKTPACKAGE].[SITEID],
(case [MKTSEGMENTATION].[ACTIVE] when 0 then [MKTPACKAGE].[CODE] else [MKTSEGMENTATIONPACKAGE].[CODE] end) as [CODE],
(case [MKTSEGMENTATION].[ACTIVE] when 0 then [MKTPACKAGE].[PARTDEFINITIONVALUESID] else [MKTSEGMENTATIONPACKAGE].[PARTDEFINITIONVALUESID] end) as [CODEVALUEID],
(case [MKTSEGMENTATION].[ACTIVE] when 0 then [MKTPACKAGE].[CHANNELSOURCECODE] else [MKTSEGMENTATIONPACKAGE].[CHANNELSOURCECODE] end) as [CHANNELSOURCECODE],
(case [MKTSEGMENTATION].[ACTIVE] when 0 then [MKTPACKAGE].[CHANNELPARTDEFINITIONVALUESID] else [MKTSEGMENTATIONPACKAGE].[CHANNELPARTDEFINITIONVALUESID] end) as [CHANNELSOURCECODEVALUEID],
(case [MKTSEGMENTATION].[ACTIVE] when 0 then [MKTPACKAGE].[UNITCOST] else [MKTSEGMENTATIONPACKAGE].[UNITCOST] end) as [COST],
(case [MKTSEGMENTATION].[ACTIVE] when 0 then [MKTPACKAGE].[COSTDISTRIBUTIONMETHODCODE] else [MKTSEGMENTATIONPACKAGE].[COSTDISTRIBUTIONMETHODCODE] end) as [COSTDISTRIBUTIONMETHODCODE],
(case [MKTSEGMENTATION].[ACTIVE] when 0
then dbo.[UFN_MKTPACKAGE_GETINSERTCOSTFORDISTRIBUTION2]([MKTPACKAGE].[ID], 0, 0) +
-- Add any other package costs using 'Per thousand'
dbo.[UFN_MKTPACKAGE_GETINSERTCOSTFORDISTRIBUTION2]([MKTPACKAGE].[ID], 4, 0)
else [MKTSEGMENTATIONPACKAGE].[INSERTCOSTPERPIECE] end) as [INSERTCOSTPERPIECE],
cast ((case [MKTSEGMENTATION].[ACTIVE]
when 0 then
(case [MKTPACKAGE].[COSTDISTRIBUTIONMETHODCODE]
when 0 then [MKTPACKAGE].[UNITCOST]
when 4 then [MKTPACKAGE].[UNITCOST]/@PACKAGEPERTHOUSANDAMOUNT
else 0 end) +
dbo.[UFN_MKTPACKAGE_GETINSERTCOSTFORDISTRIBUTION2]([MKTPACKAGE].[ID], 0, 0) +
-- Add any other package costs using 'Per thousand'
dbo.[UFN_MKTPACKAGE_GETINSERTCOSTFORDISTRIBUTION2]([MKTPACKAGE].[ID], 4, 0)
else
(case [MKTSEGMENTATIONPACKAGE].[COSTDISTRIBUTIONMETHODCODE]
when 0 then [MKTSEGMENTATIONPACKAGE].[UNITCOST]
when 4 then [MKTSEGMENTATIONPACKAGE].[UNITCOST]/@PACKAGEPERTHOUSANDAMOUNT
else 0 end) +
[MKTSEGMENTATIONPACKAGE].[INSERTCOSTPERPIECE] end
) as decimal(30,8)) as [TOTALCOSTPERPIECE],
@SEGMENTATIONID as [SEGMENTATIONID],
[MKTSEGMENTATION].[SOURCECODEID],
[MKTPACKAGE].[ID] as [PACKAGEID],
[MKTPACKAGE].[CHANNELCODE],
[MKTPACKAGE].[PACKAGECATEGORYCODEID] as [CATEGORYCODEID],
[MKTPACKAGE].[LETTERCODEID],
cast((case when [MKTACKNOWLEDGEMENTMAILINGPROCESSSEGMENTATION].[ID] is not null and [MKTSEGMENTATION].[MAILINGTYPECODE] = 1 then 1 else 0 end) as bit) as [LETTERISINUSE],
dbo.[UFN_MKTNETCOMMUNITYINTEGRATION_LINKESTABLISHED]() as [NETCOMMUNITYLINKESTABLISHED],
[MKTPACKAGE].[NETCOMMUNITYTEMPLATEID],
[MKTPACKAGE].[NETCOMMUNITYDATASOURCEID],
[MKTPACKAGE].[DOCUMENTFILENAME],
[MKTPACKAGE].[CREATIVEID],
case when [MKTPACKAGE].[CHANNELCODE] = 0 then isnull([LETTERCODE].[EXPORTDEFINITIONID], [MKTPACKAGE].[EXPORTDEFINITIONID])
when [MKTPACKAGE].[CHANNELCODE] = 1 then isnull([EMAILEXPORTDEFINITION].[EXPORTDEFINITIONID], [MKTPACKAGE].[EXPORTDEFINITIONID])
when [MKTPACKAGE].[CHANNELCODE] in (2, 3) then [MKTPACKAGE].[EXPORTDEFINITIONID]
end as [EXPORTDEFINITIONID],
convert(bit, case when [MKTPACKAGE].[CHANNELCODE] = 0 then case when [LETTERCODE].[EXPORTDEFINITIONID] is not null then 1 else 0 end
when [MKTPACKAGE].[CHANNELCODE] = 1 then case when [EMAILEXPORTDEFINITION].[EXPORTDEFINITIONID] is not null then 1 else 0 end
when [MKTPACKAGE].[CHANNELCODE] in (2, 3) then 0 end)
as [EXPORTDEFINITIONDERIVEDFROMCONTENT],
dbo.[UFN_MKTCOMMON_ACKNOWLEDGEMENTMAILINGSINSTALLED]() as [ACKNOWLEDGEMENTMAILINGSINSTALLED],
dbo.[UFN_MKTCOMMON_MEMBERSHIPMAILINGSINSTALLED]() as [MEMBERSHIPMAILINGSINSTALLED],
[MKTSEGMENTATION].[MAILINGTYPECODE],
[MKTSEGMENTATIONPACKAGE].[TSLONG],
[MKTSEGMENTATIONPACKAGE].[BASECURRENCYID],
(select [ID] from dbo.[MKTSOURCECODEPARTDEFINITION] where [ITEMTYPECODE] = 2) as [PACKAGEPARTDEFINITIONID],
(select [ID] from dbo.[MKTSOURCECODEPARTDEFINITION] where [ITEMTYPECODE] = 3) as [CHANNELPARTDEFINITIONID],
dbo.[UFN_MKTCOMMON_SPONSORSHIPMAILINGSINSTALLED]() as [SPONSORSHIPMAILINGSINSTALLED]
from dbo.[MKTSEGMENTATIONPACKAGE]
inner join dbo.[MKTPACKAGE] on [MKTPACKAGE].[ID] = [MKTSEGMENTATIONPACKAGE].[PACKAGEID]
inner join dbo.[MKTSEGMENTATION] on [MKTSEGMENTATION].[ID] = [MKTSEGMENTATIONPACKAGE].[SEGMENTATIONID]
left join dbo.[MKTACKNOWLEDGEMENTMAILINGPROCESSSEGMENTATION] on [MKTACKNOWLEDGEMENTMAILINGPROCESSSEGMENTATION].[SEGMENTATIONID] = [MKTSEGMENTATION].[ID]
left outer join dbo.[LETTERCODE] on [LETTERCODE].[ID] = [MKTPACKAGE].[LETTERCODEID]
left outer join dbo.[MKTEXPORTDEFINITION] as [EMAILEXPORTDEFINITION] on ([EMAILEXPORTDEFINITION].[NETCOMMUNITYDATASOURCEID] = [MKTPACKAGE].[NETCOMMUNITYDATASOURCEID] and [MKTPACKAGE].[NETCOMMUNITYDATASOURCEID] > 0)
left outer join dbo.[MKTCREATIVE] on [MKTCREATIVE].[ID] = [MKTPACKAGE].[CREATIVEID]
where [MKTSEGMENTATIONPACKAGE].[ID] = @ID;
return 0;