USP_DATAFORMTEMPLATE_VIEW_ADHOCQUERYSUMMARY

The load procedure used by the view dataform template "Ad-hoc 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
@SOURCEVIEW nvarchar(128) INOUT Source view
@OWNER nvarchar(128) INOUT Owner
@OTHERSCANMODIFY bit INOUT Others can modify
@SITE nvarchar(1024) INOUT Site
@FEATURETIPS xml INOUT

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_ADHOCQUERYSUMMARY
(
    @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,
    @SOURCEVIEW nvarchar(128) = null output,
    @OWNER nvarchar(128) = null output,
    @OTHERSCANMODIFY bit = null output,
    @SITE nvarchar(1024) = null output,
  @FEATURETIPS xml = null output
)
as
    set nocount on;

    set @DATALOADED = 0;

    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 = c.DESCRIPTION,
        @SOURCEVIEW = v.DISPLAYNAME,
        @OWNER = 
            case when 
                (u.DISPLAYNAME = '') or (u.DISPLAYNAME is null)
            then 
                u.USERNAME
            else 
                u.DISPLAYNAME
        end,
        @OTHERSCANMODIFY = q.OTHERSCANMODIFY,
        @SITE = coalesce(SITE.NAME, 'All sites'
    from 
        dbo.ADHOCQUERY q
    inner join 
        dbo.QUERYVIEWCATALOG v on q.QUERYVIEWCATALOGID = v.ID
    left join 
        dbo.RECORDTYPE r on v.RECORDTYPEID = r.ID
    left join 
        dbo.APPUSER u on q.OWNERID = u.ID
    left join 
        dbo.QUERYCATEGORYCODE c on q.QUERYCATEGORYCODEID = c.ID
    left join 
        dbo.SITE on q.SITEID = SITE.ID
    where 
        q.ID = @ID 
        and v.ROOTOBJECT = 1
        and 
        (
            @ISSYSADMIN = 1 
            or dbo.UFN_SECURITY_APPUSER_GRANTED_ADHOCQUERYINSTANCE_IN_SYSTEMROLE(@CURRENTAPPUSERID, q.ID) = 1
        );

    return 0;