USP_DATALIST_INCENTIVELEVELSELECTION
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@FILTERLEVELNAME | nvarchar(200) | IN | |
@FILTEREVENTNAME | nvarchar(200) | IN | |
@INCLUDEINACTIVE | bit | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN | |
@SECURITYFEATUREID | uniqueidentifier | IN | |
@SECURITYFEATURETYPE | tinyint | IN | |
@FAFPROGRAMID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_INCENTIVELEVELSELECTION
(
@FILTERLEVELNAME nvarchar(200) = null,
@FILTEREVENTNAME nvarchar(200) = null,
@INCLUDEINACTIVE bit = null,
@CURRENTAPPUSERID uniqueidentifier = null,
@SECURITYFEATUREID uniqueidentifier = null,
@SECURITYFEATURETYPE tinyint = null,
@FAFPROGRAMID uniqueidentifier = null
)
as
set nocount on;
declare @ISACTIVE bit;
if ISNULL(@INCLUDEINACTIVE, 0) = 0
set @ISACTIVE = 1;
else
set @ISACTIVE = 0;
set @FILTERLEVELNAME = ISNULL(@FILTERLEVELNAME, '');
set @FILTERLEVELNAME = REPLACE(@FILTERLEVELNAME, '\', '\\');
set @FILTERLEVELNAME = REPLACE(@FILTERLEVELNAME, '[', '\[');
set @FILTERLEVELNAME = REPLACE(@FILTERLEVELNAME, ']', '\]');
set @FILTERLEVELNAME = REPLACE(@FILTERLEVELNAME, '_', '\_');
set @FILTERLEVELNAME = REPLACE(@FILTERLEVELNAME, '%', '\%');
set @FILTERLEVELNAME = REPLACE(@FILTERLEVELNAME, '?', '_');
set @FILTERLEVELNAME = REPLACE(@FILTERLEVELNAME, '*', '%');
if @FILTERLEVELNAME = '' or @FILTERLEVELNAME = '%'
set @FILTERLEVELNAME = '';
else
set @FILTERLEVELNAME = '%' + @FILTERLEVELNAME + '%';
set @FILTEREVENTNAME = ISNULL(@FILTEREVENTNAME, '');
set @FILTEREVENTNAME = REPLACE(@FILTEREVENTNAME, '\', '\\');
set @FILTEREVENTNAME = REPLACE(@FILTEREVENTNAME, '[', '\[');
set @FILTEREVENTNAME = REPLACE(@FILTEREVENTNAME, ']', '\]');
set @FILTEREVENTNAME = REPLACE(@FILTEREVENTNAME, '_', '\_');
set @FILTEREVENTNAME = REPLACE(@FILTEREVENTNAME, '%', '\%');
set @FILTEREVENTNAME = REPLACE(@FILTEREVENTNAME, '?', '_');
set @FILTEREVENTNAME = REPLACE(@FILTEREVENTNAME, '*', '%');
if @FILTEREVENTNAME = '' or @FILTEREVENTNAME = '%'
set @FILTEREVENTNAME = '';
else
set @FILTEREVENTNAME = '%' + @FILTEREVENTNAME + '%';
select top 500 FAFINCENTIVELEVEL.ID, FAFINCENTIVELEVEL.NAME, EVENT.NAME from dbo.FAFINCENTIVELEVEL (nolock)
inner join dbo.EVENT (nolock) on EVENT.ID = FAFINCENTIVELEVEL.EVENTID
inner join dbo.EVENTEXTENSION (nolock) on EVENT.ID = EVENTEXTENSION.EVENTID
where (@INCLUDEINACTIVE = 1 or EVENT.ISACTIVE = @ISACTIVE)
and (@FAFPROGRAMID is null or EVENTEXTENSION.FAFPROGRAMID = @FAFPROGRAMID)
and (@FILTERLEVELNAME = '' or FAFINCENTIVELEVEL.NAME like @FILTERLEVELNAME escape '\')
and (@FILTEREVENTNAME = '' or EVENT.NAME like @FILTEREVENTNAME escape '\')
and
(
exists
(
select 1 from dbo.UFN_SITEID_MAPFROM_EVENTID(EVENT.ID) EVENTSITE
where
(dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[EVENTSITE].[SITEID] or (SITEID is null and [EVENTSITE].[SITEID] is null)))
)
)
order by FAFINCENTIVELEVEL.NAME