UFN_WRITEOFF_GETLOGICALSPLITSINCURRENCY_BULK
Returns the logical splits for all write-offs in the system based on the pledges they are writing off.
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@REVENUESPLITID | uniqueidentifier | IN | |
@CURRENCYID | uniqueidentifier | IN | |
@ORGANIZATIONCURRENCYID | uniqueidentifier | IN | |
@DECIMALDIGITS | tinyint | IN | |
@ROUNDINGTYPECODE | tinyint | IN | |
@ORIGINCODE | tinyint | IN |
Definition
Copy
create function dbo.UFN_WRITEOFF_GETLOGICALSPLITSINCURRENCY_BULK
(
@REVENUESPLITID uniqueidentifier = null,
@CURRENCYID uniqueidentifier = null,
@ORGANIZATIONCURRENCYID uniqueidentifier,
@DECIMALDIGITS tinyint,
@ROUNDINGTYPECODE tinyint,
@ORIGINCODE tinyint
)
returns table
as return
select distinct
[SPLITS].ID,
WRITEOFF.ID as [WRITEOFFID],
WRITEOFF.REVENUEID,
case when REVENUE.AMOUNTINCURRENCY > 0 then cast(sum(INSTALLMENTSPLITWRITEOFF.AMOUNTINCURRENCY) * (cast([SPLITS].AMOUNTINCURRENCY as decimal(30, 4))/ cast(REVENUE.AMOUNTINCURRENCY as decimal(30, 4))) as money) else null end AS [AMOUNT],
[SPLITS].DESIGNATIONID
from dbo.WRITEOFF
left join dbo.UFN_INSTALLMENTSPLITWRITEOFF_GETAMOUNTSINCURRENCY_BULK(@CURRENCYID, @ORGANIZATIONCURRENCYID, @DECIMALDIGITS, @ROUNDINGTYPECODE, @ORIGINCODE, 3) INSTALLMENTSPLITWRITEOFF on INSTALLMENTSPLITWRITEOFF.WRITEOFFID = WRITEOFF.ID
left join dbo.UFN_REVENUE_GETAMOUNTSINCURRENCY_BULK(@CURRENCYID, @ORGANIZATIONCURRENCYID, @DECIMALDIGITS, @ROUNDINGTYPECODE) REVENUE on REVENUE.ID = WRITEOFF.REVENUEID
left join dbo.UFN_REVENUESPLIT_GETAMOUNTINCURRENCY_BULK(@CURRENCYID, @ORGANIZATIONCURRENCYID, @DECIMALDIGITS, @ROUNDINGTYPECODE) as [SPLITS] on [SPLITS].REVENUEID = REVENUE.ID
where (@REVENUESPLITID is null or [SPLITS].ID = @REVENUESPLITID)
group by [SPLITS].ID, WRITEOFF.ID, WRITEOFF.REVENUEID, [SPLITS].DESIGNATIONID, REVENUE.ID, REVENUE.AMOUNTINCURRENCY, [SPLITS].AMOUNTINCURRENCY