USP_MARKETINGEXPENSESEARCH

Search for Marketing Expenses

Parameters

Parameter Parameter Type Mode Description
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@MAXROWS smallint IN Input parameter indicating the maximum number of rows to return.
@NAME nvarchar(100) IN Name
@EXPENSETYPECODEID uniqueidentifier IN Type
@VENDOR nvarchar(154) IN Vendor
@DESCRIPTION nvarchar(255) IN Description
@SITEID uniqueidentifier IN Site
@SITEIDISNULL bit IN Site ID is null?
@EXACTMATCHONLY bit IN Match all criteria exactly
@BASECURRENCYID uniqueidentifier IN Base currency ID

Definition

Copy


CREATE procedure dbo.[USP_MARKETINGEXPENSESEARCH]
(
  @CURRENTAPPUSERID uniqueidentifier,
  @MAXROWS smallint,
  @NAME nvarchar(100) = null,
  @EXPENSETYPECODEID uniqueidentifier = null,
  @VENDOR nvarchar(154) = null,
  @DESCRIPTION nvarchar(255) = null,
  @SITEID uniqueidentifier = null,
  @SITEIDISNULL bit = 0,
  @EXACTMATCHONLY bit = 0,
  @BASECURRENCYID uniqueidentifier = null
)
as
  set nocount on;

  select top (@MAXROWS)
    [MKTEXPENSE].[ID],
    [MKTEXPENSE].[NAME],
    dbo.[UFN_TRANSLATIONFUNCTION_SITE_GETNAME]([MKTEXPENSE].[SITEID]) as [SITE],
    [MKTEXPENSETYPECODE].[DESCRIPTION] as [EXPENSETYPE],
    [CONSTITUENT].[NAME] as [VENDOR],
    [MKTEXPENSE].[COST],
    [MKTEXPENSE].[COSTDISTRIBUTIONMETHOD],
    [MKTEXPENSE].[DESCRIPTION],
    [MKTEXPENSE].[BASECURRENCYID]
  from dbo.[MKTEXPENSE]
  left outer join dbo.[MKTEXPENSETYPECODE] on [MKTEXPENSETYPECODE].[ID] = [MKTEXPENSE].[EXPENSETYPECODEID]
  left outer join dbo.[CONSTITUENT] on [CONSTITUENT].[ID] = [MKTEXPENSE].[VENDORID]
  where (@NAME is null or [MKTEXPENSE].[NAME] like @NAME + case when @EXACTMATCHONLY = 0 then '%' else '' end)
    and (@SITEID is null or [MKTEXPENSE].[SITEID] = @SITEID)
    and (@SITEIDISNULL = 0 or (@SITEIDISNULL = 1 and [MKTEXPENSE].[SITEID] is null))
    and (@EXPENSETYPECODEID is null or [MKTEXPENSE].[EXPENSETYPECODEID] = @EXPENSETYPECODEID)
    and (@VENDOR is null or [CONSTITUENT].[NAME] like @VENDOR + case when @EXACTMATCHONLY = 0 then '%' else '' end)
    and dbo.[UFN_SITEALLOWEDFORUSER](@CURRENTAPPUSERID, [MKTEXPENSE].[SITEID]) = 1
    and (@BASECURRENCYID is null or [MKTEXPENSE].[BASECURRENCYID] = @BASECURRENCYID)
  order by [MKTEXPENSE].[NAME];

  return 0;