USP_DATAFORMTEMPLATE_EDIT_GENERATETRANSACTIONSPREPROCESS_3

The save procedure used by the edit dataform template "Generate Payments Preprocess Edit Form 1.1".

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.
@CUTOFFDATE datetime IN Generate payments due on or before
@BATCHTEMPLATEID uniqueidentifier IN Payment batch template
@BATCHNUMBER nvarchar(100) IN Payment batch number
@OWNERID uniqueidentifier IN Payment batch owner
@OVERRIDEBATCHNUMBER bit IN Override
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@DUEDATETYPECODE tinyint IN Payments due on or before
@DAYSAFTER int IN Days after this process runs
@CONSOLIDATEPAYMENTS bit IN Consolidate multiple commitments to a single payment by constituent

Definition

Copy

                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_GENERATETRANSACTIONSPREPROCESS_3
                    (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @CUTOFFDATE datetime,
                        @BATCHTEMPLATEID uniqueidentifier,
                        @BATCHNUMBER nvarchar(100),
                        @OWNERID uniqueidentifier,
                        @OVERRIDEBATCHNUMBER bit,
                        @CURRENTAPPUSERID uniqueidentifier,
                        @DUEDATETYPECODE tinyint,
                        @DAYSAFTER integer,
                        @CONSOLIDATEPAYMENTS bit
                    )
                    as
                    set nocount on;

                    if @CHANGEAGENTID is null
                        exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

                    declare @CURRENTDATE datetime;
                    set @CURRENTDATE = getdate();

                    if @OVERRIDEBATCHNUMBER is null
                        set @OVERRIDEBATCHNUMBER = 0;

                    begin try
                        declare @USENUMBERINGSCHEME bit;
                        declare @BATCHNUMBERINGSCHEMEID uniqueidentifier;

                        if (@OVERRIDEBATCHNUMBER = 0 or @BATCHNUMBER is null or len(@BATCHNUMBER) = 0)
                            set @USENUMBERINGSCHEME = 1;

                        if (@USENUMBERINGSCHEME = 1)
                        begin
                            select @BATCHNUMBERINGSCHEMEID = BATCHNUMBERINGSCHEMEID
                            from dbo.BATCHTEMPLATE
                            where ID = @BATCHTEMPLATEID

                            if @BATCHNUMBERINGSCHEMEID is null
                                raiserror('ERR_NUMBERINGSCHEME_NOTDEFINED', 13, 1);
                        end
                        else
                        begin
                            if dbo.UFN_SECURITY_APPUSER_GRANTED_CHANGEBATCHNUMBER(@CURRENTAPPUSERID, @BATCHTEMPLATEID) = 0
                                raiserror('ERR_CANNOTCUSTOMIZE_NUMBER', 13, 1);

                            if (select count(1) from dbo.BATCH where BATCHNUMBER = @BATCHNUMBER and BATCHTEMPLATEID = @BATCHTEMPLATEID) > 0
                                raiserror('ERR_DUPLICATE_NUMBER', 13, 1);
                        end

                        update dbo.GENERATETRANSACTIONSPROCESS
                            set 
                                CUTOFFDATE = @CUTOFFDATE,
                                BATCHTEMPLATEID = @BATCHTEMPLATEID,
                                BATCHNUMBER = @BATCHNUMBER,
                                OWNERID = @OWNERID,
                                CHANGEDBYID = @CHANGEAGENTID,
                                DATECHANGED = @CURRENTDATE,
                                OVERRIDEBATCHNUMBER = @OVERRIDEBATCHNUMBER,
                                DUEDATETYPECODE = @DUEDATETYPECODE,
                                DAYSAFTER = @DAYSAFTER,
                                CONSOLIDATEPAYMENTS = @CONSOLIDATEPAYMENTS
                        where ID = @ID;
                    end try
                    begin catch
                        exec dbo.USP_RAISE_ERROR;
                        return 1;
                    end catch

                    return 0;