USP_DATAFORMTEMPLATE_EDIT_RECEIPTINGPROCESS_5

The save procedure used by the edit dataform template "Receipting 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
@MARKRECEIPTED bit IN Mark revenue 'Receipted' when process completes
@BUSINESSPROCESSVIEWID uniqueidentifier IN Output format
@LETTERFILE varbinary IN File
@LETTERFILENAME nvarchar(255) IN Word template
@DISPLAYEDLETTERFILENAME nvarchar(255) IN File
@LETTERFILECHANGED bit IN Letter file changed?
@LABELFILE varbinary IN Label File
@LABELFILENAME nvarchar(255) IN Label File
@DISPLAYEDLABELFILENAME nvarchar(255) IN Label file
@LABELFILECHANGED bit IN Label File changed?
@RECEIPTDATETYPECODE tinyint IN Receipt date
@RECEIPTDATE datetime IN Receipt date
@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
@CUSTOMPARAMETERDATAFORMITEM xml IN
@RECEIPTTYPECODE tinyint IN Receipt type
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@EXPORTDEFINITIONID uniqueidentifier IN Export definition
@RECEIPTSTACKID uniqueidentifier IN Receipt Stack
@RERECEIPTSAMENUMBER bit IN Include re-receipt payments that use the same receipt number
@RERECEIPTNEWNUMBER bit IN Include re-receipt payments that receive a new receipt number
@DUPLICATENUMBERACTIONCODE tinyint IN If new receipt ID is a duplicate
@STARTINGNUMBERCREATESGAPACTIONCODE tinyint IN If new receipt ID leaves a gap
@SITEID uniqueidentifier IN Site

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_RECEIPTINGPROCESS_5
(
  @ID uniqueidentifier,
  @CHANGEAGENTID uniqueidentifier = null,                
  @NAME nvarchar(100), 
  @IDSETREGISTERID uniqueidentifier,
  @DESCRIPTION nvarchar(255), 
  @CREATEOUTPUTIDSET bit,
  @OUTPUTIDSETRECORDTYPEID uniqueidentifier,
  @OUTPUTIDSETNAME nvarchar(100), 
  @OVERWRITEOUTPUTIDSET bit,
  @MARKRECEIPTED bit,        
  @BUSINESSPROCESSVIEWID uniqueidentifier,
  @LETTERFILE varbinary(max),
  @LETTERFILENAME nvarchar(255),
  @DISPLAYEDLETTERFILENAME nvarchar(255),
  @LETTERFILECHANGED bit,
  @LABELFILE varbinary(max),
  @LABELFILENAME nvarchar(255),
  @DISPLAYEDLABELFILENAME nvarchar(255),
  @LABELFILECHANGED bit,
  @RECEIPTDATETYPECODE tinyint,
  @RECEIPTDATE datetime,
  @EXCLUSIONDATETYPECODE tinyint,
  @EXCLUSIONASOFDATE datetime,
  @EXCLUDEDECEASED bit,
  @EXCLUDEINACTIVE bit,
  @EXCLUSIONS xml,
  @CUSTOMPARAMETERDATAFORMITEM xml,
  @RECEIPTTYPECODE tinyint,
  --@OVERRIDEREQUIREDEXCLUSIONS bit,

  --@REQUIREDEXCLUSIONS xml,

  @CURRENTAPPUSERID uniqueidentifier = null,
  @EXPORTDEFINITIONID uniqueidentifier,
  @RECEIPTSTACKID uniqueidentifier,
  @RERECEIPTSAMENUMBER bit,
  @RERECEIPTNEWNUMBER bit,
  @DUPLICATENUMBERACTIONCODE tinyint,
  @STARTINGNUMBERCREATESGAPACTIONCODE tinyint,
  @SITEID uniqueidentifier
)
as                
begin
  set nocount on

  declare @CURRENTDATE datetime
  set @CURRENTDATE = getdate()

  declare @BUSINESSPROCESSCATALOGID uniqueidentifier = '83048DED-208E-45c9-852C-E7D5C7317882';

  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
    /*
    else if (@SITEID is null)
    begin
      if dbo.UFN_SITEREQUIREDFORUSER(@CURRENTAPPUSERID) = 1
      begin
        raiserror('BBERR_SITEREQUIRED',13,1);
        return 1;
      end
    end
    */

    declare @RECORDTYPE nvarchar(100)
    if @EXPORTDEFINITIONID is not null
    begin
      select @RECORDTYPE = dbo.UFN_EXPORTDEFINITION_GETRECORDTYPE(@EXPORTDEFINITIONID)
        if @RECORDTYPE <> 'Revenue'
          raiserror('BBERR_RECEIPTINGPROCESS_EXPORTDEFINITIONINVALID', 13, 1);
    end

    update
      dbo.RECEIPTINGPROCESS
    set
      NAME = @NAME
      IDSETREGISTERID = @IDSETREGISTERID
      DESCRIPTION = @DESCRIPTION
      CREATEOUTPUTIDSET = @CREATEOUTPUTIDSET,
      OUTPUTIDSETRECORDTYPEID = @OUTPUTIDSETRECORDTYPEID
      OUTPUTIDSETNAME = @OUTPUTIDSETNAME
      OVERWRITEOUTPUTIDSET = @OVERWRITEOUTPUTIDSET,    
      MARKRECEIPTED = @MARKRECEIPTED,        
      BUSINESSPROCESSVIEWID = @BUSINESSPROCESSVIEWID,
      LETTERFILENAME = case when @LETTERFILECHANGED = 1 then @DISPLAYEDLETTERFILENAME else LETTERFILENAME end,
      LETTERFILE = case when @LETTERFILECHANGED = 1 then @LETTERFILE else LETTERFILE end,
      LABELFILENAME = case when @LABELFILECHANGED = 1 then @DISPLAYEDLABELFILENAME else LABELFILENAME end,    
      LABELFILE = case when @LABELFILECHANGED = 1 then @LABELFILE else LABELFILE end,
      RECEIPTDATETYPECODE = @RECEIPTDATETYPECODE,
      RECEIPTDATE = @RECEIPTDATE,
      RECEIPTTYPECODE = @RECEIPTTYPECODE,
      CHANGEDBYID = @CHANGEAGENTID,
      DATECHANGED = @CURRENTDATE,
      CUSTOMPARAMETERDATAFORMITEM = @CUSTOMPARAMETERDATAFORMITEM,
      EXPORTDEFINITIONID = @EXPORTDEFINITIONID,
      RECEIPTSTACKINFOID = @RECEIPTSTACKID,
      RERECEIPTSAMENUMBER = @RERECEIPTSAMENUMBER,
      RERECEIPTNEWNUMBER = @RERECEIPTNEWNUMBER,
      DUPLICATENUMBERACTIONCODE = @DUPLICATENUMBERACTIONCODE,
      STARTINGNUMBERCREATESGAPACTIONCODE = @STARTINGNUMBERCREATESGAPACTIONCODE
    where
      ID = @ID;    

    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);

    exec dbo.USP_BUSINESSPROCESSCOMMPREF_UPDATE @CHANGEAGENTID = @CHANGEAGENTID,
                          @BUSINESSPROCESSCATALOGID = '83048DED-208E-45c9-852C-E7D5C7317882',
                          @BUSINESSPROCESSPARAMETERSETID = @ID,
                          @EXCLUSIONDATETYPECODE = @EXCLUSIONDATETYPECODE,
                          @EXCLUSIONASOFDATE = @EXCLUSIONASOFDATE,
                          @EXCLUDEDECEASED = @EXCLUDEDECEASED,
                          @EXCLUDEINACTIVE = @EXCLUDEINACTIVE,
                          @EXCLUSIONS = @EXCLUSIONS,
                          --@OVERRIDEREQUIREDEXCLUSIONS = @OVERRIDEREQUIREDEXCLUSIONS,

                          --@REQUIREDEXCLUSIONS = @REQUIREDEXCLUSIONS,

                          @CURRENTAPPUSERID = @CURRENTAPPUSERID;
  end try

  begin catch
    exec dbo.USP_RAISE_ERROR
    return 1
  end catch

  return 0
end