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;