USP_MARKETINGMATERIALSEARCH
Search for Marketing Materials
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 |
@MATERIALTYPECODEID | 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_MARKETINGMATERIALSEARCH]
(
@CURRENTAPPUSERID uniqueidentifier,
@MAXROWS smallint,
@NAME nvarchar(100) = null,
@MATERIALTYPECODEID 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)
[MKTMATERIAL].[ID],
[MKTMATERIAL].[NAME],
dbo.[UFN_TRANSLATIONFUNCTION_SITE_GETNAME]([MKTMATERIAL].[SITEID]) as [SITE],
[MKTMATERIALTYPECODE].[DESCRIPTION] as [MATERIALTYPE],
[CONSTITUENT].[NAME] as [VENDOR],
[MKTMATERIAL].[COST],
[MKTMATERIAL].[COSTDISTRIBUTIONMETHOD],
[MKTMATERIAL].[DESCRIPTION],
[MKTMATERIAL].[BASECURRENCYID]
from dbo.[MKTMATERIAL]
left outer join dbo.[MKTMATERIALTYPECODE] on [MKTMATERIALTYPECODE].[ID] = [MKTMATERIAL].[MATERIALTYPECODEID]
left outer join dbo.[CONSTITUENT] on [CONSTITUENT].[ID] = [MKTMATERIAL].[VENDORID]
where (@NAME is null or [MKTMATERIAL].[NAME] like @NAME + case when @EXACTMATCHONLY = 0 then '%' else '' end)
and (@SITEID is null or [MKTMATERIAL].[SITEID] = @SITEID)
and (@SITEIDISNULL = 0 or (@SITEIDISNULL = 1 and [MKTMATERIAL].[SITEID] is null))
and (@MATERIALTYPECODEID is null or [MKTMATERIAL].[MATERIALTYPECODEID] = @MATERIALTYPECODEID)
and (@VENDOR is null or [CONSTITUENT].[NAME] like @VENDOR + case when @EXACTMATCHONLY = 0 then '%' else '' end)
and dbo.[UFN_SITEALLOWEDFORUSER](@CURRENTAPPUSERID, [MKTMATERIAL].[SITEID]) = 1
and (@BASECURRENCYID is null or [MKTMATERIAL].[BASECURRENCYID] = @BASECURRENCYID)
order by [MKTMATERIAL].[NAME];
return 0;