USP_MKTSEGMENTATIONACTIVATE_CACHEPACKAGE
Stores all marketing effort package information during activation.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SEGMENTATIONID | uniqueidentifier | IN | |
@PACKAGEID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@CURRENTDATE | datetime | IN | |
@PACKAGECODEVALUEID | uniqueidentifier | IN | |
@PACKAGECODE | nvarchar(10) | IN | |
@CHANNELSOURCECODEVALUEID | uniqueidentifier | IN | |
@CHANNELSOURCECODE | nvarchar(10) | IN |
Definition
Copy
CREATE procedure dbo.[USP_MKTSEGMENTATIONACTIVATE_CACHEPACKAGE]
(
@SEGMENTATIONID uniqueidentifier,
@PACKAGEID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@CURRENTDATE datetime = null,
@PACKAGECODEVALUEID uniqueidentifier = null,
@PACKAGECODE nvarchar(10) = null,
@CHANNELSOURCECODEVALUEID uniqueidentifier = null,
@CHANNELSOURCECODE nvarchar(10) = null
)
as
set nocount on;
declare @MAILINGTYPECODE tinyint;
declare @ACTIVE bit;
select
@MAILINGTYPECODE = [MAILINGTYPECODE],
@ACTIVE = [ACTIVE]
from dbo.[MKTSEGMENTATION]
where [ID] = @SEGMENTATIONID;
begin try
if @ACTIVE = 0 or @MAILINGTYPECODE = 4
begin
if @CHANGEAGENTID is null
exec dbo.[USP_CHANGEAGENT_GETORCREATECHANGEAGENT] @CHANGEAGENTID output;
if @CURRENTDATE is null set @CURRENTDATE = getdate();
/* Update the mailing package with its current codes and costs */
update [MKTSEGMENTATIONPACKAGE] set
[UNITCOST] = [MKTPACKAGE].[UNITCOST],
[COSTDISTRIBUTIONMETHODCODE] = [MKTPACKAGE].[COSTDISTRIBUTIONMETHODCODE],
[INSERTCOSTPERPIECE] = dbo.[UFN_MKTPACKAGE_GETINSERTCOSTFORDISTRIBUTION2]([MKTSEGMENTATIONPACKAGE].[PACKAGEID], 0, 0) + dbo.[UFN_MKTPACKAGE_GETINSERTCOSTFORDISTRIBUTION2]([MKTSEGMENTATIONPACKAGE].[PACKAGEID], 4, 0),
[INSERTCOSTPERRESPONSE] = dbo.[UFN_MKTPACKAGE_GETINSERTCOSTFORDISTRIBUTION2]([MKTSEGMENTATIONPACKAGE].[PACKAGEID], 1, 0),
[INSERTCOSTPEREFFORT] = dbo.[UFN_MKTPACKAGE_GETINSERTCOSTFORDISTRIBUTION2]([MKTSEGMENTATIONPACKAGE].[PACKAGEID], 2, 0),
[CODE] = isnull(@PACKAGECODE, [MKTPACKAGE].[CODE]),
[PARTDEFINITIONVALUESID] = isnull(@PACKAGECODEVALUEID, [MKTPACKAGE].[PARTDEFINITIONVALUESID]),
[CHANNELSOURCECODE] = isnull(@CHANNELSOURCECODE, [MKTPACKAGE].[CHANNELSOURCECODE]),
[CHANNELPARTDEFINITIONVALUESID] = isnull(@CHANNELSOURCECODEVALUEID, [MKTPACKAGE].[CHANNELPARTDEFINITIONVALUESID]),
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE,
[ORGANIZATIONUNITCOST] = [MKTPACKAGE].[ORGANIZATIONUNITCOST],
[ORGANIZATIONINSERTCOSTPERPIECE] = dbo.[UFN_MKTPACKAGE_GETINSERTCOSTFORDISTRIBUTION2]([MKTSEGMENTATIONPACKAGE].[PACKAGEID], 0, 1) + dbo.[UFN_MKTPACKAGE_GETINSERTCOSTFORDISTRIBUTION2]([MKTSEGMENTATIONPACKAGE].[PACKAGEID], 4, 1),
[ORGANIZATIONINSERTCOSTPERRESPONSE] = dbo.[UFN_MKTPACKAGE_GETINSERTCOSTFORDISTRIBUTION2]([MKTSEGMENTATIONPACKAGE].[PACKAGEID], 1, 1),
[ORGANIZATIONINSERTCOSTPEREFFORT] = dbo.[UFN_MKTPACKAGE_GETINSERTCOSTFORDISTRIBUTION2]([MKTSEGMENTATIONPACKAGE].[PACKAGEID], 2, 1)
from dbo.[MKTSEGMENTATIONPACKAGE]
inner join dbo.[MKTPACKAGE] on [MKTPACKAGE].[ID] = [MKTSEGMENTATIONPACKAGE].[PACKAGEID]
where [SEGMENTATIONID] = @SEGMENTATIONID
and [PACKAGEID] = @PACKAGEID;
end
end try
begin catch
exec dbo.[USP_RAISE_ERROR];
return 1;
end catch
return 0;