USP_INVOICES_DELETE

Deletes invoices associate with a check

Parameters

Parameter Parameter Type Mode Description
@INVOICES xml IN
@ID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy


CREATE procedure dbo.USP_INVOICES_DELETE(
    @INVOICES xml
    ,@ID uniqueidentifier
    ,@CHANGEAGENTID uniqueidentifier
    )
as
    begin try        

        declare @TempTbl table(
            [BANKACCOUNTTRANSACTIONID] uniqueidentifier
            ,[TRANSACTIONID] uniqueidentifier
            ,[TYPECODE] tinyint
            );

        insert into @TempTbl select
            T.[BANKACCOUNTTRANSACTIONID]
            ,T.[TRANSACTIONID]
            ,T.[TYPECODE]
        from dbo.UFN_BANKACCOUNTDISBURSEMENTTRANSACTIONS_FROMITEMLISTXML(@INVOICES) as T
        where T.[DELETE] != 0;

        declare @TRANSACTIONID uniqueidentifier;
        declare @TYPECODE tinyint;


        declare TRANSACTIONS cursor forward_only read_only for 
            select  
                [TRANSACTIONID]
                ,[TYPECODE]
            from @TempTbl where BANKACCOUNTTRANSACTIONID = @ID;        



        open TRANSACTIONS;
        fetch next from TRANSACTIONS into 
                @TRANSACTIONID,    
                @TYPECODE;

        while @@fetch_status = 0
        begin
            if @TYPECODE = 101 
                exec dbo.USP_INVOICE_DELETE @TRANSACTIONID, @CHANGEAGENTID;

            if @TYPECODE = 102
                exec dbo.USP_CREDITMEMO_DELETE @TRANSACTIONID, @CHANGEAGENTID;

            fetch next from TRANSACTIONS into 
                @TRANSACTIONID,    
                @TYPECODE;
        end;
        close TRANSACTIONS;
        deallocate TRANSACTIONS;

    end try

    begin catch
        exec dbo.USP_RAISE_ERROR
        return 1
    end catch