USP_DATAFORMTEMPLATE_VIEW_MKTSEGMENTS

The load procedure used by the view dataform template "Segments Page Expression View"

Parameters

Parameter Parameter Type Mode Description
@DATALOADED bit INOUT Output parameter indicating whether or not data was actually loaded.
@ACKNOWLEDGEMENTMAILINGSINSTALLED bit INOUT Marketing Acknowledgements installed?
@MEMBERSHIPMAILINGSINSTALLED bit INOUT Membership renewal efforts installed?
@SPONSORSHIPMAILINGSINSTALLED bit INOUT Sponsorship efforts installed?
@SEGMENTGENERATECONTEXTID nvarchar(5) INOUT Multiple segment generation context ID
@SEGMENTRECORDTYPES nvarchar(max) INOUT

Definition

Copy

CREATE procedure dbo.[USP_DATAFORMTEMPLATE_VIEW_MKTSEGMENTS]
(
  @DATALOADED bit = 0 output,
  @ACKNOWLEDGEMENTMAILINGSINSTALLED bit = null output,
  @MEMBERSHIPMAILINGSINSTALLED bit = null output,
  @SPONSORSHIPMAILINGSINSTALLED bit = null output,
  @SEGMENTGENERATECONTEXTID nvarchar(5) = null output,
  @SEGMENTRECORDTYPES nvarchar(max) = null output
)
as
  begin
    set nocount on;

    declare @RECORDTYPES table ([ID] uniqueidentifier, [NAME] nvarchar(255));

    set @ACKNOWLEDGEMENTMAILINGSINSTALLED = dbo.[UFN_MKTCOMMON_ACKNOWLEDGEMENTMAILINGSINSTALLED]();
    set @MEMBERSHIPMAILINGSINSTALLED = dbo.[UFN_MKTCOMMON_MEMBERSHIPMAILINGSINSTALLED]();
    set @SPONSORSHIPMAILINGSINSTALLED = dbo.[UFN_MKTCOMMON_SPONSORSHIPMAILINGSINSTALLED]();

    set @SEGMENTGENERATECONTEXTID = convert(nvarchar(1), @ACKNOWLEDGEMENTMAILINGSINSTALLED) + '|' + convert(nvarchar(1), @MEMBERSHIPMAILINGSINSTALLED) + '|' + convert(nvarchar(1), @SPONSORSHIPMAILINGSINSTALLED)

    insert into @RECORDTYPES
      select [ID], [NAME]
      from dbo.[UFN_MKTRECORDSOURCE_GETRECORDTYPES](null, null, 0);

    if @ACKNOWLEDGEMENTMAILINGSINSTALLED = 1
      insert into @RECORDTYPES
        select [ID], [NAME]
        from dbo.[UFN_MKTGIFTRECORDSOURCE_GETRECORDTYPES](null, null)
        where [ID] not in (select [ID] from @RECORDTYPES);

    if @MEMBERSHIPMAILINGSINSTALLED = 1
      insert into @RECORDTYPES
        select [ID], [NAME]
        from dbo.[UFN_MKTMEMBERSHIPRECORDSOURCE_GETRECORDTYPES](null, null)
        where [ID] not in (select [ID] from @RECORDTYPES);

    if @SPONSORSHIPMAILINGSINSTALLED = 1
      insert into @RECORDTYPES
        select [ID], [NAME]
        from dbo.[UFN_MKTSPONSORSHIPRECORDSOURCE_GETRECORDTYPES](null, null)
        where [ID] not in (select [ID] from @RECORDTYPES);

    set @SEGMENTRECORDTYPES =
      isnull(
        stuff((select '|' + [NAME]
        from @RECORDTYPES
        for xml path(''), type
        ).value('.', 'varchar(max)')
        , 1, 1, ''), '');

    set @DATALOADED = 1;

    return 0;
  end