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