USP_SEARCHLIST_EXPORTDEFINITION
Search form for export definitions.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@NAME | nvarchar(200) | IN | Name |
@RECORDTYPEID | uniqueidentifier | IN | Record type |
@RECORDTYPENAME | nvarchar(100) | IN | Record type |
@CONSOLIDATEDRECEIPTS | bit | IN | Consolidated receipts |
@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. |
@MARKETING | bit | IN | Marketing |
@HASVIEWDATAFORMTEMPLATE | bit | IN | Has view data form template |
Definition
Copy
CREATE procedure dbo.[USP_SEARCHLIST_EXPORTDEFINITION]
(
@NAME nvarchar(200) = null,
@RECORDTYPEID uniqueidentifier = null,
@RECORDTYPENAME nvarchar(100) = null,
@CONSOLIDATEDRECEIPTS bit = 0,
@CURRENTAPPUSERID uniqueidentifier,
@MAXROWS smallint = 500,
@MARKETING bit = 0,
@HASVIEWDATAFORMTEMPLATE bit = 0
)
as
set nocount on;
set @NAME = isnull(@NAME, '') + '%';
declare @ISSYSADMIN bit;
select @ISSYSADMIN = ISSYSADMIN from dbo.APPUSER where ID = @CURRENTAPPUSERID;
/* Filter out any export processes involving query views to which the current user does not have rights */
if @ISSYSADMIN = 0
begin
declare @OKVIEWS table (OBJECTNAME nvarchar(128));
insert into @OKVIEWS (OBJECTNAME)
select QUERYVIEWCATALOG.OBJECTNAME from dbo.QUERYVIEWCATALOG
where exists (
select [OKVIEWS].QUERYVIEWCATALOGID
from dbo.UFN_SECURITY_GETGRANTEDQUERYVIEWSFORUSER(@CURRENTAPPUSERID) as [OKVIEWS]
where [OKVIEWS].QUERYVIEWCATALOGID = QUERYVIEWCATALOG.ID
);
end;
select top(@MAXROWS)
[EXPORTDEFINITION].[ID],
[EXPORTDEFINITION].[NAME],
[EXPORTDEFINITION].[DESCRIPTION],
[RECORDTYPE].[NAME] as [TYPE]
from
dbo.[EXPORTDEFINITION]
inner join dbo.[RECORDTYPE] on [RECORDTYPE].[ID] = [EXPORTDEFINITION].[RECORDTYPEID]
where
([EXPORTDEFINITION].[NAME] like @NAME)
and (@RECORDTYPEID is null or [EXPORTDEFINITION].[RECORDTYPEID] = @RECORDTYPEID)
and (@RECORDTYPENAME is null or [EXPORTDEFINITION].[RECORDTYPEID] = (select [ID] from dbo.[RECORDTYPE] where [NAME] = @RECORDTYPENAME))
and (@CONSOLIDATEDRECEIPTS = 0 or [EXPORTDEFINITION].[RECORDTYPEID] in (select [ID] from dbo.[RECORDTYPE] where [NAME] = 'CONSTITUENT' or [NAME] = 'REVENUE'))
and (@MARKETING = 0 and [EXPORTDEFINITION].[RECORDTYPEID] not in (select [ID] from dbo.[RECORDTYPE] where [NAME] in ('Direct Marketing Effort Segment Member Export', 'Marketing Acknowledgement Segment Member Export', 'Membership Effort Segment Member Export', 'Sponsorship Effort Segment Member Export')) or
@MARKETING = 1 and [EXPORTDEFINITION].[RECORDTYPEID] in (select [ID] from dbo.[RECORDTYPE] where [NAME] in ('Direct Marketing Effort Segment Member Export', 'Marketing Acknowledgement Segment Member Export', 'Membership Effort Segment Member Export', 'Sponsorship Effort Segment Member Export')))
and ([EXPORTDEFINITION].[ISSYSTEM] = 0)
and
(@ISSYSADMIN = 1 or
/* Filter out restricted query views */
/* This will return a list of query views in use by the ad-hoc query but not in the OK views table variable;
These export definitions should not be returned to the client. */
not exists(select [QUERYVIEWSINUSE].OBJECTNAME
from dbo.EXPORTDEFINITION as [EXPORTDEFINITIONRIGHTSTEST]
outer apply dbo.UFN_EXPORTDEFINITION_QUERYVIEWSINUSE(EXPORTDEFINITION.EXPORTDEFINITIONXML) as [QUERYVIEWSINUSE]
where not exists (
select [OKVIEWS].OBJECTNAME
from @OKVIEWS as [OKVIEWS] where [OKVIEWS].OBJECTNAME = [QUERYVIEWSINUSE].OBJECTNAME))
/* End restricted query views filter */
)
and
(
EXPORTDEFINITION.SITEID is null
or
dbo.UFN_SITEALLOWEDFORUSER(@CURRENTAPPUSERID, EXPORTDEFINITION.SITEID) = 1
)
and
(
@HASVIEWDATAFORMTEMPLATE = 0 or [EXPORTDEFINITION].[VIEWDATAFORMTEMPLATEID] is not null
)
order by [EXPORTDEFINITION].[NAME] asc;
return 0;