UFN_SECURITY_APPUSER_GRANTED_CHANGEBATCHNUMBER
Returns true if user has been granted and not denied rights changing batch numbers for a system role.
Return
Return Type |
---|
bit |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@APPUSERID | uniqueidentifier | IN | |
@BATCHTEMPLATEID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_SECURITY_APPUSER_GRANTED_CHANGEBATCHNUMBER (
@APPUSERID uniqueidentifier,
@BATCHTEMPLATEID uniqueidentifier = null
)
returns bit
as
begin
declare @grant bit;
set @grant = 0;
select @grant = ISSYSADMIN from dbo.APPUSER where ID = @APPUSERID;
if @grant = 0
begin
set @grant = dbo.UFN_SECURITY_APPUSER_GRANTED_SYSTEMPRIVILEGE_IN_SYSTEMROLE(@APPUSERID, 'F6C07CDB-08EE-4E40-940D-70DB9347CA5A');
if (@grant = 0) and (@BATCHTEMPLATEID is not null)
begin
select top 1
@grant = GRANTORDENY
from
dbo.V_SECURITY_SYSTEMROLEASSIGNMENT_USER_BATCHTEMPLATE
with (NOEXPAND, INDEX(IX_V_SECURITY_SYSTEMROLEASSIGNMENT_USER_BATCHTEMPLATE_BATCHTEMPLATEID_APPUSERID))
where
(V_SECURITY_SYSTEMROLEASSIGNMENT_USER_BATCHTEMPLATE.APPUSERID = @APPUSERID)
and (V_SECURITY_SYSTEMROLEASSIGNMENT_USER_BATCHTEMPLATE.BATCHTEMPLATEID = @BATCHTEMPLATEID)
order by
GRANTORDENY ASC;
if @@ROWCOUNT = 0
begin
select top 1
@grant = GRANTORDENY
from
dbo.V_SECURITY_SYSTEMROLEASSIGNMENT_USER_BATCHTYPE
inner join dbo.BATCHTEMPLATE on BATCHTEMPLATE.BATCHTYPECATALOGID = V_SECURITY_SYSTEMROLEASSIGNMENT_USER_BATCHTYPE.BATCHTYPECATALOGID
where
(V_SECURITY_SYSTEMROLEASSIGNMENT_USER_BATCHTYPE.APPUSERID = @APPUSERID)
and (BATCHTEMPLATE.ID = @BATCHTEMPLATEID)
order by
GRANTORDENY ASC;
end
end
end
return @grant;
end