USP_DATAFORMTEMPLATE_EDIT_GENERATETRANSACTIONSPROCESS_5

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@NAME nvarchar(100) IN
@DESCRIPTION nvarchar(255) IN
@IDSETREGISTERID uniqueidentifier IN
@CUTOFFDATE datetime IN
@BATCHTEMPLATEID uniqueidentifier IN
@BATCHNUMBER nvarchar(100) IN
@TRANSACTIONTYPECODE tinyint IN
@OWNERID uniqueidentifier IN
@PDACCOUNTSYSTEMID uniqueidentifier IN
@OVERRIDEBATCHNUMBER bit IN
@CURRENTAPPUSERID uniqueidentifier IN
@DUEDATETYPECODE tinyint IN
@DAYSAFTER int IN
@CONSOLIDATEPAYMENTS bit IN
@SITEID uniqueidentifier IN

Definition

Copy


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

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

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

                    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

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

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

                        update 
                            dbo.GENERATETRANSACTIONSPROCESS
                        set 
                            NAME = @NAME,
                            DESCRIPTION = @DESCRIPTION,
                            IDSETREGISTERID = @IDSETREGISTERID,
                            CUTOFFDATE = @CUTOFFDATE,
                            BATCHTEMPLATEID = @BATCHTEMPLATEID,
                            BATCHNUMBER = @BATCHNUMBER,
                            TRANSACTIONTYPECODE = @TRANSACTIONTYPECODE,
                            OWNERID = @OWNERID,
                            PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID,
                            CHANGEDBYID = @CHANGEAGENTID,
                            DATECHANGED = @CURRENTDATE,
                            OVERRIDEBATCHNUMBER = @OVERRIDEBATCHNUMBER,
                            DUEDATETYPECODE = @DUEDATETYPECODE,
                            DAYSAFTER = @DAYSAFTER,
                            CONSOLIDATEPAYMENTS = @CONSOLIDATEPAYMENTS
                        where 
                            ID = @ID;

                            update 
                                    dbo.BUSINESSPROCESSINSTANCE 
                                set 
                                    SITEID = @SITEID,
                                    CHANGEDBYID = @CHANGEAGENTID,
                                    DATECHANGED = @CURRENTDATE
                                    where 
                                        BUSINESSPROCESSINSTANCE.BUSINESSPROCESSPARAMETERSETID = @ID
                                        and BUSINESSPROCESSINSTANCE.BUSINESSPROCESSCATALOGID = 'F1606B58-8D50-4614-8752-57E1CF85DAE4'
                                        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 try

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

                    return 0;