USP_DATAFORMTEMPLATE_EDIT_ACKNOWLEDGEMENTPROCESS_3

The save procedure used by the edit dataform template "Acknowledgement Process Edit Form 2".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@NAME nvarchar(100) IN Name
@IDSETREGISTERID uniqueidentifier IN Selection
@DESCRIPTION nvarchar(255) IN Description
@CREATEOUTPUTIDSET bit IN Create selection from results
@OUTPUTIDSETRECORDTYPEID uniqueidentifier IN Selection type
@OUTPUTIDSETNAME nvarchar(100) IN Selection name
@OVERWRITEOUTPUTIDSET bit IN Overwrite existing selection
@LETTERCODEID uniqueidentifier IN Acknowledge revenue with letter
@MARKLETTERSACKNOWLEDGED bit IN Mark letters 'Acknowledged' when process completes
@ACKNOWLEDGEDATETYPECODE tinyint IN Acknowledge date
@ACKNOWLEDGEDATE datetime IN Acknowledge date
@LABELFILE varbinary IN Label File
@LABELFILENAME nvarchar(255) IN Mailing label template
@DISPLAYEDLABELFILENAME nvarchar(255) IN Label file
@LABELFILECHANGED bit IN Label File changed?
@EXCLUSIONDATETYPECODE tinyint IN Consider exclusions as of
@EXCLUSIONASOFDATE datetime IN Consider exclusions as of
@EXCLUDEDECEASED bit IN Exclude deceased constituents
@EXCLUDEINACTIVE bit IN Exclude inactive constituents
@EXCLUSIONS xml IN Exclusions
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@SITEID uniqueidentifier IN Site

Definition

Copy


          CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_ACKNOWLEDGEMENTPROCESS_3
          (
            @ID uniqueidentifier,
            @CHANGEAGENTID uniqueidentifier = null,                
            @NAME nvarchar(100), 
            @IDSETREGISTERID uniqueidentifier, 
            @DESCRIPTION nvarchar(255), 
            @CREATEOUTPUTIDSET bit,
            @OUTPUTIDSETRECORDTYPEID uniqueidentifier, 
            @OUTPUTIDSETNAME nvarchar(100), 
            @OVERWRITEOUTPUTIDSET bit,
            @LETTERCODEID uniqueidentifier,
            @MARKLETTERSACKNOWLEDGED bit,
            @ACKNOWLEDGEDATETYPECODE tinyint,
            @ACKNOWLEDGEDATE datetime,
            @LABELFILE varbinary(max),
            @LABELFILENAME nvarchar(255),
            @DISPLAYEDLABELFILENAME nvarchar(255),
            @LABELFILECHANGED bit,
            @EXCLUSIONDATETYPECODE tinyint,
            @EXCLUSIONASOFDATE datetime,
            @EXCLUDEDECEASED bit,
            @EXCLUDEINACTIVE bit,
            @EXCLUSIONS xml,
            --@OVERRIDEREQUIREDEXCLUSIONS bit,

            --@REQUIREDEXCLUSIONS xml,

            @CURRENTAPPUSERID uniqueidentifier = null,
            @SITEID uniqueidentifier
          )
          as                
          begin
            set nocount on

            declare @CURRENTDATE datetime
            set @CURRENTDATE = getdate()

            declare @BUSINESSPROCESSCATALOGID uniqueidentifier = '02E8A918-FB90-4C3D-A70E-821DB5DA7A1F';

            begin try
              if @CHANGEAGENTID is null  
                exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output

              if (@SITEID is not null
              begin
                if dbo.UFN_SITEALLOWEDFORUSER(@CURRENTAPPUSERID, @SITEID) = 0 begin
                  raiserror ('ERR_SITE_NOACCESS',13,1);
                  return 1;
                end
              end

              if exists(select 1 from dbo.[BUSINESSPROCESSSTATUS] where [STATUSCODE] = 4 and [BUSINESSPROCESSPARAMETERSETID] = @ID)
                raiserror('ERR_ENQUEUED', 13, 1);

              update
                dbo.ACKNOWLEDGEMENTPROCESS
              set
                NAME = @NAME
                IDSETREGISTERID = @IDSETREGISTERID
                DESCRIPTION = @DESCRIPTION
                CREATEOUTPUTIDSET = @CREATEOUTPUTIDSET,
                OUTPUTIDSETRECORDTYPEID = @OUTPUTIDSETRECORDTYPEID
                OUTPUTIDSETNAME = @OUTPUTIDSETNAME
                OVERWRITEOUTPUTIDSET = @OVERWRITEOUTPUTIDSET,    
                MARKLETTERSACKNOWLEDGED = @MARKLETTERSACKNOWLEDGED,
                LETTERCODEID = @LETTERCODEID,
                ACKNOWLEDGEDATETYPECODE = @ACKNOWLEDGEDATETYPECODE,
                ACKNOWLEDGEDATE = @ACKNOWLEDGEDATE,
                CHANGEDBYID = @CHANGEAGENTID,
                LABELFILE = case when @LABELFILECHANGED = 1 then @LABELFILE else LABELFILE end,
                LABELFILENAME = case when @LABELFILECHANGED = 1 then @DISPLAYEDLABELFILENAME else LABELFILENAME end,
                DATECHANGED = @CURRENTDATE
              where
                ID = @ID                        

              exec dbo.USP_BUSINESSPROCESSCOMMPREF_UPDATE @CHANGEAGENTID = @CHANGEAGENTID,
                                    @BUSINESSPROCESSCATALOGID = '02E8A918-FB90-4C3D-A70E-821DB5DA7A1F',
                                    @BUSINESSPROCESSPARAMETERSETID = @ID,
                                    @EXCLUSIONDATETYPECODE = @EXCLUSIONDATETYPECODE,
                                    @EXCLUSIONASOFDATE = @EXCLUSIONASOFDATE,
                                    @EXCLUDEDECEASED = @EXCLUDEDECEASED,
                                    @EXCLUDEINACTIVE = @EXCLUDEINACTIVE,
                                    @EXCLUSIONS = @EXCLUSIONS,
                                    --@OVERRIDEREQUIREDEXCLUSIONS = @OVERRIDEREQUIREDEXCLUSIONS,

                                    --@REQUIREDEXCLUSIONS = @REQUIREDEXCLUSIONS,

                                    @CURRENTAPPUSERID = @CURRENTAPPUSERID;

              if exists(select ID from dbo.BUSINESSPROCESSINSTANCE where BUSINESSPROCESSINSTANCE.BUSINESSPROCESSPARAMETERSETID = @ID and BUSINESSPROCESSINSTANCE.BUSINESSPROCESSCATALOGID = @BUSINESSPROCESSCATALOGID)
              begin
                update dbo.BUSINESSPROCESSINSTANCE 
                  set SITEID = @SITEID,
                    CHANGEDBYID = @CHANGEAGENTID,
                    DATECHANGED = @CURRENTDATE
                where BUSINESSPROCESSINSTANCE.BUSINESSPROCESSPARAMETERSETID = @ID
                  and BUSINESSPROCESSINSTANCE.BUSINESSPROCESSCATALOGID = @BUSINESSPROCESSCATALOGID
                  and (BUSINESSPROCESSINSTANCE.SITEID <> @SITEID 
                    or BUSINESSPROCESSINSTANCE.SITEID is null and @SITEID is not null 
                    or BUSINESSPROCESSINSTANCE.SITEID is not null and @SITEID is null);
              end
              else
              begin
                exec dbo.USP_BUSINESSPROCESSINSTANCE_ADD @CHANGEAGENTID = @CHANGEAGENTID
                                  @BUSINESSPROCESSCATALOGID = @BUSINESSPROCESSCATALOGID
                                  @BUSINESSPROCESSPARAMETERSETID = @ID
                                  @OWNERID = @CURRENTAPPUSERID, @SITEID = @SITEID;
              end
            end try

            begin catch
              exec dbo.USP_RAISE_ERROR
              return 1
            end catch

            return 0
          end