USP_DATAFORMTEMPLATE_EDITLOAD_MKTSEGMENT

The load procedure used by the edit dataform template "Constituent Segment Edit Form"

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter used to load the fields defined on the form.
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@DATALOADED bit INOUT Output parameter indicating whether or not data was actually loaded.
@NAME nvarchar(100) INOUT Name
@DESCRIPTION nvarchar(255) INOUT Description
@CODE nvarchar(10) INOUT Code
@QUERYVIEWCATALOGID uniqueidentifier INOUT Records source
@SELECTIONS xml INOUT Selections
@GROUPS xml INOUT Groups
@SMARTQUERIESEXIST bit INOUT Smart queries exist
@ISINUSE bit INOUT Is in use
@TSLONG bigint INOUT Output parameter indicating the TSLONG value of the record being edited. This is used to manage multi-user concurrency issues when multiple users access the same record.

Definition

Copy


CREATE procedure dbo.[USP_DATAFORMTEMPLATE_EDITLOAD_MKTSEGMENT]
(
  @ID uniqueidentifier,
  @CURRENTAPPUSERID uniqueidentifier,
  @DATALOADED bit = 0 output,
  @NAME nvarchar(100) = null output,
  @DESCRIPTION nvarchar(255) = null output,
  @CODE nvarchar(10) = null output,
  @QUERYVIEWCATALOGID uniqueidentifier = null output,
  @SELECTIONS xml = null output,
  @GROUPS xml = null output,
  @SMARTQUERIESEXIST bit = null output,
  @ISINUSE bit = null output,
  @TSLONG bigint = 0 output
)
as
  set nocount on;

  declare @SMARTQUERYTYPE tinyint;

  set @DATALOADED = 0;
  set @TSLONG = 0;

  select 
    @SMARTQUERYTYPE = (case when [SEGMENTTYPECODE] = 3 then 2 else 1 end)
  from dbo.[MKTSEGMENT]
  where [ID] = @ID;

  /* Load the segment */
  select 
    @DATALOADED = 1,
    @NAME = [MKTSEGMENT].[NAME],
    @DESCRIPTION = [MKTSEGMENT].[DESCRIPTION],
    @CODE = [MKTSEGMENT].[CODE],
    @QUERYVIEWCATALOGID = [MKTSEGMENT].[QUERYVIEWCATALOGID],
    @SELECTIONS = dbo.[UFN_MKTSEGMENT_GETSELECTIONS_TOITEMLISTXML](@ID, @CURRENTAPPUSERID),
    @GROUPS = dbo.[UFN_MKTSEGMENT_GETGROUPS_TOITEMLISTXML](@ID),
    @SMARTQUERIESEXIST = dbo.[UFN_MKTSELECTION_SMARTQUERIESEXIST](@SMARTQUERYTYPE),
    @ISINUSE = dbo.[UFN_MKTSEGMENT_ISINUSE](@ID),
    @TSLONG = [MKTSEGMENT].[TSLONG]
  from dbo.[MKTSEGMENT]
  where [MKTSEGMENT].[ID] = @ID;

  return 0;