USP_BANKACCOUNTDEPOSITPAYMENT_REMOVE

Executes the "Bank Account Deposit Payment: Delete" record operation.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN Input parameter indicating the ID of the record being deleted.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the delete.

Definition

Copy


                    CREATE procedure dbo.USP_BANKACCOUNTDEPOSITPAYMENT_REMOVE
                    (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier
                    )
                    as begin
                        set nocount on;

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

                        declare @CURRENTDATE datetime
                        set @CURRENTDATE = getdate()

                        begin try

                            update dbo.BANKACCOUNTDEPOSITPAYMENT set
                            DEPOSITID = NULL
                            where ID = @ID;

                            if exists(select 1 from dbo.FINANCIALTRANSACTION where ID = @ID and POSTSTATUSCODE != 3)
                            begin
                                delete from dbo.JOURNALENTRY where ID in (
                                    select JE.ID
                                    from dbo.JOURNALENTRY JE
                                    inner join dbo.FINANCIALTRANSACTIONLINEITEM LI on JE.FINANCIALTRANSACTIONLINEITEMID = LI.ID
                                    inner join dbo.JOURNALENTRY_EXT EXT on EXT.ID = JE.ID
                                    where LI.FINANCIALTRANSACTIONID = @ID and EXT.OUTDATED = 0 and EXT.TABLENAMECODE = 1);

                                exec dbo.USP_SAVE_REVENUEGLDISTRIBUTION @ID, @CHANGEAGENTID, @CURRENTDATE;

                                if exists(select 1 from dbo.JOURNALENTRY_EXT EXT where EXT.REVENUEPURCHASEID = @ID and EXT.OUTDATED = 0 and EXT.TABLENAMECODE = 2)
                                begin
                                    delete from dbo.JOURNALENTRY where ID in (
                                        select EXT.ID 
                                        from dbo.JOURNALENTRY_EXT EXT
                                        where EXT.REVENUEPURCHASEID = @ID and EXT.OUTDATED = 0 and EXT.TABLENAMECODE = 2);

                                    exec dbo.USP_REVENUE_UPDATEAUCTIONPURCHASEGLDISTRIBUTION_SINGLEREVENUE @ID, @CHANGEAGENTID, @CURRENTDATE;
                                end
                            end

                        end try

                        begin catch
                            exec dbo.USP_RAISE_ERROR
                            return 1
                        end catch

                        return 0;

                    end