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