UFN_REVENUE_GETPRORATEDSPLITS_2
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SOURCEREVENUEID | uniqueidentifier | IN | |
@AMOUNT | money | IN | |
@CURRENCYID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_REVENUE_GETPRORATEDSPLITS_2
(
@SOURCEREVENUEID uniqueidentifier,
@AMOUNT money,
@CURRENCYID uniqueidentifier
)
returns @SPLITS table
(
SOURCEREVENUESPLITID uniqueidentifier,
DESIGNATIONID uniqueidentifier,
AMOUNT money,
TYPECODE tinyint
)
as
begin
declare @SOURCEAMOUNT money;
declare @DECIMALDIGITS tinyint;
select @SOURCEAMOUNT = REVENUE.TRANSACTIONAMOUNT
from dbo.REVENUE
where REVENUE.ID = @SOURCEREVENUEID;
select @DECIMALDIGITS = CURRENCY.DECIMALDIGITS
from dbo.CURRENCY where CURRENCY.ID = @CURRENCYID;
declare @SOURCESPLITS xml
set @SOURCESPLITS =
(
select
ID, TRANSACTIONAMOUNT as AMOUNT
from dbo.REVENUESPLIT
where REVENUEID = @SOURCEREVENUEID
order by ID
for xml raw('ITEM'),type,elements,root('AMOUNTSTOPRORATE'),binary base64
)
insert into @SPLITS
(
SOURCEREVENUESPLITID,
DESIGNATIONID,
AMOUNT,
TYPECODE
)
select
REVENUESPLIT.ID,
REVENUESPLIT.DESIGNATIONID,
PRORATEDSPLIT.AMOUNT,
REVENUESPLIT.TYPECODE
from dbo.UFN_SPLITS_PRORATEAMOUNTS(@SOURCEAMOUNT, @AMOUNT, @DECIMALDIGITS, @SOURCESPLITS) PRORATEDSPLIT
inner join dbo.REVENUESPLIT on REVENUESPLIT.ID = PRORATEDSPLIT.ID
return
end