UFN_GIFTAIDREVENUESPLIT_CALCULATEPLEDGESPLITGROSSAMOUNTBALANCE
Return
Return Type |
---|
money |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@PLEDGESPLITID | uniqueidentifier | IN | |
@CURRENCYID | uniqueidentifier | IN |
Definition
Copy
create function dbo.UFN_GIFTAIDREVENUESPLIT_CALCULATEPLEDGESPLITGROSSAMOUNTBALANCE
(
@PLEDGESPLITID uniqueidentifier,
@CURRENCYID uniqueidentifier
)
returns money
with execute as caller
as begin
declare @PLEDGESPLITGROSSAMOUNTBALANCE money
if @CURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY()
begin
select @PLEDGESPLITGROSSAMOUNTBALANCE = FINANCIALTRANSACTIONLINEITEM.ORGAMOUNT - coalesce(PAYMENTS.AMOUNT, 0) - coalesce(WRITEOFF.TOTALAMOUNT, 0)
+ coalesce(TAXCLAIM.BASETAXCLAIMAMOUNT + TAXCLAIM.TRANSITIONALTAXCLAIMAMOUNT, 0)
from dbo.FINANCIALTRANSACTIONLINEITEM
left join (
select INSTALLMENTSPLIT.REVENUESPLITID,
SUM(dbo.UFN_INSTALLMENTSPLITPAYMENT_GETAMOUNTINCURRENCY(INSTALLMENTSPLITPAYMENT.ID, @CURRENCYID)) AMOUNT
from dbo.INSTALLMENTSPLITPAYMENT
inner join dbo.INSTALLMENTSPLIT on INSTALLMENTSPLITPAYMENT.INSTALLMENTSPLITID = INSTALLMENTSPLIT.ID
inner join dbo.FINANCIALTRANSACTIONLINEITEM on INSTALLMENTSPLIT.REVENUESPLITID = FINANCIALTRANSACTIONLINEITEM.ID
inner join dbo.FINANCIALTRANSACTION on FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = FINANCIALTRANSACTION.ID
group by INSTALLMENTSPLIT.REVENUESPLITID
) as PAYMENTS on PAYMENTS.REVENUESPLITID = FINANCIALTRANSACTIONLINEITEM.ID
left join (
select INSTALLMENTSPLIT.REVENUESPLITID, SUM(INSTALLMENTSPLITWRITEOFF.ORGANIZATIONAMOUNT) as TOTALAMOUNT
from dbo.INSTALLMENTSPLITWRITEOFF
inner join dbo.INSTALLMENTSPLIT on INSTALLMENTSPLITWRITEOFF.INSTALLMENTSPLITID = INSTALLMENTSPLIT.ID
group by INSTALLMENTSPLIT.REVENUESPLITID
) as WRITEOFF on FINANCIALTRANSACTIONLINEITEM.ID = WRITEOFF.REVENUESPLITID
cross apply (
select
coalesce(sum(INSTALLMENTSPLITAMOUNT * (BASETAXRATE / (100 - BASETAXRATE))), 0) as BASETAXCLAIMAMOUNT,
coalesce(sum(INSTALLMENTSPLITAMOUNT * ((BASETAXRATE + TRANSITIONALTAXRATE) / (100 - (BASETAXRATE + TRANSITIONALTAXRATE)))), 0) - coalesce(sum(INSTALLMENTSPLITAMOUNT * (BASETAXRATE / (100 - BASETAXRATE))), 0) as TRANSITIONALTAXCLAIMAMOUNT
from
(
select
INSTALLMENTSPLITAMOUNT,
case
when ELIGIBILEANDVALIDDECLARATION = 1 then dbo.UFN_GETGIFTAIDBASETAXRATE(INSTALLMENTS.DATE)
else 0
end BASETAXRATE,
case
when ELIGIBILEANDVALIDDECLARATION = 1 then dbo.UFN_GETGIFTAIDTRANSITIONALTAXRATE(INSTALLMENTS.DATE)
else 0
end TRANSITIONALTAXRATE
from
(
select
INSTALLMENT.DATE,
INSTALLMENTSPLIT.ORGANIZATIONAMOUNT
- coalesce((select sum(dbo.UFN_INSTALLMENTSPLITPAYMENT_GETAMOUNTINCURRENCY(INSTALLMENTSPLITPAYMENT.ID, @CURRENCYID))
from dbo.INSTALLMENTSPLITPAYMENT
where INSTALLMENTSPLITPAYMENT.INSTALLMENTSPLITID = INSTALLMENTSPLIT.ID
), 0)
- coalesce((select sum(ORGANIZATIONAMOUNT)
from dbo.INSTALLMENTSPLITWRITEOFF
where INSTALLMENTSPLITID = INSTALLMENTSPLIT.ID), 0) as INSTALLMENTSPLITAMOUNT,
case when (REVENUESPLITGIFTAID.RULES_STATUS & REVENUESPLITGIFTAID.ATTRIBUTES_STATUS) = 1 and (dbo.UFN_VALIDDECLARATION(INSTALLMENT.DATE, FINANCIALTRANSACTION.CONSTITUENTID, REVENUESPLIT_EXT.DESIGNATIONID, null, null) = 2 or REVENUESPLITGIFTAID.ISCOVENANT = 1)
then 1
else 0
end ELIGIBILEANDVALIDDECLARATION
from dbo.FINANCIALTRANSACTIONLINEITEM inner join dbo.REVENUESPLIT_EXT on FINANCIALTRANSACTIONLINEITEM.ID = REVENUESPLIT_EXT.ID
inner join dbo.FINANCIALTRANSACTION on FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = FINANCIALTRANSACTION.ID
inner join dbo.INSTALLMENTSPLIT on FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = INSTALLMENTSPLIT.PLEDGEID and REVENUESPLIT_EXT.DESIGNATIONID = INSTALLMENTSPLIT.DESIGNATIONID
inner join dbo.INSTALLMENT on INSTALLMENTSPLIT.INSTALLMENTID = INSTALLMENT.ID
left join dbo.REVENUESPLITGIFTAID on FINANCIALTRANSACTIONLINEITEM.ID = REVENUESPLITGIFTAID.ID
where
FINANCIALTRANSACTIONLINEITEM.ID = @PLEDGESPLITID and
REVENUESPLITGIFTAID.DECLINESGIFTAID = 0 and
FINANCIALTRANSACTION.DELETEDON is null
) as INSTALLMENTS
) as INSTALLMENTSWITHRATE
) as TAXCLAIM
where FINANCIALTRANSACTIONLINEITEM.ID = @PLEDGESPLITID
end
else if @CURRENCYID = (select CURRENCYSET.BASECURRENCYID
from dbo.FINANCIALTRANSACTIONLINEITEM inner join DBO.FINANCIALTRANSACTION on FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = FINANCIALTRANSACTION.ID
inner join dbo.PDACCOUNTSYSTEM on FINANCIALTRANSACTION.PDACCOUNTSYSTEMID = PDACCOUNTSYSTEM.ID
inner join dbo.CURRENCYSET on PDACCOUNTSYSTEM.CURRENCYSETID = CURRENCYSET.ID
where FINANCIALTRANSACTIONLINEITEM.ID = @PLEDGESPLITID)
begin
select @PLEDGESPLITGROSSAMOUNTBALANCE = FINANCIALTRANSACTIONLINEITEM.BASEAMOUNT - coalesce(PAYMENTS.AMOUNT, 0) - coalesce(WRITEOFF.TOTALAMOUNT, 0)
+ coalesce(TAXCLAIM.BASETAXCLAIMAMOUNT + TAXCLAIM.TRANSITIONALTAXCLAIMAMOUNT, 0)
from dbo.FINANCIALTRANSACTIONLINEITEM
left join (
select INSTALLMENTSPLIT.REVENUESPLITID,
SUM(dbo.UFN_INSTALLMENTSPLITPAYMENT_GETAMOUNTINCURRENCY(INSTALLMENTSPLITPAYMENT.ID, @CURRENCYID)) AMOUNT
from dbo.INSTALLMENTSPLITPAYMENT
inner join dbo.INSTALLMENTSPLIT on INSTALLMENTSPLITPAYMENT.INSTALLMENTSPLITID = INSTALLMENTSPLIT.ID
inner join dbo.FINANCIALTRANSACTIONLINEITEM on INSTALLMENTSPLIT.REVENUESPLITID = FINANCIALTRANSACTIONLINEITEM.ID
inner join dbo.FINANCIALTRANSACTION on FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = FINANCIALTRANSACTION.ID
group by INSTALLMENTSPLIT.REVENUESPLITID
) as PAYMENTS on PAYMENTS.REVENUESPLITID = FINANCIALTRANSACTIONLINEITEM.ID
left join (
select INSTALLMENTSPLIT.REVENUESPLITID, SUM(INSTALLMENTSPLITWRITEOFF.AMOUNT) as TOTALAMOUNT
from dbo.INSTALLMENTSPLITWRITEOFF
inner join dbo.INSTALLMENTSPLIT on INSTALLMENTSPLITWRITEOFF.INSTALLMENTSPLITID = INSTALLMENTSPLIT.ID
group by INSTALLMENTSPLIT.REVENUESPLITID
) as WRITEOFF on FINANCIALTRANSACTIONLINEITEM.ID = WRITEOFF.REVENUESPLITID
cross apply (
select
coalesce(sum(INSTALLMENTSPLITAMOUNT * (BASETAXRATE / (100 - BASETAXRATE))), 0) as BASETAXCLAIMAMOUNT,
coalesce(sum(INSTALLMENTSPLITAMOUNT * ((BASETAXRATE + TRANSITIONALTAXRATE) / (100 - (BASETAXRATE + TRANSITIONALTAXRATE)))), 0) - coalesce(sum(INSTALLMENTSPLITAMOUNT * (BASETAXRATE / (100 - BASETAXRATE))), 0) as TRANSITIONALTAXCLAIMAMOUNT
from
(
select
INSTALLMENTSPLITAMOUNT,
case
when ELIGIBILEANDVALIDDECLARATION = 1 then dbo.UFN_GETGIFTAIDBASETAXRATE(INSTALLMENTS.DATE)
else 0
end BASETAXRATE,
case
when ELIGIBILEANDVALIDDECLARATION = 1 then dbo.UFN_GETGIFTAIDTRANSITIONALTAXRATE(INSTALLMENTS.DATE)
else 0
end TRANSITIONALTAXRATE
from
(
select
INSTALLMENT.DATE,
INSTALLMENTSPLIT.AMOUNT
- coalesce((select sum(dbo.UFN_INSTALLMENTSPLITPAYMENT_GETAMOUNTINCURRENCY(INSTALLMENTSPLITPAYMENT.ID, @CURRENCYID))
from dbo.INSTALLMENTSPLITPAYMENT
where INSTALLMENTSPLITPAYMENT.INSTALLMENTSPLITID = INSTALLMENTSPLIT.ID
), 0)
- coalesce((select sum(AMOUNT)
from dbo.INSTALLMENTSPLITWRITEOFF
where INSTALLMENTSPLITID = INSTALLMENTSPLIT.ID), 0) as INSTALLMENTSPLITAMOUNT,
case when (REVENUESPLITGIFTAID.RULES_STATUS & REVENUESPLITGIFTAID.ATTRIBUTES_STATUS) = 1 and (dbo.UFN_VALIDDECLARATION(INSTALLMENT.DATE, FINANCIALTRANSACTION.CONSTITUENTID, REVENUESPLIT_EXT.DESIGNATIONID, null, null) = 2 or REVENUESPLITGIFTAID.ISCOVENANT = 1)
then 1
else 0
end ELIGIBILEANDVALIDDECLARATION
from dbo.FINANCIALTRANSACTIONLINEITEM inner join dbo.REVENUESPLIT_EXT on FINANCIALTRANSACTIONLINEITEM.ID = REVENUESPLIT_EXT.ID
inner join dbo.FINANCIALTRANSACTION on FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = FINANCIALTRANSACTION.ID
inner join dbo.INSTALLMENTSPLIT on FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = INSTALLMENTSPLIT.PLEDGEID and REVENUESPLIT_EXT.DESIGNATIONID = INSTALLMENTSPLIT.DESIGNATIONID
inner join dbo.INSTALLMENT on INSTALLMENTSPLIT.INSTALLMENTID = INSTALLMENT.ID
left join dbo.REVENUESPLITGIFTAID on FINANCIALTRANSACTIONLINEITEM.ID = REVENUESPLITGIFTAID.ID
where
FINANCIALTRANSACTIONLINEITEM.ID = @PLEDGESPLITID and
REVENUESPLITGIFTAID.DECLINESGIFTAID = 0 and
FINANCIALTRANSACTION.DELETEDON is null
) as INSTALLMENTS
) as INSTALLMENTSWITHRATE
) as TAXCLAIM
where FINANCIALTRANSACTIONLINEITEM.ID = @PLEDGESPLITID
end
else if @CURRENCYID = (select FINANCIALTRANSACTION.TRANSACTIONCURRENCYID
from dbo.FINANCIALTRANSACTIONLINEITEM inner join FINANCIALTRANSACTION on FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = FINANCIALTRANSACTION.ID
where FINANCIALTRANSACTIONLINEITEM.ID = @PLEDGESPLITID)
begin
select @PLEDGESPLITGROSSAMOUNTBALANCE = FINANCIALTRANSACTIONLINEITEM.TRANSACTIONAMOUNT - coalesce(PAYMENTS.AMOUNT, 0) - coalesce(WRITEOFF.TOTALAMOUNT, 0)
+ coalesce(TAXCLAIM.BASETAXCLAIMAMOUNT + TAXCLAIM.TRANSITIONALTAXCLAIMAMOUNT, 0)
from dbo.FINANCIALTRANSACTIONLINEITEM
left join (
select INSTALLMENTSPLIT.REVENUESPLITID,
SUM(INSTALLMENTSPLITPAYMENT.AMOUNT) AMOUNT
from dbo.INSTALLMENTSPLITPAYMENT
inner join dbo.INSTALLMENTSPLIT on INSTALLMENTSPLITPAYMENT.INSTALLMENTSPLITID = INSTALLMENTSPLIT.ID
group by INSTALLMENTSPLIT.REVENUESPLITID
) as PAYMENTS on PAYMENTS.REVENUESPLITID = FINANCIALTRANSACTIONLINEITEM.ID
left join (
select INSTALLMENTSPLIT.REVENUESPLITID, SUM(INSTALLMENTSPLITWRITEOFF.TRANSACTIONAMOUNT) as TOTALAMOUNT
from dbo.INSTALLMENTSPLITWRITEOFF
inner join dbo.INSTALLMENTSPLIT on INSTALLMENTSPLITWRITEOFF.INSTALLMENTSPLITID = INSTALLMENTSPLIT.ID
group by INSTALLMENTSPLIT.REVENUESPLITID
) as WRITEOFF on FINANCIALTRANSACTIONLINEITEM.ID = WRITEOFF.REVENUESPLITID
cross apply (
select
coalesce(sum(INSTALLMENTSPLITAMOUNT * (BASETAXRATE / (100 - BASETAXRATE))), 0) as BASETAXCLAIMAMOUNT,
coalesce(sum(INSTALLMENTSPLITAMOUNT * ((BASETAXRATE + TRANSITIONALTAXRATE) / (100 - (BASETAXRATE + TRANSITIONALTAXRATE)))), 0) - coalesce(sum(INSTALLMENTSPLITAMOUNT * (BASETAXRATE / (100 - BASETAXRATE))), 0) as TRANSITIONALTAXCLAIMAMOUNT
from
(
select
INSTALLMENTSPLITAMOUNT,
case
when ELIGIBILEANDVALIDDECLARATION = 1 then dbo.UFN_GETGIFTAIDBASETAXRATE(INSTALLMENTS.DATE)
else 0
end BASETAXRATE,
case
when ELIGIBILEANDVALIDDECLARATION = 1 then dbo.UFN_GETGIFTAIDTRANSITIONALTAXRATE(INSTALLMENTS.DATE)
else 0
end TRANSITIONALTAXRATE
from
(
select
INSTALLMENT.DATE,
INSTALLMENTSPLIT.TRANSACTIONAMOUNT
- coalesce((select sum(INSTALLMENTSPLITPAYMENT.AMOUNT)
from dbo.INSTALLMENTSPLITPAYMENT
where INSTALLMENTSPLITPAYMENT.INSTALLMENTSPLITID = INSTALLMENTSPLIT.ID
), 0)
- coalesce((select sum(TRANSACTIONAMOUNT)
from dbo.INSTALLMENTSPLITWRITEOFF
where INSTALLMENTSPLITID = INSTALLMENTSPLIT.ID), 0) as INSTALLMENTSPLITAMOUNT,
case when (REVENUESPLITGIFTAID.RULES_STATUS & REVENUESPLITGIFTAID.ATTRIBUTES_STATUS) = 1 and (dbo.UFN_VALIDDECLARATION(INSTALLMENT.DATE, FINANCIALTRANSACTION.CONSTITUENTID, REVENUESPLIT_EXT.DESIGNATIONID, null, null) = 2 or REVENUESPLITGIFTAID.ISCOVENANT = 1)
then 1
else 0
end ELIGIBILEANDVALIDDECLARATION
from dbo.FINANCIALTRANSACTIONLINEITEM inner join dbo.REVENUESPLIT_EXT on FINANCIALTRANSACTIONLINEITEM.ID = REVENUESPLIT_EXT.ID
inner join dbo.FINANCIALTRANSACTION on FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = FINANCIALTRANSACTION.ID
inner join dbo.INSTALLMENTSPLIT on FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = INSTALLMENTSPLIT.PLEDGEID and REVENUESPLIT_EXT.DESIGNATIONID = INSTALLMENTSPLIT.DESIGNATIONID
inner join dbo.INSTALLMENT on INSTALLMENTSPLIT.INSTALLMENTID = INSTALLMENT.ID
left join dbo.REVENUESPLITGIFTAID on FINANCIALTRANSACTIONLINEITEM.ID = REVENUESPLITGIFTAID.ID
where
FINANCIALTRANSACTIONLINEITEM.ID = @PLEDGESPLITID and
REVENUESPLITGIFTAID.DECLINESGIFTAID = 0 and
FINANCIALTRANSACTION.DELETEDON is null
) as INSTALLMENTS
) as INSTALLMENTSWITHRATE
) as TAXCLAIM
where FINANCIALTRANSACTIONLINEITEM.ID = @PLEDGESPLITID
end
else
begin
select @PLEDGESPLITGROSSAMOUNTBALANCE = FINANCIALTRANSACTIONLINEITEM.ORGAMOUNT - coalesce(PAYMENTS.AMOUNT, 0) - coalesce(WRITEOFF.TOTALAMOUNT, 0)
+ coalesce(TAXCLAIM.BASETAXCLAIMAMOUNT + TAXCLAIM.TRANSITIONALTAXCLAIMAMOUNT, 0)
from dbo.FINANCIALTRANSACTIONLINEITEM
left join (
select INSTALLMENTSPLIT.REVENUESPLITID,
SUM(dbo.UFN_INSTALLMENTSPLITPAYMENT_GETAMOUNTINCURRENCY(INSTALLMENTSPLITPAYMENT.ID, @CURRENCYID)) AMOUNT
from dbo.INSTALLMENTSPLITPAYMENT
inner join dbo.INSTALLMENTSPLIT on INSTALLMENTSPLITPAYMENT.INSTALLMENTSPLITID = INSTALLMENTSPLIT.ID
inner join dbo.FINANCIALTRANSACTIONLINEITEM on INSTALLMENTSPLIT.REVENUESPLITID = FINANCIALTRANSACTIONLINEITEM.ID
inner join dbo.FINANCIALTRANSACTION on FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = FINANCIALTRANSACTION.ID
group by INSTALLMENTSPLIT.REVENUESPLITID
) as PAYMENTS on PAYMENTS.REVENUESPLITID = FINANCIALTRANSACTIONLINEITEM.ID
left join (
select INSTALLMENTSPLIT.REVENUESPLITID, SUM(INSTALLMENTSPLITWRITEOFF.ORGANIZATIONAMOUNT) as TOTALAMOUNT
from dbo.INSTALLMENTSPLITWRITEOFF
inner join dbo.INSTALLMENTSPLIT on INSTALLMENTSPLITWRITEOFF.INSTALLMENTSPLITID = INSTALLMENTSPLIT.ID
group by INSTALLMENTSPLIT.REVENUESPLITID
) as WRITEOFF on FINANCIALTRANSACTIONLINEITEM.ID = WRITEOFF.REVENUESPLITID
cross apply (
select
coalesce(sum(INSTALLMENTSPLITAMOUNT * (BASETAXRATE / (100 - BASETAXRATE))), 0) as BASETAXCLAIMAMOUNT,
coalesce(sum(INSTALLMENTSPLITAMOUNT * ((BASETAXRATE + TRANSITIONALTAXRATE) / (100 - (BASETAXRATE + TRANSITIONALTAXRATE)))), 0) - coalesce(sum(INSTALLMENTSPLITAMOUNT * (BASETAXRATE / (100 - BASETAXRATE))), 0) as TRANSITIONALTAXCLAIMAMOUNT
from
(
select
INSTALLMENTSPLITAMOUNT,
case
when ELIGIBILEANDVALIDDECLARATION = 1 then dbo.UFN_GETGIFTAIDBASETAXRATE(INSTALLMENTS.DATE)
else 0
end BASETAXRATE,
case
when ELIGIBILEANDVALIDDECLARATION = 1 then dbo.UFN_GETGIFTAIDTRANSITIONALTAXRATE(INSTALLMENTS.DATE)
else 0
end TRANSITIONALTAXRATE
from
(
select
INSTALLMENT.DATE,
INSTALLMENTSPLIT.ORGANIZATIONAMOUNT
- coalesce((select sum(dbo.UFN_INSTALLMENTSPLITPAYMENT_GETAMOUNTINCURRENCY(INSTALLMENTSPLITPAYMENT.ID, @CURRENCYID))
from dbo.INSTALLMENTSPLITPAYMENT
where INSTALLMENTSPLITPAYMENT.INSTALLMENTSPLITID = INSTALLMENTSPLIT.ID
), 0)
- coalesce((select sum(ORGANIZATIONAMOUNT)
from dbo.INSTALLMENTSPLITWRITEOFF
where INSTALLMENTSPLITID = INSTALLMENTSPLIT.ID), 0) as INSTALLMENTSPLITAMOUNT,
case when (REVENUESPLITGIFTAID.RULES_STATUS & REVENUESPLITGIFTAID.ATTRIBUTES_STATUS) = 1 and (dbo.UFN_VALIDDECLARATION(INSTALLMENT.DATE, FINANCIALTRANSACTION.CONSTITUENTID, REVENUESPLIT_EXT.DESIGNATIONID, null, null) = 2 or REVENUESPLITGIFTAID.ISCOVENANT = 1)
then 1
else 0
end ELIGIBILEANDVALIDDECLARATION
from dbo.FINANCIALTRANSACTIONLINEITEM inner join dbo.REVENUESPLIT_EXT on FINANCIALTRANSACTIONLINEITEM.ID = REVENUESPLIT_EXT.ID
inner join dbo.FINANCIALTRANSACTION on FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = FINANCIALTRANSACTION.ID
inner join dbo.INSTALLMENTSPLIT on FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = INSTALLMENTSPLIT.PLEDGEID and REVENUESPLIT_EXT.DESIGNATIONID = INSTALLMENTSPLIT.DESIGNATIONID
inner join dbo.INSTALLMENT on INSTALLMENTSPLIT.INSTALLMENTID = INSTALLMENT.ID
left join dbo.REVENUESPLITGIFTAID on FINANCIALTRANSACTIONLINEITEM.ID = REVENUESPLITGIFTAID.ID
where
FINANCIALTRANSACTIONLINEITEM.ID = @PLEDGESPLITID and
REVENUESPLITGIFTAID.DECLINESGIFTAID = 0 and
FINANCIALTRANSACTION.DELETEDON is null
) as INSTALLMENTS
) as INSTALLMENTSWITHRATE
) as TAXCLAIM
where FINANCIALTRANSACTIONLINEITEM.ID = @PLEDGESPLITID;
declare @RECORDDATE date = (select FINANCIALTRANSACTION.DATE from dbo.FINANCIALTRANSACTIONLINEITEM
inner join dbo.FINANCIALTRANSACTION on FINANCIALTRANSACTION.ID = FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID
where FINANCIALTRANSACTIONLINEITEM.ID = @PLEDGESPLITID);
declare @CURRENCYEXCHANGERATEID uniqueidentifier;
set @CURRENCYEXCHANGERATEID = dbo.UFN_CURRENCYEXCHANGERATE_GETLATESTINCLUDEEXPIRED(dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY(), @CURRENCYID, @RECORDDATE, 1, null);
if (@CURRENCYEXCHANGERATEID is not null)
begin
set @PLEDGESPLITGROSSAMOUNTBALANCE = dbo.UFN_CURRENCY_CONVERT(@PLEDGESPLITGROSSAMOUNTBALANCE, @CURRENCYEXCHANGERATEID)
end
else
begin
set @CURRENCYEXCHANGERATEID = dbo.UFN_CURRENCYEXCHANGERATE_GETLATESTINCLUDEEXPIRED(@CURRENCYID, dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY(), @RECORDDATE, 1, null);
set @PLEDGESPLITGROSSAMOUNTBALANCE = dbo.UFN_CURRENCY_CONVERTINVERSE(@PLEDGESPLITGROSSAMOUNTBALANCE, @CURRENCYEXCHANGERATEID)
end
end
return @PLEDGESPLITGROSSAMOUNTBALANCE
end