USP_DATAFORMTEMPLATE_PRELOAD_ADD_MKTSEGMENTATIONFINDERNUMBER

The load procedure used by the edit dataform template "Marketing Effort Finder Number Add Form"

Parameters

Parameter Parameter Type Mode Description
@SEGMENTATIONID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@MAXVALUE bigint INOUT Maximum value
@CHECKDIGIT bit INOUT Check digit
@VENDORID uniqueidentifier INOUT Reserved for
@NEXTMAILINGFINDERNUMBER bigint INOUT

Definition

Copy


CREATE procedure dbo.[USP_DATAFORMTEMPLATE_PRELOAD_ADD_MKTSEGMENTATIONFINDERNUMBER]
(
  @SEGMENTATIONID uniqueidentifier,
  @MAXVALUE bigint = null output,
  @CHECKDIGIT bit = null output,
  @VENDORID uniqueidentifier = null output,
  @NEXTMAILINGFINDERNUMBER bigint = null output
)
as
  set nocount on;

  select
    @MAXVALUE = convert(bigint,replicate('9', [FIXEDWIDTH])),
    @CHECKDIGIT = [CHECKDIGIT]
  from dbo.[MKTFINDERNUMBER];

  select
    @NEXTMAILINGFINDERNUMBER = max([MAXFN])
  from (
    select isnull(max([MAX]), 0) + 1 as [MAXFN] from dbo.[MKTSEGMENTATIONFINDERNUMBER]
    union all
    select isnull(max([FINDERNUMBER]), 0) as [MAXFN] from dbo.[MKTFINDERNUMBER] where [FINDERNUMBER] > 0
  ) as [NEXT];

  declare @VENDORS table ([VALUE] uniqueidentifier, [LABEL] nvarchar(154));
  declare @SQL nvarchar(1000) = 'dbo.[USP_SIMPLEDATALIST_MKTSEGMENTATIONVENDOR] ''' + convert(nvarchar(36), @SEGMENTATIONID) + '''';

  insert into @VENDORS
    exec (@SQL);

  if (select count(*) from @VENDORS) = 1
    select top 1 @VENDORID = [VALUE] from @VENDORS;

  return 0;