UFN_REVENUEBATCH_GETAUTOMGSPLITS
Adds splits to a matching gift created from revenue batch.
Return
Return Type |
---|
xml |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@AMOUNT | money | IN | |
@MATCHINGGIFTAMOUNT | money | IN | |
@SPLITS | xml | IN | |
@TYPECODE | tinyint | IN | |
@APPLICATIONCODE | tinyint | IN |
Definition
Copy
CREATE function dbo.UFN_REVENUEBATCH_GETAUTOMGSPLITS
(
@AMOUNT money,
@MATCHINGGIFTAMOUNT money,
@SPLITS xml,
@TYPECODE tinyint,
@APPLICATIONCODE tinyint
)
returns xml
as
begin
declare @DECIMALDIGITS tinyint = 2;
select
@DECIMALDIGITS = DECIMALDIGITS
from dbo.CURRENCY
where CURRENCY.ID = @SPLITS.value('(/SPLITS/ITEM/TRANSACTIONCURRENCYID)[1]', 'uniqueidentifier');
-- Update the xml so that it has the proper root element
declare @NEWSPLITS xml;
set @NEWSPLITS =
(
select
AMOUNT,
DESIGNATIONID as ID
from dbo.UFN_REVENUE_GETSPLITS_2_FROMITEMLISTXML(@SPLITS)
where TYPECODE = @TYPECODE
for xml raw('ITEM'),type,elements,root('AMOUNTSTOPRORATE'),binary base64
)
return
(
select
AMOUNT,
ID as DESIGNATIONID,
T.c.value('(DESIGNATIONTRANSLATION)[1]', 'nvarchar(200)') as [DESIGNATIONTRANSLATION],
@TYPECODE as TYPECODE,
@APPLICATIONCODE as APPLICATIONCODE,
coalesce(T.c.value('(SEQUENCE)[1]', 'int'), 0) as SEQUENCE
from dbo.UFN_SPLITS_PRORATEAMOUNTS(@AMOUNT, @MATCHINGGIFTAMOUNT, @DECIMALDIGITS, @NEWSPLITS) as [NEWSPLITS]
inner join @SPLITS.nodes('/SPLITS/ITEM') T(c) on T.c.value('(DESIGNATIONID)[1]', 'uniqueidentifier') = [NEWSPLITS].ID
for xml raw('ITEM'),type,elements,root('SPLITS'),binary base64
)
end