USP_RECEIVABLEPAYMENT_UNAPPLY

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

Parameters

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

Definition

Copy


            create procedure dbo.USP_RECEIVABLEPAYMENT_UNAPPLY
                (
                    @PAYMENTAPPLICATIONLINEITEMID 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

                    if (exists (select FINANCIALTRANSACTION.ID
                                from dbo.FINANCIALTRANSACTION
                                    inner join dbo.FINANCIALTRANSACTIONLINEITEM
                                        on FINANCIALTRANSACTION.ID = FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID
                                where (FINANCIALTRANSACTIONLINEITEM.ID = @PAYMENTAPPLICATIONLINEITEMID) and
                                        (FINANCIALTRANSACTION.TYPECODE = 105))) -- Payment

                         raiserror('ERR_RECEIVABLEPAYMENTUNAPPLY_PAYMENTLINEITEMNOTFROMPAYMENT', 13,1);

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

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

                         raiserror('ERR_RECEIVABLEPAYMENTUNAPPLY_PAYMENTLINEITEMNOTAPPLICATION', 13,1);

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

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

                end try

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

                return 0;

            end