USP_DATAFORMTEMPLATE_EDITLOAD_MKTSEGMENTTIMESLOT

The load procedure used by the edit dataform template "Time Slot Edit Form"

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter used to load the fields defined on the form.
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@DATALOADED bit INOUT Output parameter indicating whether or not data was actually loaded.
@QUERYVIEWCATALOGID uniqueidentifier INOUT Record source
@NAME nvarchar(100) INOUT Name
@DESCRIPTION nvarchar(255) INOUT Description
@SEGMENTCATEGORYCODEID uniqueidentifier INOUT Category
@CODE nvarchar(10) INOUT Code
@CODEREGEX nvarchar(255) INOUT Code regular expression
@CODEVALUEID uniqueidentifier INOUT Source code part definition value
@PARENTMEDIAOUTLETSEGMENTID uniqueidentifier INOUT Media outlet
@SCHEDULESTARTTIME time INOUT Start time
@SCHEDULEENDTIME time INOUT End time
@SCHEDULEDURATIONHOURS int INOUT Duration (hours)
@SCHEDULEDURATIONMINUTES int INOUT Duration (minutes)
@SCHEDULEDURATIONSECONDS int INOUT Duration (seconds)
@IMPRESSIONS int INOUT Impressions
@IMPRESSIONCALCULATIONMETHODCODE tinyint INOUT per
@GROUPS xml INOUT Assign this segment to the groups marked below
@ISINUSE bit INOUT Is in use
@ALLOWCODEUPDATE bit INOUT Allow code update?
@SEGMENTPARTDEFINITIONID uniqueidentifier INOUT Segment part definition ID
@TSLONG bigint INOUT Output parameter indicating the TSLONG value of the record being edited. This is used to manage multi-user concurrency issues when multiple users access the same record.
@SITEID uniqueidentifier INOUT Site
@SITEREQUIRED bit INOUT Site required?

Definition

Copy


CREATE procedure dbo.[USP_DATAFORMTEMPLATE_EDITLOAD_MKTSEGMENTTIMESLOT]
(
  @ID uniqueidentifier,
  @CURRENTAPPUSERID uniqueidentifier,
  @DATALOADED bit = 0 output,
  @QUERYVIEWCATALOGID uniqueidentifier = null output,
  @NAME nvarchar(100) = null output,
  @DESCRIPTION nvarchar(255) = null output,
  @SEGMENTCATEGORYCODEID uniqueidentifier = null output,
  @CODE nvarchar(10) = null output,
  @CODEREGEX nvarchar(255) = null output,
  @CODEVALUEID uniqueidentifier = null output,
  @PARENTMEDIAOUTLETSEGMENTID uniqueidentifier = null output,
  @SCHEDULESTARTTIME time(0) = null output,
  @SCHEDULEENDTIME time(0) = null output,
  @SCHEDULEDURATIONHOURS integer = null output,
  @SCHEDULEDURATIONMINUTES integer = null output,
  @SCHEDULEDURATIONSECONDS integer = null output,
  @IMPRESSIONS integer = null output,
  @IMPRESSIONCALCULATIONMETHODCODE tinyint = null output,
  @GROUPS xml = null output,
  @ISINUSE bit = null output,
  @ALLOWCODEUPDATE bit = null output,
  @SEGMENTPARTDEFINITIONID uniqueidentifier = null output,
  @TSLONG bigint = 0 output,
  @SITEID uniqueidentifier = null output,
  @SITEREQUIRED bit = null output
)
as
  set nocount on;

  declare @SCHEDULEDURATION integer;

  exec dbo.[USP_DATAFORMTEMPLATE_EDITLOAD_MKTSEGMENT_2]
    @ID,
    @CURRENTAPPUSERID,
    @DATALOADED output,
    @NAME output,
    @DESCRIPTION output,
    @SEGMENTCATEGORYCODEID output,
    @CODE output,
    @QUERYVIEWCATALOGID output,
    null,
    @GROUPS output,
    0,
    @ISINUSE output,
    null,
    @ALLOWCODEUPDATE output,
    @CODEVALUEID output,
    @TSLONG output,
    @SITEID output,
    @SITEREQUIRED output;

  if @DATALOADED = 1
    begin
      set @DATALOADED = 0;

      select
        @DATALOADED = 1,
        @PARENTMEDIAOUTLETSEGMENTID = [MKTSEGMENTPASSIVE].[PARENTMEDIAOUTLETSEGMENTID],
        @SCHEDULESTARTTIME = [MKTSEGMENTPASSIVE].[SCHEDULESTARTTIME],
        @SCHEDULEENDTIME = [MKTSEGMENTPASSIVE].[SCHEDULEENDTIME],
        @SCHEDULEDURATION = [MKTSEGMENTPASSIVE].[SCHEDULEDURATION],
        @IMPRESSIONS = [MKTSEGMENTPASSIVE].[IMPRESSIONS],
        @IMPRESSIONCALCULATIONMETHODCODE = [MKTSEGMENTPASSIVE].[IMPRESSIONCALCULATIONMETHODCODE]
      from dbo.[MKTSEGMENTPASSIVE]
      inner join dbo.[MKTSEGMENT] on [MKTSEGMENT].[ID] = [MKTSEGMENTPASSIVE].[ID]
      where [MKTSEGMENTPASSIVE].[ID] = @ID
      and [MKTSEGMENT].[SEGMENTTYPECODE] = 7;
    end

  if @DATALOADED = 1
    begin
      set @SCHEDULEDURATIONHOURS = @SCHEDULEDURATION / 3600;
      set @SCHEDULEDURATION = @SCHEDULEDURATION - (@SCHEDULEDURATIONHOURS * 3600);
      set @SCHEDULEDURATIONMINUTES = @SCHEDULEDURATION / 60;
      set @SCHEDULEDURATIONSECONDS = @SCHEDULEDURATION - (@SCHEDULEDURATIONMINUTES * 60);

      select @SEGMENTPARTDEFINITIONID = [ID] from dbo.[MKTSOURCECODEPARTDEFINITION] where [ITEMTYPECODE] = 1;

      if @CODEVALUEID is not null
        select @CODEREGEX = [REGEX] from dbo.[MKTSOURCECODEPARTDEFINITIONVALUES] where [ID] = @CODEVALUEID;
    end

  set @SITEREQUIRED = dbo.[UFN_SITEREQUIREDFORUSERONFEATURE](@CURRENTAPPUSERID, '14BD65B3-5E77-4793-8754-1EC5B09A9C11', 1);

  return 0;