USP_RECEIVABLEPAYMENTAPPLICATION_APPLY

Applies a payment line item to a charge line item.

Parameters

Parameter Parameter Type Mode Description
@LINEITEMAPPLICATIONID uniqueidentifier INOUT
@CHANGEAGENTID uniqueidentifier IN
@PAYMENTLINEITEM uniqueidentifier IN
@CHARGELINEITEM uniqueidentifier IN
@AMOUNT money IN

Definition

Copy


            create procedure dbo.USP_RECEIVABLEPAYMENTAPPLICATION_APPLY
                (
                    @LINEITEMAPPLICATIONID uniqueidentifier = null output,
                    @CHANGEAGENTID uniqueidentifier = null,
                    @PAYMENTLINEITEM uniqueidentifier,
                    @CHARGELINEITEM uniqueidentifier,
                    @AMOUNT money
                )
            as
            begin
                set nocount on;

                begin try

                    -- Check specific application rules


                    -- Payment 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 = @PAYMENTLINEITEM) and
                                        (FINANCIALTRANSACTION.TYPECODE = 105))) -- Payment

                         raiserror('ERR_RECEIVABLEPAYMENTAPPLICATION_PAYMENTLINEITEMNOTFROMPAYMENT', 13,1);

                    -- Charge 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 = @CHARGELINEITEM) and
                                        (FINANCIALTRANSACTION.TYPECODE = 104))) -- Charge

                         raiserror('ERR_RECEIVABLEPAYMENTAPPLICATION_CHARGELINEITEMNOTFROMCHARGE', 13,1);

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

                    exec dbo.USP_FINANCIALTRANSACTION_LINEITEMAPPLICATIONS_APPLY @LINEITEMAPPLICATIONID output,
                                                                                    @CHANGEAGENTID,
                                                                                    @PAYMENTLINEITEM,
                                                                                    @CHARGELINEITEM,
                                                                                    @AMOUNT;

                end try

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

                return 0;

            end