UFN_RECURRINGGIFTINSTALLMENT_GETWRITEOFFINSTALLMENTSFOREDIT

Returns installment information for editing a write-off.

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@WRITEOFFID uniqueidentifier IN

Definition

Copy


CREATE function dbo.UFN_RECURRINGGIFTINSTALLMENT_GETWRITEOFFINSTALLMENTSFOREDIT(@WRITEOFFID uniqueidentifier)
returns table            
as            
return (
    select 
        INSTALLMENTID = RECURRINGGIFTINSTALLMENT.ID,
        RECURRINGGIFTINSTALLMENT.DATE,
        RECURRINGGIFTINSTALLMENT.AMOUNT,
        BALANCE = dbo.UFN_RECURRINGGIFTINSTALLMENT_GETINSTALLMENTBALANCE(RECURRINGGIFTINSTALLMENT.ID),
        WRITEOFFAMOUNT = isnull(RECURRINGGIFTINSTALLMENTWRITEOFF.TRANSACTIONAMOUNT,cast(0.0 as money)),
        INSTALLMENTWRITEOFFID = RECURRINGGIFTINSTALLMENTWRITEOFF.ID,
        RECURRINGGIFTINSTALLMENT.BASECURRENCYID,
        RECURRINGGIFTINSTALLMENT.ORGANIZATIONAMOUNT,
        RECURRINGGIFTINSTALLMENT.ORGANIZATIONEXCHANGERATEID,
        RECURRINGGIFTINSTALLMENT.TRANSACTIONAMOUNT,
        RECURRINGGIFTINSTALLMENT.TRANSACTIONCURRENCYID,
        RECURRINGGIFTINSTALLMENT.BASEEXCHANGERATEID
    from dbo.RECURRINGGIFTWRITEOFF
    inner join dbo.RECURRINGGIFTINSTALLMENT on RECURRINGGIFTINSTALLMENT.REVENUEID = RECURRINGGIFTWRITEOFF.REVENUEID
    left join dbo.RECURRINGGIFTINSTALLMENTWRITEOFF on RECURRINGGIFTINSTALLMENTWRITEOFF.RECURRINGGIFTINSTALLMENTID = RECURRINGGIFTINSTALLMENT.ID and RECURRINGGIFTINSTALLMENTWRITEOFF.WRITEOFFID = RECURRINGGIFTWRITEOFF.ID
    where RECURRINGGIFTWRITEOFF.ID = @WRITEOFFID
    and (dbo.UFN_RECURRINGGIFTINSTALLMENT_GETINSTALLMENTBALANCE(RECURRINGGIFTINSTALLMENT.ID) + isnull(RECURRINGGIFTINSTALLMENTWRITEOFF.TRANSACTIONAMOUNT,cast(0.0 as money)) > 0 or
         RECURRINGGIFTINSTALLMENTWRITEOFF.ID is not null)
    union all
    select
        null,
        I.DATE,
        REVENUE.TRANSACTIONAMOUNT,
        REVENUE.TRANSACTIONAMOUNT,
        WRITEOFFAMOUNT = cast(0.0 as money),
        null,
        REVENUE.BASECURRENCYID,
        REVENUE.ORGANIZATIONAMOUNT,
        REVENUE.ORGANIZATIONEXCHANGERATEID,
        REVENUE.TRANSACTIONAMOUNT,
        REVENUE.TRANSACTIONCURRENCYID,
        REVENUE.BASEEXCHANGERATEID
    from dbo.RECURRINGGIFTWRITEOFF
    inner join dbo.REVENUE on REVENUE.ID = RECURRINGGIFTWRITEOFF.REVENUEID
    cross apply dbo.UFN_RECURRINGGIFT_GETMISSINGINSTALLMENTS(RECURRINGGIFTWRITEOFF.REVENUEID) I
    where RECURRINGGIFTWRITEOFF.ID = @WRITEOFFID
    )