USP_DATAFORMTEMPLATE_EDITLOAD_ADHOCQUERYINSTANCE_PERMISSIONS

The load procedure used by the edit dataform template "Edit Ad-hoc Query Instance Permissions"

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.
@TSLONG bigint INOUT Output parameter indicating the TSLONG value of the record being edited. This is used to manage multi-user concurrency issues when multiple users access the same record.
@FEATURENAME nvarchar(60) INOUT Feature name
@SECURITYLEVEL tinyint INOUT This feature is available to
@SYSTEMROLELIST xml INOUT System Role List
@SECURITYLEVELEDIT tinyint INOUT This feature is available to
@SYSTEMROLELISTEDIT xml INOUT System Role List

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_ADHOCQUERYINSTANCE_PERMISSIONS (
  @ID uniqueidentifier,
  @DATALOADED bit = 0 output,
  @TSLONG bigint = 0 output,
  @FEATURENAME nvarchar(60) = null output,
  @SECURITYLEVEL tinyint = null output,
  @SYSTEMROLELIST xml = null output,
  @SECURITYLEVELEDIT tinyint = null output,
  @SYSTEMROLELISTEDIT xml = null output
) as

set nocount on;

set @DATALOADED = 0;
set @TSLONG = 0;

select
  @DATALOADED = 1,
  @TSLONG = TSLONG,
  @FEATURENAME = NAME,
  @SECURITYLEVEL = SECURITYLEVEL,
  @SECURITYLEVELEDIT = SECURITYLEVELEDIT,
  @SYSTEMROLELIST =     
    (select 
      SR.ID as SYSTEMROLEID, SR.NAME, 
      coalesce((select ID 
            from dbo.SYSTEMROLEPERM_ADHOCQUERYINSTANCE as SRP 
            where (SRP.SYSTEMROLEID = SR.ID) and (SRP.ADHOCQUERYID = @ID)), NewID()) as ID,
      coalesce((select GRANTORDENY
            from dbo.SYSTEMROLEPERM_ADHOCQUERYINSTANCE as SRP 
            where (SRP.SYSTEMROLEID = SR.ID) and (SRP.ADHOCQUERYID = @ID)), 2) as GRANTORDENY
    from
      dbo.SYSTEMROLE as SR 
    order by SR.NAME
    for xml raw('ITEM'), type, elements, root('SYSTEMROLELIST'), BINARY BASE64),
  @SYSTEMROLELISTEDIT =     
    (select 
      SR.ID as SYSTEMROLEID, SR.NAME, 
      coalesce((select ID 
            from dbo.SYSTEMROLEPERM_ADHOCQUERYINSTANCEEDIT as SRP 
            where (SRP.SYSTEMROLEID = SR.ID) and (SRP.ADHOCQUERYID = @ID)), NewID()) as ID,
      coalesce((select GRANTORDENY
            from dbo.SYSTEMROLEPERM_ADHOCQUERYINSTANCEEDIT as SRP 
            where (SRP.SYSTEMROLEID = SR.ID) and (SRP.ADHOCQUERYID = @ID)), 2) as GRANTORDENY
    from
      dbo.SYSTEMROLE as SR 
    order by SR.NAME
    for xml raw('ITEM'), type, elements, root('SYSTEMROLELISTEDIT'), BINARY BASE64)
from 
  dbo.ADHOCQUERY
where 
  ID = @ID;

return 0;