UFN_PLEDGE_INSTALLMENTSPLITSBALANCE

Validates that the splits on pledge installments balance to the splits on the pledge.

Return

Return Type
bit

Parameters

Parameter Parameter Type Mode Description
@PLEDGEID uniqueidentifier IN

Definition

Copy


CREATE function dbo.UFN_PLEDGE_INSTALLMENTSPLITSBALANCE (@PLEDGEID uniqueidentifier)
returns bit
  with execute as caller
as
begin
  --do not use this routine for membership recurring gifts use UFN_MEMBERSHIPRG_INSTALLMENTSPLITSBALANCE

  if exists (
      select 1
      from (
        select sum(FINANCIALTRANSACTIONLINEITEM.TRANSACTIONAMOUNT) AMOUNT
          ,REVENUESPLIT_EXT.DESIGNATIONID
        from FINANCIALTRANSACTIONLINEITEM
        inner join REVENUESPLIT_EXT on FINANCIALTRANSACTIONLINEITEM.ID = REVENUESPLIT_EXT.ID
        where FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = @PLEDGEID
          and FINANCIALTRANSACTIONLINEITEM.DELETEDON is null
          and FINANCIALTRANSACTIONLINEITEM.TYPECODE <> 1
        group by REVENUESPLIT_EXT.DESIGNATIONID
        ) a
      full join (
        select sum(INSTALLMENTSPLIT.TRANSACTIONAMOUNT) AMOUNT
          ,INSTALLMENTSPLIT.DESIGNATIONID
        from INSTALLMENTSPLIT
        where INSTALLMENTSPLIT.PLEDGEID = @PLEDGEID
        group by INSTALLMENTSPLIT.DESIGNATIONID
        ) b on a.DESIGNATIONID = b.DESIGNATIONID
      where coalesce(a.AMOUNT, 0.00) <> coalesce(b.AMOUNT, 0.00)
      )
    return 0

  return 1
end