UFN_CORPORATION_GETCONSTITUENTGIFTSINCURRENCY_NOSITE
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CURRENTAPPUSERID | uniqueidentifier | IN | |
@ROOTID | uniqueidentifier | IN | |
@CURRENCYID | uniqueidentifier | IN | |
@ORGANIZATIONCURRENCYID | uniqueidentifier | IN | |
@DECIMALDIGITS | tinyint | IN | |
@ROUNDINGTYPECODE | tinyint | IN | |
@SECURITYFEATUREID | uniqueidentifier | IN | |
@SECURITYFEATURETYPE | tinyint | IN |
Definition
Copy
create function [dbo].[UFN_CORPORATION_GETCONSTITUENTGIFTSINCURRENCY_NOSITE]
(
@CURRENTAPPUSERID uniqueidentifier,
@ROOTID uniqueidentifier,
@CURRENCYID uniqueidentifier,
@ORGANIZATIONCURRENCYID uniqueidentifier,
@DECIMALDIGITS tinyint,
@ROUNDINGTYPECODE tinyint,
@SECURITYFEATUREID uniqueidentifier,
@SECURITYFEATURETYPE tinyint
)
returns table
as return
select
CSS.SELECTEDID as CONSTITUENTID,
RS.REVENUEID as REVENUEID,
RS.ID as REVENUESPLITID,
cast(sum(cast(RS.AMOUNTINCURRENCY as decimal(20,5)) - cast(coalesce(WO.AMOUNT, 0) as decimal(20,5))) as money) as AMOUNT,
RS.TRANSACTIONTYPECODE as TRANSACTIONTYPECODE,
RS.APPLICATIONCODE as APPLICATIONCODE,
RS.TYPECODE as TYPECODE,
RS.DESIGNATIONID as DESIGNATIONID
from
dbo.CORPORATESTRUCTURESELECTION CSS
inner join dbo.UFN_REVENUESPLIT_GETAMOUNTINCURRENCY_BULK(@CURRENCYID, @ORGANIZATIONCURRENCYID, @DECIMALDIGITS, @ROUNDINGTYPECODE) RS on RS.CONSTITUENTID = CSS.SELECTEDID
left join
(select
INSTALLMENTSPLIT.PLEDGEID,
INSTALLMENTSPLIT.DESIGNATIONID,
case when @CURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY() then
sum(isnull(INSTALLMENTSPLITWRITEOFF.ORGANIZATIONAMOUNT,0))
else sum(coalesce(dbo.UFN_INSTALLMENTSPLITWRITEOFF_GETAMOUNTINCURRENCY(INSTALLMENTSPLITWRITEOFF.ID,@CURRENCYID),0)) end AMOUNT
from
dbo.INSTALLMENTSPLITWRITEOFF
inner join
dbo.INSTALLMENTSPLIT
on
INSTALLMENTSPLIT.ID = INSTALLMENTSPLITWRITEOFF.INSTALLMENTSPLITID
group by
INSTALLMENTSPLIT.PLEDGEID, INSTALLMENTSPLIT.DESIGNATIONID) WO
on
WO.PLEDGEID = RS.REVENUEID and WO.DESIGNATIONID = RS.DESIGNATIONID
cross apply dbo.UFN_CORPORATION_GETFILTERDATES(@CURRENTAPPUSERID) DF
where
((DF.STARTDATE is null or DF.STARTDATE <= RS.DATE)
and
(DF.ENDDATE is null or DF.ENDDATE >= RS.DATE)) and
CSS.APPUSERID = @CURRENTAPPUSERID and
CSS.ROOTID = @ROOTID
group by CSS.SELECTEDID, RS.REVENUEID, RS.ID, RS.TRANSACTIONTYPECODE, RS.APPLICATIONCODE, RS.TYPECODE, RS.DESIGNATIONID;