USP_SYSTEMROLEATTRIBUTEPERMS_GRANT

Executes the "System Role Attribute Category Permission: Grant" record operation.

Parameters

Parameter Parameter Type Mode Description
@ID nvarchar(72) IN Input parameter indicating the ID of the record being deleted.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the delete.

Definition

Copy


                    CREATE procedure dbo.USP_SYSTEMROLEATTRIBUTEPERMS_GRANT
                    (
                        @ID nvarchar(72),
                        @CHANGEAGENTID uniqueidentifier
                    )
                    as begin
                        set nocount on;

                        if(len(@ID) = 72)
                        begin

                            declare @ATTRIBUTECATEGORYID uniqueidentifier;
                            declare @SYSTEMROLEID uniqueidentifier;                        
                            declare @SYSTEMROLEPERM_ATTRIBUTECATEGORYID uniqueidentifier;

                            set @ATTRIBUTECATEGORYID = cast(substring(@ID,1,36) as uniqueidentifier)
                            set @SYSTEMROLEID = cast(substring(@ID,37,36) as uniqueidentifier)

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

                            declare @CURRENTDATE datetime;
                            set @CURRENTDATE=getdate();

                            select 
                                @SYSTEMROLEPERM_ATTRIBUTECATEGORYID = ID
                            from 
                                dbo.SYSTEMROLEPERM_ATTRIBUTECATEGORY 
                            where 
                                ATTRIBUTECATEGORYID=@ATTRIBUTECATEGORYID and 
                                SYSTEMROLEID = @SYSTEMROLEID


                            if (@SYSTEMROLEPERM_ATTRIBUTECATEGORYID is not null)
                            begin
                                exec dbo.USP_SYSTEMROLEPERM_ATTRIBUTECATEGORY_DELETEBYID_WITHCHANGEAGENTID @SYSTEMROLEPERM_ATTRIBUTECATEGORYID, @CHANGEAGENTID;
                            end    

                            /*if exists(select 1 from dbo.SYSTEMROLEPERM_SYSTEMPRIVILEGE where  SYSTEMROLEID = @SYSTEMROLEID and
                                                                                              SYSTEMPRIVILEGECATALOGID = '98E6FC3C-CFC1-4613-9511-0DEB5B4D5403' and
                                                                                              GRANTORDENY = 1)
                            begin
                                declare @QUERYVIEWCATALOGID uniqueidentifier; 

                                select 
                                    @QUERYVIEWCATALOGID = ID 
                                from
                                    dbo.QUERYVIEWCATALOG
                                where
                                    OBJECTNAME = 'V_QUERY_ATTRIBUTE' + 
                                                  replace(cast(@ATTRIBUTECATEGORYID as nvarchar(36)), '-', '')

                                update
                                    dbo.SYSTEMROLEPERM_QUERYVIEW
                                set
                                    GRANTORDENY = 1,
                                    CHANGEDBYID = @CHANGEAGENTID,
                                    DATECHANGED = @CURRENTDATE
                                where
                                    QUERYVIEWCATALOGID = @QUERYVIEWCATALOGID and
                                    SYSTEMROLEID = @SYSTEMROLEID
                            end*/

                        end
                        return 0;

                    end