USP_MKTSEGMENTLIST_EDIT_LOAD

Loads a list based segment.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CURRENTAPPUSERID uniqueidentifier IN
@COPYMODE bit IN

Definition

Copy


CREATE procedure dbo.[USP_MKTSEGMENTLIST_EDIT_LOAD]
(
  @ID uniqueidentifier,
  @CURRENTAPPUSERID uniqueidentifier = null,
  @COPYMODE bit = 0
)
as
  set nocount on;

  declare @QUERYVIEWCATALOGID uniqueidentifier;
  declare @LISTLAYOUTID uniqueidentifier;
  declare @HASSELECTIONS bit;
  declare @FORMID uniqueidentifier;

  if @COPYMODE = 1 
    set @FORMID = '366CF16E-D502-4D35-BB00-0F05DB82B371'; -- SegmentListCopy.Edit.xml

  else
    set @FORMID = '773FA2E3-9ACD-4B2F-98D5-34A8203E4D0D'; -- SegmentList.Edit.xml


  --Grab the last query view imported for this segment, so we can use it to determine if any selections exist...

  select top 1
    @QUERYVIEWCATALOGID = [QUERYVIEWCATALOGID],
    @LISTLAYOUTID = [LISTLAYOUTID] 
  from dbo.[MKTSEGMENTLIST] 
  where [SEGMENTID] = @ID 
  and [QUERYVIEWCATALOGID] is not null
  order by [DATEADDED] desc;

  set @HASSELECTIONS = (case when exists(select top 1 1 from dbo.[ADHOCQUERY] where [QUERYVIEWCATALOGID] = @QUERYVIEWCATALOGID) then 1 else 0 end);

  select
    [MKTSEGMENT].[NAME],
    [MKTSEGMENT].[DESCRIPTION],
    [MKTSEGMENT].[SEGMENTCATEGORYCODEID],
    [MKTSEGMENT].[CODE],
    [MKTSEGMENT].[QUERYVIEWCATALOGID] as [RECORDSOURCEID],
    [MKTSEGMENTLIST].[ORDERDATE],
    [MKTSEGMENTLIST].[EXPIRATIONDATE],
    [MKTSEGMENTLIST].[NUMBEROFCONTACTS],
    [MKTSEGMENTLIST].[LISTID],
    (case when @HASSELECTIONS = 1 then @LISTLAYOUTID else [MKTSEGMENTLIST].[LISTLAYOUTID] end) as [LISTLAYOUTID],
    [MKTSEGMENTLIST].[FILENAME],
    [MKTSEGMENTLIST].[RENTALQUANTITY],
    [MKTSEGMENTLIST].[RENTALCOSTADJUSTMENT],
    [MKTSEGMENTLIST].[RENTALCOSTBASISCODE],
    [MKTSEGMENTLIST].[EXCHANGEQUANTITY],
    [MKTSEGMENTLIST].[EXCHANGECOSTADJUSTMENT],
    [MKTSEGMENTLIST].[EXCHANGECOSTBASISCODE],
    (case when [MKTSEGMENT].[TSLONG] > [MKTSEGMENTLIST].[TSLONG] then [MKTSEGMENT].[TSLONG] else [MKTSEGMENTLIST].[TSLONG] end) as [TSLONG],
    @HASSELECTIONS as [HASSELECTIONS],
    cast((case when [MKTSEGMENTLIST].[PARENTSEGMENTID] is null then 0 else 1 end) as bit) as [ISCHILDLISTSEGMENT],
    [MKTSEGMENT].[PARTDEFINITIONVALUESID] as [CODEVALUEID],
    dbo.[UFN_MKTSOURCECODEPARTDEFINITIONVALUE_GETAUTOINCREMENTSETTING]([MKTSEGMENT].[PARTDEFINITIONVALUESID]) as [AUTOINCREMENTCODE],
    [MKTSEGMENTLIST].[BASECURRENCYID],
    [MKTSEGMENT].[SITEID],
    dbo.[UFN_SITEREQUIREDFORUSERONFEATURE](@CURRENTAPPUSERID, @FORMID, 1) as [SITEREQUIRED],
    [MKTSEGMENTLIST].[STATUSCODE],
    (select [ID] from dbo.[MKTSOURCECODEPARTDEFINITION] where [ITEMTYPECODE] = 1) as [SEGMENTPARTDEFINITIONID],
    [MKTSEGMENT].[ISHISTORICAL]
  from dbo.[MKTSEGMENT]
  inner join dbo.[MKTSEGMENTLIST] on [MKTSEGMENTLIST].[ID] = [MKTSEGMENT].[CURRENTSEGMENTLISTID]
  where [MKTSEGMENT].[ID] = @ID;

  return 0;