USP_RECEIVABLEPAYMENTCREDIT_UNAPPLY

Unapplies a given payment line item from a given charge line item.

Parameters

Parameter Parameter Type Mode Description
@RECEIVABLEPAYMENTCREDITAPPLICATIONLINEITEMID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@REVERSALLINEITEMID uniqueidentifier INOUT

Definition

Copy


            create procedure dbo.USP_RECEIVABLEPAYMENTCREDIT_UNAPPLY
                (
                    @RECEIVABLEPAYMENTCREDITAPPLICATIONLINEITEMID uniqueidentifier,
                    @CHANGEAGENTID uniqueidentifier = null,
                    @REVERSALLINEITEMID uniqueidentifier = null output
                )
            as
            begin
                set nocount on;

                begin try

                    -- Check specific application rules


                    -- Payment application line item must be from a payment or credit

                    if (exists (select FINANCIALTRANSACTION.ID
                                from dbo.FINANCIALTRANSACTION
                                    inner join dbo.FINANCIALTRANSACTIONLINEITEM
                                        on FINANCIALTRANSACTION.ID = FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID
                                where (FINANCIALTRANSACTIONLINEITEM.ID = @RECEIVABLEPAYMENTCREDITAPPLICATIONLINEITEMID) and
                                        (FINANCIALTRANSACTION.TYPECODE in (105, 106)))) -- Payment or credit

                         raiserror('ERR_RECEIVABLEPAYMENTCREDIT_UNAPPLY_PAYMENTLINEITEMNOTFROMPAYMENT', 13,1);

                    -- Payment application line item must be an application line item

                    if (exists (select FINANCIALTRANSACTIONLINEITEM.ID
                                from dbo.FINANCIALTRANSACTIONLINEITEM
                                where (FINANCIALTRANSACTIONLINEITEM.ID = @RECEIVABLEPAYMENTCREDITAPPLICATIONLINEITEMID) and
                                        (FINANCIALTRANSACTIONLINEITEM.TYPECODE != 2))) -- Application

                         raiserror('ERR_RECEIVABLEPAYMENTCREDIT_UNAPPLY_PAYMENTLINEITEMNOTAPPLICATION', 13,1);

                    -- Otherwise create the application, basic rules are handled in this sproc.

                    exec dbo.dbo.USP_FINANCIALTRANSACTION_LINEITEMAPPLICATIONS_UNAPPLY @RECEIVABLEPAYMENTCREDITAPPLICATIONLINEITEMID,
                                                                                        @CHANGEAGENTID,
                                                                                        @REVERSALLINEITEMID output;

                end try

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

                return 0;

            end