USP_DATAFORMINSTANCETEMPLATE_EDITLOAD_DATAFORMINSTANCE_PERMISSIONS

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

Definition

Copy


CREATE procedure dbo.USP_DATAFORMINSTANCETEMPLATE_EDITLOAD_DATAFORMINSTANCE_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 = UINAME,
    @SYSTEMROLELIST =     
        (select 
            SR.ID as SYSTEMROLEID, SR.NAME, 
            coalesce((select ID 
                      from dbo.SYSTEMROLEPERM_DATAFORMINSTANCE as SRP 
                      where (SRP.SYSTEMROLEID = SR.ID) and (SRP.DATAFORMINSTANCECATALOGID = @ID)), NewID()) as ID,
            coalesce((select GRANTORDENY
                      from dbo.SYSTEMROLEPERM_DATAFORMINSTANCE as SRP 
                      where (SRP.SYSTEMROLEID = SR.ID) and (SRP.DATAFORMINSTANCECATALOGID = @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.DATAFORMINSTANCECATALOG
where 
    ID = @ID;

return 0;