USP_BUSINESSPROCESSCOMMPREF_UPDATE
Updates the communication preferences for a business process.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@BUSINESSPROCESSCATALOGID | uniqueidentifier | IN | |
@BUSINESSPROCESSPARAMETERSETID | uniqueidentifier | IN | |
@EXCLUSIONDATETYPECODE | tinyint | IN | |
@EXCLUSIONASOFDATE | datetime | IN | |
@EXCLUDEDECEASED | bit | IN | |
@EXCLUDEINACTIVE | bit | IN | |
@EXCLUSIONS | xml | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_BUSINESSPROCESSCOMMPREF_UPDATE
(
@ID uniqueidentifier = null,
@CHANGEAGENTID uniqueidentifier,
@BUSINESSPROCESSCATALOGID uniqueidentifier = null,
@BUSINESSPROCESSPARAMETERSETID uniqueidentifier = null,
@EXCLUSIONDATETYPECODE tinyint = 0,
@EXCLUSIONASOFDATE datetime = null,
@EXCLUDEDECEASED bit = null,
@EXCLUDEINACTIVE bit = null,
@EXCLUSIONS xml = null,
--@OVERRIDEREQUIREDEXCLUSIONS bit = 0,
--@REQUIREDEXCLUSIONS xml = null,
@CURRENTAPPUSERID uniqueidentifier = null
--@INCLUSIONS xml = null
)
as
set nocount on;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
begin try
update dbo.BUSINESSPROCESSCOMMPREF
set DATETYPECODE = @EXCLUSIONDATETYPECODE,
ASOFDATE = @EXCLUSIONASOFDATE,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where BUSINESSPROCESSPARAMETERSETID = @BUSINESSPROCESSPARAMETERSETID;
exec dbo.USP_BUSINESSPROCESSCOMMPREF_GETEXCLUSIONS_UPDATEFROMXML @BUSINESSPROCESSPARAMETERSETID, @EXCLUSIONS, @CHANGEAGENTID;
--exec dbo.USP_BUSINESSPROCESSCOMMPREF_GETINCLUSIONS_UPDATEFROMXML @BUSINESSPROCESSPARAMETERSETID, @INCLUSIONS, @CHANGEAGENTID;
declare @CANUPDATEEXCLUDEDECEASED bit = dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID);
declare @CANUPDATEEXCLUDEINACTIVE bit = @CANUPDATEEXCLUDEDECEASED;
if @CANUPDATEEXCLUDEDECEASED <> 1
set @CANUPDATEEXCLUDEDECEASED = dbo.UFN_SECURITY_APPUSER_GRANTED_SYSTEMPRIVILEGE_IN_SYSTEMROLE(@CURRENTAPPUSERID, '2EEC593D-06B1-49E0-9031-A4076B07081C');
if @CANUPDATEEXCLUDEINACTIVE <> 1
set @CANUPDATEEXCLUDEINACTIVE = dbo.UFN_SECURITY_APPUSER_GRANTED_SYSTEMPRIVILEGE_IN_SYSTEMROLE(@CURRENTAPPUSERID, 'C0E02A6F-DF46-460C-ACA2-CC31C9C11BFC');
if @CANUPDATEEXCLUDEDECEASED = 1 or @CANUPDATEEXCLUDEINACTIVE = 1
update dbo.BUSINESSPROCESSCOMMPREF
set EXCLUDEDECEASED = case when @CANUPDATEEXCLUDEDECEASED = 1 then @EXCLUDEDECEASED else EXCLUDEDECEASED end,
EXCLUDEINACTIVE = case when @CANUPDATEEXCLUDEINACTIVE = 1 then @EXCLUDEINACTIVE else EXCLUDEINACTIVE end,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where BUSINESSPROCESSPARAMETERSETID = @BUSINESSPROCESSPARAMETERSETID;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;