USP_DATAFORMTEMPLATE_VIEW_MKTSEGMENTATIONEXPORTPROCESS

The load procedure used by the view dataform template "Marketing Effort Export Process 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.
@MAILINGID uniqueidentifier INOUT Effort ID
@MAILINGNAME nvarchar(100) INOUT Marketing effort
@MAILINGDESCRIPTION nvarchar(255) INOUT Marketing effort description
@MAILINGTYPECODE tinyint INOUT Marketing effort type code
@ACKNOWLEDGEDATE datetime INOUT Acknowledged/receipted date
@MAILINGEXPORTPROCESSSTATUSID uniqueidentifier INOUT Marketing effort export process status ID
@NETCOMMUNITYLINKESTABLISHED bit INOUT Blackbaud Internet Solutions link established?
@HASPOSTALTEMPLATES bit INOUT Has postal templates?
@EXPORTPROCESSDESCRIPTION nvarchar(255) INOUT Description
@ACTIVE bit INOUT Active
@NUMSEGMENTS int INOUT Segments
@ONLYHASVENDORMANAGEDLISTSEGMENTS bit INOUT Marketing effort only contains vendor managed list segments?
@ISCALCULATING bit INOUT Marketing effort segment counts currently being calculated?
@ISACTIVATING bit INOUT Marketing effort currently being activated?
@RECORDCOUNTCACHEISCURRENT bit INOUT Record count cache is current
@NETCOMMUNITYEMAILJOBSTOSTART bit INOUT Blackbaud Internet Solutions email jobs to start
@NETCOMMUNITYEMAILJOBSPENDING bit INOUT Blackbaud Internet Solutions email jobs pending
@HASCOMMUNICATIONTEMPLATE bit INOUT

Definition

Copy


CREATE procedure dbo.[USP_DATAFORMTEMPLATE_VIEW_MKTSEGMENTATIONEXPORTPROCESS]
(
  @ID uniqueidentifier,
  @DATALOADED bit = 0 output,
  @MAILINGID uniqueidentifier = null output,
  @MAILINGNAME nvarchar(100) = null output,
  @MAILINGDESCRIPTION nvarchar(255) = null output,
  @MAILINGTYPECODE tinyint = null output,
  @ACKNOWLEDGEDATE datetime = null output,
  @MAILINGEXPORTPROCESSSTATUSID uniqueidentifier = null output,
  @NETCOMMUNITYLINKESTABLISHED bit = null output,
  @HASPOSTALTEMPLATES bit = null output,
  @EXPORTPROCESSDESCRIPTION nvarchar(255) = null output,
  @ACTIVE bit = null output,
  @NUMSEGMENTS int = null output,
  @ONLYHASVENDORMANAGEDLISTSEGMENTS bit = null output,
  @ISCALCULATING bit = null output,
  @ISACTIVATING bit = null output,
  @RECORDCOUNTCACHEISCURRENT bit = null output,
  @NETCOMMUNITYEMAILJOBSTOSTART bit = null output,
  @NETCOMMUNITYEMAILJOBSPENDING bit = null output,
  @HASCOMMUNICATIONTEMPLATE bit = null output
)
as
  set nocount on;

  set @DATALOADED = 0;

  select
    @DATALOADED = 1,
    @MAILINGID = [MKTSEGMENTATION].[ID],
    @MAILINGNAME = [MKTSEGMENTATION].[NAME],
    @MAILINGDESCRIPTION = [MKTSEGMENTATION].[DESCRIPTION],
    @MAILINGTYPECODE = [MKTSEGMENTATION].[MAILINGTYPECODE],
    @ACKNOWLEDGEDATE = (case when [MKTACKNOWLEDGEMENTMAILINGPROCESSSEGMENTATION].[ID] is not null then
                         [MKTACKNOWLEDGEMENTMAILINGPROCESSSEGMENTATION].[ACKNOWLEDGEDATE]
                        else
                         (select min([ACKNOWLEDGEDATE]) from dbo.[V_MKTREVENUELETTER] where [MKTSEGMENTATIONID] = [MKTSEGMENTATION].[ID])
                        end),
    @MAILINGEXPORTPROCESSSTATUSID = isnull((select top 1 [ID] from dbo.[MKTSEGMENTATIONEXPORTPROCESSSTATUS] where [MKTSEGMENTATIONEXPORTPROCESSSTATUS].[PARAMETERSETID] = @ID order by [DATEADDED] desc), '00000000-0000-0000-0000-000000000000'),
    @NETCOMMUNITYLINKESTABLISHED = dbo.[UFN_MKTNETCOMMUNITYINTEGRATION_LINKESTABLISHED](),
    @HASPOSTALTEMPLATES = convert(bit, case when exists (select top 1 1 from dbo.[MKTPOSTALTEMPLATE]) then 1 else 0 end),
    @EXPORTPROCESSDESCRIPTION = [MKTSEGMENTATIONEXPORTPROCESS].[DESCRIPTION],
    @ACTIVE = [MKTSEGMENTATION].[ACTIVE],
    @NUMSEGMENTS = (select count([ID]) from dbo.[MKTSEGMENTATIONSEGMENT] where [SEGMENTATIONID] = [MKTSEGMENTATIONEXPORTPROCESS].[SEGMENTATIONID]),
    @ONLYHASVENDORMANAGEDLISTSEGMENTS = (case when exists(select 1
                                                          from dbo.[MKTSEGMENTATIONSEGMENT]
                                                          inner join dbo.[MKTSEGMENT] on [MKTSEGMENT].[ID] = [MKTSEGMENTATIONSEGMENT].[SEGMENTID]
                                                          inner join dbo.[MKTSEGMENTLIST] on [MKTSEGMENTLIST].[ID] = [MKTSEGMENT].[CURRENTSEGMENTLISTID]
                                                          where [MKTSEGMENTATIONSEGMENT].[SEGMENTATIONID] = [MKTSEGMENTATIONEXPORTPROCESS].[SEGMENTATIONID]
                                                          and [MKTSEGMENTLIST].[TYPECODE] = 1)
                                           and not exists(select 1
                                                          from dbo.[MKTSEGMENTATIONSEGMENT]
                                                          inner join dbo.[MKTSEGMENT] on [MKTSEGMENT].[ID] = [MKTSEGMENTATIONSEGMENT].[SEGMENTID]
                                                          where [MKTSEGMENTATIONSEGMENT].[SEGMENTATIONID] = [MKTSEGMENTATIONEXPORTPROCESS].[SEGMENTATIONID]
                                                          and [MKTSEGMENT].[SEGMENTTYPECODE] <> 2)
                                         then 1 else 0 end),
    @ISCALCULATING = dbo.[UFN_MKTSEGMENTATION_ISCALCULATING]([MKTSEGMENTATIONEXPORTPROCESS].[SEGMENTATIONID]),
    @ISACTIVATING = dbo.[UFN_MKTSEGMENTATION_ISACTIVATING]([MKTSEGMENTATIONEXPORTPROCESS].[SEGMENTATIONID]),
    @RECORDCOUNTCACHEISCURRENT = dbo.[UFN_MKTSEGMENTATION_ISRECORDCOUNTCACHECURRENT]([MKTSEGMENTATIONEXPORTPROCESS].[SEGMENTATIONID], 0),
    @HASCOMMUNICATIONTEMPLATE = (case when [MKTCOMMUNICATIONTEMPLATE].[ID] is not null then 1 else 0 end)
  from dbo.[MKTSEGMENTATIONEXPORTPROCESS]
  inner join dbo.[MKTSEGMENTATION] on [MKTSEGMENTATION].[ID] = [MKTSEGMENTATIONEXPORTPROCESS].[SEGMENTATIONID]
  left join dbo.[MKTACKNOWLEDGEMENTMAILINGPROCESSSEGMENTATION] on [MKTACKNOWLEDGEMENTMAILINGPROCESSSEGMENTATION].[SEGMENTATIONID] = [MKTSEGMENTATION].[ID]
  left join dbo.[MKTCOMMUNICATIONTEMPLATE] on [MKTCOMMUNICATIONTEMPLATE].[MKTSEGMENTATIONID] = [MKTSEGMENTATION].[ID]
  where [MKTSEGMENTATIONEXPORTPROCESS].[ID] = @ID;

  if @DATALOADED = 1 and @MAILINGEXPORTPROCESSSTATUSID <> '00000000-0000-0000-0000-000000000000'
    exec dbo.[USP_MKTSEGMENTATIONEXPORTPROCESS_GETSUMMARYEMAILJOBSTATUS] @MAILINGEXPORTPROCESSSTATUSID, @NETCOMMUNITYEMAILJOBSTOSTART output, @NETCOMMUNITYEMAILJOBSPENDING output;

  return 0;