USP_DATAFORMTEMPLATE_EDITLOAD_SMARTQUERY_PERMISSIONS

The load procedure used by the edit dataform template "Smart Query Permissions Edit 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.
@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
@SYSTEMROLELIST xml INOUT System Role List

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_SMARTQUERY_PERMISSIONS
(
    @ID uniqueidentifier,
    @DATALOADED bit = 0 output,
    @TSLONG bigint = 0 output,
    @FEATURENAME nvarchar(60) = null output,
    @SYSTEMROLELIST xml = null output
)
as
set nocount on;

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

select 
    @DATALOADED = 1,
    @TSLONG = TSLONG,
    @FEATURENAME = (select NAME from dbo.SMARTQUERYCATALOG where ID = @ID),
    @SYSTEMROLELIST = 
        (
            select
                [SR].ID as SYSTEMROLEID,
                coalesce(
                            (
                                select ID 
                                from dbo.SYSTEMROLEPERM_SMARTQUERY as [SRP]
                                where ([SRP].SYSTEMROLEID = [SR].ID and [SRP].SMARTQUERYCATALOGID = @ID)
                            ),newid()
                        ) as [ID],
                coalesce(
                            (
                                select GRANTORDENY
                                from dbo.SYSTEMROLEPERM_SMARTQUERY as [SRP]
                                where ([SRP].SYSTEMROLEID = [SR].ID) and ([SRP].SMARTQUERYCATALOGID = @ID)
                            ), 2
                        ) as [GRANTORDENY]
            from dbo.SYSTEMROLE as [SR]
            order by [SR].NAME
            for xml raw('ITEM'), type, elements, root('SYSTEMROLELIST'), binary base64
        )
    from dbo.SMARTQUERYCATALOG
    where ID = @ID;

return 0;