USP_DATAFORMTEMPLATE_VIEW_EFFORTEXCLUSIONSPROCESS_EXPRESSION

The load procedure used by the view dataform template "Marketing Effort Exclusions Process Expression View Form"

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter used to load the fields defined on the form.
@DATALOADED bit INOUT Output parameter indicating whether or not data was actually loaded.
@EFFORTID uniqueidentifier INOUT Effort ID
@EFFORTNAME nvarchar(100) INOUT Name
@EFFORTDESCRIPTION nvarchar(100) INOUT Description
@EFFORTEXCLUSIONPROCESSSTATUSID uniqueidentifier INOUT Marketing effort exclusions process status ID
@EFFORTTYPECODE tinyint INOUT Marketing effort type code

Definition

Copy

CREATE procedure dbo.[USP_DATAFORMTEMPLATE_VIEW_EFFORTEXCLUSIONSPROCESS_EXPRESSION]
(
  @ID uniqueidentifier,
  @DATALOADED bit = 0 output,
  @EFFORTID uniqueidentifier = null output,
  @EFFORTNAME nvarchar(100) = null output,
  @EFFORTDESCRIPTION nvarchar(100) = null output,
  @EFFORTEXCLUSIONPROCESSSTATUSID uniqueidentifier = null output,
  @EFFORTTYPECODE tinyint = null output
)
as
  set nocount on;

  declare @ENDEDON datetime;

  set @DATALOADED = 0;

  select
    @DATALOADED = 1,
    @EFFORTID = [MKTSEGMENTATIONEXCLUSIONSPROCESS].[SEGMENTATIONID],
    @EFFORTNAME = [MKTSEGMENTATION].[NAME],
    @EFFORTDESCRIPTION = [MKTSEGMENTATION].[DESCRIPTION],
    @EFFORTTYPECODE = [MKTSEGMENTATION].[MAILINGTYPECODE],
    @ENDEDON = [BUSINESSPROCESSSTATUS].[ENDEDON]
  from dbo.[MKTSEGMENTATIONEXCLUSIONSPROCESS]
  left join dbo.[MKTSEGMENTATIONEXCLUSIONSPROCESSSTATUS] on [MKTSEGMENTATIONEXCLUSIONSPROCESSSTATUS].[PARAMETERSETID] = [MKTSEGMENTATIONEXCLUSIONSPROCESS].[ID]
  left join dbo.[BUSINESSPROCESSSTATUS] on [BUSINESSPROCESSSTATUS].[ID] = [MKTSEGMENTATIONEXCLUSIONSPROCESSSTATUS].[ID]
  inner join dbo.[MKTSEGMENTATION] on [MKTSEGMENTATION].[ID] = dbo.[MKTSEGMENTATIONEXCLUSIONSPROCESS].[SEGMENTATIONID]
  where [MKTSEGMENTATIONEXCLUSIONSPROCESS].[ID] = @ID;

  if @DATALOADED = 1 and @ENDEDON is not null
    --Grab the segment counts status ID that was started before the exclusions process since the output table is now linked to the segment counts process...
    select top 1
      @EFFORTEXCLUSIONPROCESSSTATUSID = [BUSINESSPROCESSSTATUS].[ID]
    from dbo.[MKTSEGMENTATIONSEGMENTCALCULATEPROCESS]
    inner join dbo.[MKTSEGMENTATIONSEGMENTCALCULATEPROCESSSTATUS] on [MKTSEGMENTATIONSEGMENTCALCULATEPROCESSSTATUS].[PARAMETERSETID] = [MKTSEGMENTATIONSEGMENTCALCULATEPROCESS].[ID]
    inner join dbo.[BUSINESSPROCESSSTATUS] on [BUSINESSPROCESSSTATUS].[ID] = [MKTSEGMENTATIONSEGMENTCALCULATEPROCESSSTATUS].[ID]
    where [MKTSEGMENTATIONSEGMENTCALCULATEPROCESS].[SEGMENTATIONID] = @EFFORTID
    and [BUSINESSPROCESSSTATUS].[STATUSCODE] = 0
    and [BUSINESSPROCESSSTATUS].[STARTEDON] < @ENDEDON
    order by [BUSINESSPROCESSSTATUS].[ENDEDON] desc;

  return 0;