USP_ADHOCQUERY_GETDEFINITION

Returns adhoc query definition

Parameters

Parameter Parameter Type Mode Description
@APPUSERID uniqueidentifier IN
@ADHOCQUERYID uniqueidentifier IN
@LOADROLEPERMISSIONS bit IN
@LOADIDSETINUSEFLAG bit IN

Definition

Copy


CREATE procedure dbo.USP_ADHOCQUERY_GETDEFINITION
(
    @APPUSERID uniqueidentifier, 
    @ADHOCQUERYID uniqueidentifier, 
    @LOADROLEPERMISSIONS bit = 0,
    @LOADIDSETINUSEFLAG bit = 1
)
    with execute as caller
    as

    set nocount on;

  declare @IDSETINUSEBYADHOCQUERY bit = 0

  if @LOADIDSETINUSEFLAG = 1
  begin
    select top 1 
      @IDSETINUSEBYADHOCQUERY = 1 
    from [dbo].[ADHOCQUERYIDSETDEPENDENCY] 
    where [ADHOCQUERYIDSETDEPENDENCY].[ADHOCQUERYDEPENDENCYID] = @ADHOCQUERYID;
  end

    select QUERYDEFINITIONXML, 
        ADHOCQUERY.QUERYVIEWCATALOGID,
        QUERYVIEWCATALOG.DISPLAYNAME as QUERYVIEWDISPLAYNAME,
        ADHOCQUERY.OTHERSCANMODIFY,
        ADHOCQUERY.OWNERID,
        APPUSER.USERNAME as [OWNER],
        @IDSETINUSEBYADHOCQUERY as [IDSETINUSEBYADHOCQUERY],
        RECORDTYPE.NAME as [RECORDTYPE],
        ADHOCQUERY.ADDEDBYID,
        ADDEDBY.USERNAME as ADDEDBY_USERNAME,
        ADHOCQUERY.CHANGEDBYID,
        CHANGEDBY.USERNAME as CHANGEDBY_USERNAME,
        ADHOCQUERY.DATEADDED,
        ADHOCQUERY.DATECHANGED,
        ADHOCQUERY.FOLDERID,
        ADHOCQUERY.SECURITYLEVEL,
        ADHOCQUERY.SECURITYLEVELEDIT,
        case 
            when @LOADROLEPERMISSIONS = 1 then dbo.UFN_ADHOCQUERYINSTANCE_GETSYSTEMROLEPERMISSIONSLIST_TOITEMLISTXML(ADHOCQUERY.ID)
            else null
        end as PERMISSIONEDROLES,
        case 
            when @LOADROLEPERMISSIONS = 1 then dbo.UFN_ADHOCQUERYINSTANCE_GETSYSTEMROLEEDITPERMISSIONSLIST_TOITEMLISTXML(ADHOCQUERY.ID)
            else null
        end as PERMISSIONEDROLESEDIT,
        ADHOCQUERY.MOBILIZE,
        case when exists(select ID from dbo.APPUSERADHOCQUERYFAVORITE where ADHOCQUERYID = ADHOCQUERY.ID and APPUSERID = @APPUSERID)
            then convert(bit, 1) else convert(bit, 0)
        end as ISFAVORITE
    from dbo.ADHOCQUERY
    inner join dbo.QUERYVIEWCATALOG on ADHOCQUERY.QUERYVIEWCATALOGID = QUERYVIEWCATALOG.ID
    left join dbo.RECORDTYPE on QUERYVIEWCATALOG.RECORDTYPEID = RECORDTYPE.ID
    inner join dbo.APPUSER on ADHOCQUERY.OWNERID = APPUSER.ID
    inner join dbo.CHANGEAGENT as ADDEDBY on ADHOCQUERY.ADDEDBYID = ADDEDBY.ID
    inner join dbo.CHANGEAGENT as CHANGEDBY on ADHOCQUERY.CHANGEDBYID = CHANGEDBY.ID
    where ADHOCQUERY.ID = @ADHOCQUERYID;