USP_DATAFORMTEMPLATE_ADD_GENERATETRANSACTIONSPROCESS_2

The save procedure used by the add dataform template "Generate Payments Process Add Form 2".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@NAME nvarchar(100) IN Name
@DESCRIPTION nvarchar(255) IN Description
@IDSETREGISTERID uniqueidentifier IN Selection
@CUTOFFDATE datetime IN Include transactions on or before
@BATCHTEMPLATEID uniqueidentifier IN Payment batch template
@BATCHNUMBER nvarchar(100) IN Payment batch number
@TRANSACTIONTYPECODE tinyint IN Transaction types
@OWNERID uniqueidentifier IN Payment batch owner
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@PDACCOUNTSYSTEMID uniqueidentifier IN Associated account system
@OVERRIDEBATCHNUMBER bit IN Override
@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
@SITEID uniqueidentifier IN

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_GENERATETRANSACTIONSPROCESS_2
                    (
                        @ID uniqueidentifier = null output,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @NAME nvarchar(100) = null,
                        @DESCRIPTION nvarchar(255) = '',
                        @IDSETREGISTERID uniqueidentifier = null,
                        @CUTOFFDATE datetime = null,
                        @BATCHTEMPLATEID uniqueidentifier = null,
                        @BATCHNUMBER nvarchar(100) = '',
                        @TRANSACTIONTYPECODE tinyint = null,
                        @OWNERID uniqueidentifier = null,
                        @CURRENTAPPUSERID uniqueidentifier,
                        @PDACCOUNTSYSTEMID uniqueidentifier = null,
                        @OVERRIDEBATCHNUMBER bit = 0,
                        @DUEDATETYPECODE tinyint = 0,
                        @DAYSAFTER integer = 1,
                        @CONSOLIDATEPAYMENTS bit = 1,
                        @SITEID uniqueidentifier = null
                    )
                    as 
                    set nocount on;

                    if @ID is null
                        set @ID = newid();

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

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

                    if @OVERRIDEBATCHNUMBER is null
                        set @OVERRIDEBATCHNUMBER = 0;

                    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

                                        if @TRANSACTIONTYPECODE = 0 or @TRANSACTIONTYPECODE = 2 --Recurring Gifts are getting processed

                                                if dbo.UFN_PDACCOUNTSYSTEM_GETNUMBEROFSYSTEMSFORUSER(@CURRENTAPPUSERID) <> 1
                                                        if @PDACCOUNTSYSTEMID is null
                                                                raiserror('ERR_ACCOUNTSYSTEM_REQUIRED', 13, 1);

                    begin try

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

                        insert into dbo.GENERATETRANSACTIONSPROCESS 
                             (ID, NAME, DESCRIPTION, IDSETREGISTERID, CUTOFFDATE, BATCHTEMPLATEID, BATCHNUMBER, TRANSACTIONTYPECODE, OWNERID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED, PDACCOUNTSYSTEMID, OVERRIDEBATCHNUMBER, DUEDATETYPECODE, DAYSAFTER, CONSOLIDATEPAYMENTS)
                            values
                             (@ID, @NAME, @DESCRIPTION, @IDSETREGISTERID, @CUTOFFDATE, @BATCHTEMPLATEID, @BATCHNUMBER, @TRANSACTIONTYPECODE, @OWNERID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE, @PDACCOUNTSYSTEMID, @OVERRIDEBATCHNUMBER,@DUEDATETYPECODE,@DAYSAFTER,@CONSOLIDATEPAYMENTS);

                            exec dbo.USP_BUSINESSPROCESSINSTANCE_ADD 
                                @CHANGEAGENTID = @CHANGEAGENTID
                                @BUSINESSPROCESSCATALOGID = 'F1606B58-8D50-4614-8752-57E1CF85DAE4'
                                @BUSINESSPROCESSPARAMETERSETID = @ID
                                @OWNERID = @CURRENTAPPUSERID,
                                @SITEID = @SITEID;

                    end try
                    begin catch
                        exec dbo.USP_RAISE_ERROR;
                        return 1;
                    end catch

                    return 0;