USP_DATAFORMTEMPLATE_VIEW_SMARTQUERYSUMMARY

The load procedure used by the view dataform template "Smart query summary view"

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter used to load the fields defined on the form.
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@DATALOADED bit INOUT Output parameter indicating whether or not data was actually loaded.
@NAME nvarchar(255) INOUT Name
@DESCRIPTION nvarchar(1024) INOUT Description
@RECORDTYPE nvarchar(50) INOUT Type
@CATEGORY nvarchar(100) INOUT Category
@SOURCE nvarchar(60) INOUT Source
@OWNER nvarchar(128) INOUT Owner
@OTHERSCANMODIFY bit INOUT Others can modify
@SITE nvarchar(1024) INOUT Site

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_SMARTQUERYSUMMARY
(
    @ID uniqueidentifier,
    @CURRENTAPPUSERID uniqueidentifier,
    @DATALOADED bit = 0 output,
    @NAME nvarchar(255) = null output,
    @DESCRIPTION nvarchar(1024) = null output,
    @RECORDTYPE nvarchar(50) = null output,
    @CATEGORY nvarchar(100) = null output,
    @SOURCE nvarchar(60) = null output,
    @OWNER nvarchar(128) = null output,
    @OTHERSCANMODIFY bit = null output,
    @SITE nvarchar(1024) = null output
)
as
    set nocount on;

    declare @ISSYSADMIN bit;
    select @ISSYSADMIN = ISSYSADMIN from dbo.APPUSER where ID = @CURRENTAPPUSERID;

    select @DATALOADED = 1,
           @NAME = q.NAME,
           @DESCRIPTION = q.DESCRIPTION,
           @RECORDTYPE = r.NAME,
           @CATEGORY = ct.DESCRIPTION,
           @SOURCE = c.NAME,
           @OWNER = u.USERNAME,
           @OTHERSCANMODIFY = q.OTHERSCANMODIFY,
           @SITE = coalesce(SITE.NAME, 'All sites'
    from dbo.SMARTQUERYINSTANCE q
        inner join dbo.SMARTQUERYCATALOG c on q.SMARTQUERYCATALOGID = c.ID
        left join dbo.RECORDTYPE r on c.RECORDTYPEID = r.ID
        left join dbo.APPUSER u on q.OWNERID = u.ID
        left join dbo.QUERYCATEGORYCODE ct on q.QUERYCATEGORYCODEID = ct.ID
        left join dbo.SITE on q.SITEID = SITE.ID
    where 
        q.ID = @ID 
        and (
            @ISSYSADMIN = 1 
            or 
             dbo.UFN_SECURITY_APPUSER_GRANTED_SMARTQUERYINSTANCE_IN_SYSTEMROLE(@CURRENTAPPUSERID, q.ID) = 1
            )

    return 0;