USP_MKTSEGMENTATIONSEGMENTLIST_LOAD
Retrieves information about an existing marketing effort list segment.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.[USP_MKTSEGMENTATIONSEGMENTLIST_LOAD]
(
@ID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier
)
as
set nocount on;
declare @DATALOADED bit;
declare @SEGMENTATIONID uniqueidentifier;
declare @MARKETINGPLANBRIEFID uniqueidentifier;
declare @SEGMENTATIONACTIVE bit;
declare @SEGMENTID uniqueidentifier;
declare @RECORDSOURCEID uniqueidentifier;
declare @ISVENDORMANAGED bit;
declare @USAGECODE tinyint;
declare @USAGE nvarchar(100);
declare @CODE nvarchar(10);
declare @CODEVALUEID uniqueidentifier;
declare @LISTCODE nvarchar(10);
declare @LISTCODEVALUEID uniqueidentifier;
declare @TESTSEGMENTCODE nvarchar(10);
declare @TESTSEGMENTCODEVALUEID uniqueidentifier;
declare @OVERRIDEQUANTITIESANDORSEGMENTCOSTS bit;
declare @OVERRIDELISTCOSTS bit;
declare @PACKAGEID uniqueidentifier;
declare @PACKAGECHANNELCODE tinyint;
declare @PACKAGECODE nvarchar(10);
declare @PACKAGECODEVALUEID uniqueidentifier;
declare @RESPONSERATE decimal(5,2);
declare @GIFTAMOUNT money;
declare @SAMPLESIZE int;
declare @SAMPLESIZETYPECODE tinyint;
declare @SAMPLESIZEMETHODCODE tinyint;
declare @SAMPLESIZEEXCLUDEREMAINDER bit;
declare @SOURCECODEID uniqueidentifier;
declare @ASKLADDERID uniqueidentifier;
declare @SEQUENCE int;
declare @SEGMENTATIONSITEID uniqueidentifier;
declare @SEGMENTDATECHANGED datetime;
declare @CHANNELSOURCECODE nvarchar(10);
declare @CHANNELSOURCECODEVALUEID uniqueidentifier;
declare @ISBBEC bit;
declare @OVERRIDEBUSINESSUNITS bit;
declare @BUSINESSUNITS xml;
declare @EFFORTOVERRIDESBUSINESSUNITS bit;
declare @ALLOWEFFORTBUSINESSUNITSOVERRIDE bit;
declare @TSLONG bigint;
declare @BASECURRENCYID uniqueidentifier;
declare @PACKAGEADDDATAFORMCONTEXT nvarchar(128);
declare @ITEMLIST xml;
declare @ISHISTORICAL bit;
declare @SOURCECODEISHISTORICAL bit;
declare @SOURCECODE nvarchar(50);
declare @CHANNELCODE tinyint;
set @DATALOADED = 0;
set @TSLONG = 0;
/* load the segment */
declare @R int;
exec @R = dbo.[USP_DATAFORMTEMPLATE_EDITLOAD_MKTSEGMENTATIONSEGMENT_4]
@ID,
@CURRENTAPPUSERID,
@DATALOADED output,
@SEGMENTATIONID output,
@MARKETINGPLANBRIEFID output,
@SEGMENTATIONACTIVE output,
@SEGMENTID output,
@CODE output,
@TESTSEGMENTCODE output,
@PACKAGEID output,
@PACKAGECODE output,
@RESPONSERATE output,
@GIFTAMOUNT output,
@SAMPLESIZE output,
@SAMPLESIZETYPECODE output,
@SAMPLESIZEMETHODCODE output,
@SAMPLESIZEEXCLUDEREMAINDER output,
@SOURCECODEID output,
@ASKLADDERID output,
@SEQUENCE output,
@SEGMENTATIONSITEID output,
@TSLONG output,
null,
null,
@PACKAGECHANNELCODE output,
null,
null,
@SEGMENTDATECHANGED output,
0,
0,
0,
null,
null,
@CODEVALUEID output,
@PACKAGECODEVALUEID output,
@TESTSEGMENTCODEVALUEID output,
@ITEMLIST output,
@CHANNELSOURCECODE output,
@CHANNELSOURCECODEVALUEID output,
null,
@OVERRIDEBUSINESSUNITS output,
@BUSINESSUNITS output,
@BASECURRENCYID output,
@PACKAGEADDDATAFORMCONTEXT output,
null,
null,
@RECORDSOURCEID output,
null,
null,
@EFFORTOVERRIDESBUSINESSUNITS output,
@ISHISTORICAL output,
null,
@SOURCECODEISHISTORICAL output,
@SOURCECODE output,
@CHANNELCODE output,
@ALLOWEFFORTBUSINESSUNITSOVERRIDE output;
if @R <> 0 return 1;
if @DATALOADED = 1
begin
-- checking to see if a finder file has been imported for this segment
if exists (select 1 from dbo.[MKTFINDERFILEIMPORTPROCESS] where [SEGMENTATIONID] = @SEGMENTATIONID and [STATUSCODE] in (1, 2))
begin
declare @SQL nvarchar(max);
declare @FINDERFILETABLE nvarchar(256);
set @FINDERFILETABLE = dbo.[UFN_MKTFINDERFILE_BUILDTABLENAME](@SEGMENTATIONID);
set @SQL = 'select @ISVENDORMANAGED = 1' + char(13) +
'from dbo.[' +@FINDERFILETABLE + '] [DATA]' + char(13) +
'left join dbo.[MKTSOURCECODEMAP] [SC] on [SC].[SEGMENTATIONID] = @SEGMENTATIONID and [SC].[SOURCECODE] = [DATA].[SOURCECODE]' + char(13) +
'where [SC].[SEGMENTATIONSEGMENTID] = @ID;';
exec sp_executesql @SQL,N'@ID uniqueidentifier, @SEGMENTATIONID uniqueidentifier, @ISVENDORMANAGED bit output', @ID = @ID, @SEGMENTATIONID = @SEGMENTATIONID, @ISVENDORMANAGED = @ISVENDORMANAGED output;
end
select
@USAGECODE = [MKTSEGMENTATIONSEGMENT].[USAGECODE],
@USAGE = [MKTSEGMENTATIONSEGMENT].[USAGE],
@LISTCODEVALUEID = case when [MKTSEGMENTATIONSEGMENTLIST].[SEGMENTLISTID] is not null then [MKTLISTACTIVE].[PARTDEFINITIONVALUESID] else [MKTLIST].[PARTDEFINITIONVALUESID] end,
@LISTCODE = case when [MKTSEGMENTATIONSEGMENTLIST].[SEGMENTLISTID] is not null then [MKTLISTACTIVE].[CODE] else [MKTLIST].[CODE] end,
@OVERRIDEQUANTITIESANDORSEGMENTCOSTS = (case when isnull([MKTSEGMENTATIONSEGMENTLIST].[OVERRIDEQUANTITIESANDORSEGMENTCOSTS], 0) = 1 or @SEGMENTATIONACTIVE = 1 then 1 else 0 end),
@OVERRIDELISTCOSTS = (case when isnull([MKTSEGMENTATIONSEGMENTLIST].[OVERRIDELISTCOSTS], 0) = 1 or @SEGMENTATIONACTIVE = 1 then 1 else 0 end),
@ISVENDORMANAGED = case when @ISVENDORMANAGED = 1 then 0 else dbo.[UFN_MKTSEGMENT_ISVENDORMANAGEDLIST](@SEGMENTID)end
from dbo.[MKTSEGMENTATIONSEGMENT]
left outer join dbo.[MKTSEGMENTATIONSEGMENTLIST] on [MKTSEGMENTATIONSEGMENTLIST].[ID] = [MKTSEGMENTATIONSEGMENT].[ID]
inner join dbo.[MKTSEGMENT] on [MKTSEGMENT].[ID] = [MKTSEGMENTATIONSEGMENT].[SEGMENTID]
inner join dbo.[MKTSEGMENTLIST] on [MKTSEGMENTLIST].[ID] = [MKTSEGMENT].[CURRENTSEGMENTLISTID]
inner join dbo.[MKTLIST] on [MKTLIST].[ID] = [MKTSEGMENTLIST].[LISTID]
left outer join dbo.[MKTSEGMENTLIST] as [MKTSEGMENTLISTACTIVE] on [MKTSEGMENTLISTACTIVE].[ID] = [MKTSEGMENTATIONSEGMENTLIST].[SEGMENTLISTID]
left outer join dbo.[MKTLIST] as [MKTLISTACTIVE] on [MKTLISTACTIVE].[ID] = [MKTSEGMENTLISTACTIVE].[LISTID]
where [MKTSEGMENTATIONSEGMENT].[ID] = @ID;
set @ISBBEC = (case when dbo.[UFN_INSTALLEDPRODUCTS_PRODUCTIS]('BB9873D7-F1ED-430A-8AB4-F09F47056538') = 0 then 1 else 0 end);
if @OVERRIDEQUANTITIESANDORSEGMENTCOSTS = 1 or @OVERRIDELISTCOSTS = 1 -- there's a row in MKTSEGMENTATIONSEGMENTLIST
select
@SEGMENTATIONID as [SEGMENTATIONID],
@MARKETINGPLANBRIEFID as [MARKETINGPLANBRIEFID],
@SEGMENTATIONACTIVE as [SEGMENTATIONACTIVE],
@SEGMENTID as [SEGMENTID],
@SEGMENTDATECHANGED as [SEGMENTDATECHANGED],
@ISVENDORMANAGED as [ISVENDORMANAGED],
@USAGECODE as [USAGECODE],
@USAGE as [USAGE],
@CODE as [CODE],
@OVERRIDEQUANTITIESANDORSEGMENTCOSTS as [OVERRIDEQUANTITIESANDORSEGMENTCOSTS],
@OVERRIDELISTCOSTS as [OVERRIDELISTCOSTS],
[BASERENTALCOST],
[BASERENTALCOSTBASISCODE],
[RENTALQUANTITY],
[RENTALCOSTADJUSTMENT],
[RENTALCOSTADJUSTMENTBASISCODE],
[RENTALCOSTADJUSTMENTBASIS],
[BASEEXCHANGECOST],
[BASEEXCHANGECOSTBASISCODE],
[EXCHANGEQUANTITY],
[EXCHANGECOSTADJUSTMENT],
[EXCHANGECOSTADJUSTMENTBASISCODE],
[EXCHANGECOSTADJUSTMENTBASIS],
@PACKAGEID as [PACKAGEID],
@PACKAGECODE as [PACKAGECODE],
@RESPONSERATE as [RESPONSERATE],
@GIFTAMOUNT as [GIFTAMOUNT],
@SAMPLESIZE as [SAMPLESIZE],
@SAMPLESIZETYPECODE as [SAMPLESIZETYPECODE],
@SAMPLESIZEMETHODCODE as [SAMPLESIZEMETHODCODE],
@SAMPLESIZEEXCLUDEREMAINDER as [SAMPLESIZEEXCLUDEREMAINDER],
@SOURCECODEID as [SOURCECODEID],
@ASKLADDERID as [ASKLADDERID],
@SEQUENCE as [SEQUENCE],
@SEGMENTATIONSITEID as [SEGMENTATIONSITEID],
@TSLONG as [TSLONG],
@TESTSEGMENTCODE as [TESTSEGMENTCODE],
@CODEVALUEID as [CODEVALUEID],
@TESTSEGMENTCODEVALUEID as [TESTSEGMENTCODEVALUEID],
@PACKAGECODEVALUEID as [PACKAGECODEVALUEID],
@CHANNELSOURCECODE as [CHANNELSOURCECODE],
@CHANNELSOURCECODEVALUEID as [CHANNELSOURCECODEVALUEID],
@ISBBEC as [ISBBEC],
@OVERRIDEBUSINESSUNITS as [OVERRIDEBUSINESSUNITS],
@BUSINESSUNITS as [BUSINESSUNITS],
@BASECURRENCYID as [BASECURRENCYID],
@PACKAGEADDDATAFORMCONTEXT as [PACKAGEADDDATAFORMCONTEXT],
@RECORDSOURCEID as [RECORDSOURCEID],
@LISTCODEVALUEID as [LISTCODEVALUEID],
@LISTCODE as [LISTCODE],
@ITEMLIST as [ITEMLIST],
@PACKAGECHANNELCODE as [PACKAGECHANNELCODE],
@EFFORTOVERRIDESBUSINESSUNITS as [EFFORTOVERRIDESBUSINESSUNITS],
@ISHISTORICAL as [ISHISTORICAL],
@SOURCECODEISHISTORICAL as [SOURCECODEISHISTORICAL],
@SOURCECODE as [SOURCECODE],
@CHANNELCODE as [CHANNELCODE],
@ALLOWEFFORTBUSINESSUNITSOVERRIDE as [ALLOWEFFORTBUSINESSUNITSOVERRIDE]
from dbo.[MKTSEGMENTATIONSEGMENTLIST]
where [ID] = @ID;
else
select
@SEGMENTATIONID as [SEGMENTATIONID],
@MARKETINGPLANBRIEFID as [MARKETINGPLANBRIEFID],
@SEGMENTATIONACTIVE as [SEGMENTATIONACTIVE],
@SEGMENTID as [SEGMENTID],
@SEGMENTDATECHANGED as [SEGMENTDATECHANGED],
@ISVENDORMANAGED as [ISVENDORMANAGED],
@USAGECODE as [USAGECODE],
@USAGE as [USAGE],
@CODE as [CODE],
@OVERRIDEQUANTITIESANDORSEGMENTCOSTS as [OVERRIDEQUANTITIESANDORSEGMENTCOSTS],
@OVERRIDELISTCOSTS as [OVERRIDELISTCOSTS],
[MKTLIST].[BASERENTALCOST],
[MKTLIST].[BASERENTALCOSTBASISCODE],
[MKTSEGMENTLIST].[RENTALQUANTITY],
[MKTSEGMENTLIST].[RENTALCOSTADJUSTMENT],
[MKTSEGMENTLIST].[RENTALCOSTBASISCODE] as [RENTALCOSTADJUSTMENTBASISCODE],
[MKTSEGMENTLIST].[RENTALCOSTBASIS] as [RENTALCOSTADJUSTMENTBASIS],
[MKTLIST].[BASEEXCHANGECOST],
[MKTLIST].[BASEEXCHANGECOSTBASISCODE],
[MKTSEGMENTLIST].[EXCHANGEQUANTITY],
[MKTSEGMENTLIST].[EXCHANGECOSTADJUSTMENT],
[MKTSEGMENTLIST].[EXCHANGECOSTBASISCODE] as [EXCHANGECOSTADJUSTMENTBASISCODE],
[MKTSEGMENTLIST].[EXCHANGECOSTBASIS] as [EXCHANGECOSTADJUSTMENTBASIS],
@PACKAGEID as [PACKAGEID],
@PACKAGECODE as [PACKAGECODE],
@RESPONSERATE as [RESPONSERATE],
@GIFTAMOUNT as [GIFTAMOUNT],
@SAMPLESIZE as [SAMPLESIZE],
@SAMPLESIZETYPECODE as [SAMPLESIZETYPECODE],
@SAMPLESIZEMETHODCODE as [SAMPLESIZEMETHODCODE],
@SAMPLESIZEEXCLUDEREMAINDER as [SAMPLESIZEEXCLUDEREMAINDER],
@SOURCECODEID as [SOURCECODEID],
@ASKLADDERID as [ASKLADDERID],
@SEQUENCE as [SEQUENCE],
@SEGMENTATIONSITEID as [SEGMENTATIONSITEID],
@TSLONG as [TSLONG],
@TESTSEGMENTCODE as [TESTSEGMENTCODE],
@CODEVALUEID as [CODEVALUEID],
@TESTSEGMENTCODEVALUEID as [TESTSEGMENTCODEVALUEID],
@PACKAGECODEVALUEID as [PACKAGECODEVALUEID],
@CHANNELSOURCECODE as [CHANNELSOURCECODE],
@CHANNELSOURCECODEVALUEID as [CHANNELSOURCECODEVALUEID],
@ISBBEC as [ISBBEC],
@OVERRIDEBUSINESSUNITS as [OVERRIDEBUSINESSUNITS],
@BUSINESSUNITS as [BUSINESSUNITS],
@BASECURRENCYID as [BASECURRENCYID],
@PACKAGEADDDATAFORMCONTEXT as [PACKAGEADDDATAFORMCONTEXT],
@RECORDSOURCEID as [RECORDSOURCEID],
@LISTCODEVALUEID as [LISTCODEVALUEID],
@LISTCODE as [LISTCODE],
@ITEMLIST as [ITEMLIST],
@PACKAGECHANNELCODE as [PACKAGECHANNELCODE],
@EFFORTOVERRIDESBUSINESSUNITS as [EFFORTOVERRIDESBUSINESSUNITS],
@ISHISTORICAL as [ISHISTORICAL],
@SOURCECODEISHISTORICAL as [SOURCECODEISHISTORICAL],
@SOURCECODE as [SOURCECODE],
@CHANNELCODE as [CHANNELCODE],
@ALLOWEFFORTBUSINESSUNITSOVERRIDE as [ALLOWEFFORTBUSINESSUNITSOVERRIDE]
from dbo.[MKTSEGMENT]
inner join dbo.[MKTSEGMENTLIST] on [MKTSEGMENTLIST].[ID] = [MKTSEGMENT].[CURRENTSEGMENTLISTID]
inner join dbo.[MKTLIST] on [MKTLIST].[ID] = [MKTSEGMENTLIST].[LISTID]
where [MKTSEGMENT].[ID] = @SEGMENTID;
end
return 0;