USP_SYSTEMROLE_COPYBUSINESSPROCESSPERMISSIONS
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@NEWFEATUREID | uniqueidentifier | IN | |
@PERMISSIONEDFEATUREID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN |
Definition
Copy
create procedure dbo.[USP_SYSTEMROLE_COPYBUSINESSPROCESSPERMISSIONS]
(
@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_BUSINESSPROCESS]
(
[SYSTEMROLEID],
[BUSINESSPROCESSCATALOGID],
[GRANTORDENY],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
select
[SYSTEMROLEID],
@NEWFEATUREID,
[GRANTORDENY],
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
from dbo.[SYSTEMROLEPERM_BUSINESSPROCESS]
where [BUSINESSPROCESSCATALOGID] = @PERMISSIONEDFEATUREID
and not exists(select top 1 [SUB].[ID]
from dbo.[SYSTEMROLEPERM_BUSINESSPROCESS] as [SUB]
where [SUB].[BUSINESSPROCESSCATALOGID] = @NEWFEATUREID
and [SUB].[SYSTEMROLEID] = [SYSTEMROLEPERM_BUSINESSPROCESS].[SYSTEMROLEID])
and exists(select top 1 [CAT].[ID] from dbo.[BUSINESSPROCESSCATALOG] as [CAT] where [CAT].[ID] = @NEWFEATUREID);
end try
begin catch
exec dbo.[USP_RAISE_ERROR];
return 1;
end catch
return 0;