USP_DATAFORMTEMPLATE_VIEW_APPEALMAILINGACTIVATEPROCESS

The load procedure used by the view dataform template "Appeal Mailing Activate 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.
@APPEALID uniqueidentifier INOUT Appeal ID
@APPEALNAME nvarchar(100) INOUT Appeal
@APPEALMAILINGID uniqueidentifier INOUT Appeal mailing ID
@APPEALMAILINGNAME nvarchar(100) INOUT Name
@APPEALMAILINGDESCRIPTION nvarchar(255) INOUT Description
@ACTIVE bit INOUT Active
@EXPORTQUANTITY int INOUT EXPORTQUANTITY
@EXPORTSTATUSCODE tinyint INOUT EXPORTSTATUSCODE
@NETCOMMUNITYEMAILJOBENABLED bit INOUT NETCOMMUNITYEMAILJOBENABLED
@NETCOMMUNITYLINKESTABLISHED bit INOUT NETCOMMUNITYLINKESTABLISHED
@NETCOMMUNITYEMAILJOBSTARTED bit INOUT NETCOMMUNITYEMAILJOBSTARTED
@EXPORTPROCESSSTATUSID uniqueidentifier INOUT EXPORTPROCESSSTATUSID

Definition

Copy


CREATE procedure dbo.[USP_DATAFORMTEMPLATE_VIEW_APPEALMAILINGACTIVATEPROCESS]
(
  @ID uniqueidentifier,
  @DATALOADED bit = 0 output,
  @APPEALID uniqueidentifier = null output,
  @APPEALNAME nvarchar(100) = null output,
  @APPEALMAILINGID uniqueidentifier = null output,
  @APPEALMAILINGNAME nvarchar(100) = null output,
  @APPEALMAILINGDESCRIPTION nvarchar(255) = null output,
  @ACTIVE bit = null output,
  @EXPORTQUANTITY int = null output,
  @EXPORTSTATUSCODE tinyint = null output,
  @NETCOMMUNITYEMAILJOBENABLED bit = null output,
  @NETCOMMUNITYLINKESTABLISHED bit = null output,
  @NETCOMMUNITYEMAILJOBSTARTED bit = null output,
  @EXPORTPROCESSSTATUSID uniqueidentifier = null output
)
as
  set nocount on;

  set @DATALOADED = 0;

  declare @ACTIVATEPROCESSSTATUSID uniqueidentifier;
  declare @COMMUNICATIONTYPECODE as tinyint;

  select
    @DATALOADED = 1,
    @APPEALID = [APPEAL].[ID],
    @APPEALNAME = [APPEAL].[NAME],
    @APPEALMAILINGID = [APPEALMAILING].[ID],
    @APPEALMAILINGNAME = [MKTSEGMENTATION].[NAME],
    @APPEALMAILINGDESCRIPTION = [MKTSEGMENTATION].[DESCRIPTION],
    @ACTIVE = [MKTSEGMENTATION].[ACTIVE],
    @COMMUNICATIONTYPECODE = [MKTSEGMENTATION].[COMMUNICATIONTYPECODE]
  from dbo.[MKTSEGMENTATIONACTIVATEPROCESS]
  inner join dbo.[APPEALMAILING] on [APPEALMAILING].[ID] = [MKTSEGMENTATIONACTIVATEPROCESS].[SEGMENTATIONID]
  inner join dbo.[APPEAL] on [APPEAL].[ID] = [APPEALMAILING].[APPEALID]
  inner join dbo.[MKTSEGMENTATION] on [MKTSEGMENTATION].[ID] = [APPEALMAILING].[ID]
  where [MKTSEGMENTATIONACTIVATEPROCESS].[ID] = @ID;

  if @DATALOADED = 1
    begin
      -- Get the latest export process run

      select top 1
        @EXPORTPROCESSSTATUSID = [MKTSEGMENTATIONACTIVATEEXPORTLINK].[EXPORTPROCESSSTATUSID]
      from dbo.[MKTSEGMENTATIONACTIVATEPROCESSSTATUS]
      left join dbo.[MKTSEGMENTATIONACTIVATEEXPORTLINK] on [MKTSEGMENTATIONACTIVATEPROCESSSTATUS].[ID] = [MKTSEGMENTATIONACTIVATEEXPORTLINK].[ID]
      where [MKTSEGMENTATIONACTIVATEPROCESSSTATUS].[PARAMETERSETID] = @ID
      order by [MKTSEGMENTATIONACTIVATEPROCESSSTATUS].[DATEADDED] desc;

      if @EXPORTPROCESSSTATUSID is null
        -- Get the latest export process run

        select top 1
          @EXPORTPROCESSSTATUSID = [MKTSEGMENTATIONEXPORTPROCESSSTATUS].[ID]
        from dbo.[MKTSEGMENTATIONEXPORTPROCESSSTATUS]
        inner join dbo.[MKTSEGMENTATIONEXPORTPROCESS] on [MKTSEGMENTATIONEXPORTPROCESS].[ID] = [MKTSEGMENTATIONEXPORTPROCESSSTATUS].[PARAMETERSETID]
        where [MKTSEGMENTATIONEXPORTPROCESS].[SEGMENTATIONID] = @APPEALMAILINGID
        order by [MKTSEGMENTATIONEXPORTPROCESSSTATUS].[DATEADDED] desc;

      if @EXPORTPROCESSSTATUSID is null
        set @EXPORTPROCESSSTATUSID = '00000000-0000-0000-0000-000000000000';

      -- Check to see if the export process has an email package to enable the NetCommunity jobs

      declare @TABLENAME nvarchar(250);
      declare @SQL nvarchar(max);

      select
        @TABLENAME = [TABLENAME]
      from dbo.[BUSINESSPROCESSOUTPUT]
      where [BUSINESSPROCESSSTATUSID] = @EXPORTPROCESSSTATUSID
      and upper([TABLEKEY]) = upper(convert(nvarchar(36), @EXPORTPROCESSSTATUSID));

      set @SQL = 
        'select top(1)
          @EXPORTQUANTITY = [BUSINESSPROCESSOUTPUTSUMMARY].[QUANTITY],
          @EXPORTSTATUSCODE = dbo.[UFN_MKTSEGMENTATIONEXPORTPROCESSOUTPUT_SUMMARYSTATUSCODE]([BUSINESSPROCESSOUTPUTSUMMARY].[STATUS]),
          @NETCOMMUNITYEMAILJOBENABLED = case when exists (
            select top 1 1
            from [BUSINESSPROCESSOUTPUTSUMMARY].[PACKAGES].nodes(''/PACKAGES/ITEM'') T(c)
            inner join dbo.[MKTPACKAGE] on [MKTPACKAGE].[ID] = T.c.value(''(ID)[1]'', ''uniqueidentifier'')
            where [MKTPACKAGE].[NETCOMMUNITYTEMPLATEID] > 0)
            then 1 else 0 end,
          @NETCOMMUNITYEMAILJOBSTARTED = case when exists (
            select top 1 1
         from [BUSINESSPROCESSOUTPUTSUMMARY].[STATUS].nodes(''/STATUS/ITEM'') T(c)
            where T.c.value(''(NETCOMMUNITYEMAILID)[1]'', ''integer'') > 0)
            then 1 else 0 end,
          @NETCOMMUNITYLINKESTABLISHED = dbo.[UFN_MKTNETCOMMUNITYINTEGRATION_LINKESTABLISHED]()
        from dbo.[' + @TABLENAME + '] as [BUSINESSPROCESSOUTPUTSUMMARY];';

      exec sp_executesql @SQL, N'@EXPORTQUANTITY int output, @EXPORTSTATUSCODE tinyint output, @NETCOMMUNITYEMAILJOBENABLED bit output, @NETCOMMUNITYEMAILJOBSTARTED bit output, @NETCOMMUNITYLINKESTABLISHED bit output',
        @EXPORTQUANTITY = @EXPORTQUANTITY output,
        @EXPORTSTATUSCODE = @EXPORTSTATUSCODE output,
        @NETCOMMUNITYEMAILJOBENABLED = @NETCOMMUNITYEMAILJOBENABLED output,
        @NETCOMMUNITYEMAILJOBSTARTED = @NETCOMMUNITYEMAILJOBSTARTED output,
        @NETCOMMUNITYLINKESTABLISHED = @NETCOMMUNITYLINKESTABLISHED output;
    end

  return 0;