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