USP_DATAFORMTEMPLATE_VIEW_ADHOCQUERYPAGEEXPRESSION
The load procedure used by the view dataform template "Ad-hoc query page expression form"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter used to load the fields defined on the form. |
@DATALOADED | bit | INOUT | Output parameter indicating whether or not data was actually loaded. |
@NAME | nvarchar(255) | INOUT | Name |
@RECORDTYPEID | uniqueidentifier | INOUT | Record type |
@PRIMARYKEYFIELD | nvarchar(100) | INOUT | Primary key field |
@ISBROWSABLE | bit | INOUT | Is browsable |
@OWNERID | uniqueidentifier | INOUT | Owner ID |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@USERCANEDIT | bit | INOUT | User can edit |
@FAVORITE | bit | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_ADHOCQUERYPAGEEXPRESSION
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@NAME nvarchar(255) = null output,
@RECORDTYPEID uniqueidentifier = null output,
@PRIMARYKEYFIELD nvarchar(100) = null output,
@ISBROWSABLE bit = null output,
@OWNERID uniqueidentifier = null output,
@CURRENTAPPUSERID uniqueidentifier = null,
@USERCANEDIT bit = null output,
@FAVORITE bit = null output
)
as
set nocount on;
set @DATALOADED = 0;
declare @ISSYSADMIN bit;
select @ISSYSADMIN = ISSYSADMIN from dbo.APPUSER where ID = @CURRENTAPPUSERID;
if @ISSYSADMIN = 1
set @USERCANEDIT = 1
else
set @USERCANEDIT = dbo.UFN_SECURITY_APPUSER_GRANTED_ADHOCQUERYINSTANCEEDIT_IN_SYSTEMROLE(@CURRENTAPPUSERID, @ID)
select
@DATALOADED = 1,
@NAME = q.NAME,
@RECORDTYPEID = v.RECORDTYPEID,
@PRIMARYKEYFIELD = 'QUERYRECID',
@ISBROWSABLE = dbo.UFN_ADHOCQUERY_ISBROWSABLE(q.QUERYDEFINITIONXML, v.OBJECTNAME, v.PRIMARYKEYFIELD),
@OWNERID = q.OWNERID,
@FAVORITE = case when f.ID is not null then convert(bit, 1) else convert(bit, 0) end
from
dbo.ADHOCQUERY q
inner join dbo.QUERYVIEWCATALOG v on q.QUERYVIEWCATALOGID = v.ID
left join dbo.APPUSERADHOCQUERYFAVORITE f on q.ID = f.ADHOCQUERYID and f.APPUSERID = @CURRENTAPPUSERID
where
q.ID = @ID;
return 0;