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