USP_SYSTEMROLE_COPYDATALISTPERMISSIONSTODATAFORM

Parameters

Parameter Parameter Type Mode Description
@NEWFEATUREID uniqueidentifier IN
@PERMISSIONEDFEATUREID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy

            CREATE procedure dbo.USP_SYSTEMROLE_COPYDATALISTPERMISSIONSTODATAFORM
            (
            @NEWFEATUREID uniqueidentifier,
            @PERMISSIONEDFEATUREID uniqueidentifier,
            @CHANGEAGENTID uniqueidentifier
            )
            as
            --Used for revisions
            set nocount on;

            begin try

                declare @CURRENTDATE datetime;

                set @CURRENTDATE = getdate();

                if @CHANGEAGENTID is null
                    exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

                    insert into dbo.SYSTEMROLEPERM_DATAFORMINSTANCE
                    (
                    SYSTEMROLEID,
                    DATAFORMINSTANCECATALOGID,
                    GRANTORDENY,
                    ADDEDBYID,
                    CHANGEDBYID,
                    DATEADDED,
                    DATECHANGED
                    )
                    select
                    SYSTEMROLEID,
                    @NEWFEATUREID,
                    GRANTORDENY,
                    @CHANGEAGENTID,
                    @CHANGEAGENTID,
                    @CURRENTDATE,
                    @CURRENTDATE
                    from dbo.SYSTEMROLEPERM_DATALIST
                    where DATALISTCATALOGID = @PERMISSIONEDFEATUREID
                    and not exists(select top 1 SUB.ID from dbo.SYSTEMROLEPERM_DATAFORMINSTANCE SUB
                    where SUB.DATAFORMINSTANCECATALOGID =@NEWFEATUREID  and SUB.SYSTEMROLEID = SYSTEMROLEPERM_DATALIST.SYSTEMROLEID)
                    and exists(select top 1 CAT.ID from DATAFORMINSTANCECATALOG CAT where CAT.ID = @NEWFEATUREID );

            end try

            begin catch
            exec dbo.USP_RAISE_ERROR;
            end catch