UFN_MEMBERSHIPLEVELBENEFIT_CONVERTAMOUNTSINXML
Fills in multicurrency fields in the given membership level benefits XML.
Return
Return Type |
---|
xml |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@BENEFITS | xml | IN | |
@BASECURRENCYID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_MEMBERSHIPLEVELBENEFIT_CONVERTAMOUNTSINXML(
@BENEFITS xml,
@BASECURRENCYID uniqueidentifier
)
returns xml
as
begin
declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
declare @CURRENTDATE datetime = getdate();
return (
select
[ID],
[BENEFITID],
[QUANTITY],
[UNITVALUE],
[TOTALVALUE],
[DETAILS],
[VALUEPERCENT],
[SEQUENCE],
[USEPERCENT],
case
when [BASECURRENCYID] <> @ORGANIZATIONCURRENCYID
then dbo.UFN_CURRENCY_CONVERT(UNITVALUE, dbo.UFN_CURRENCYEXCHANGERATE_GETLATEST([BASECURRENCYID], @ORGANIZATIONCURRENCYID, @CURRENTDATE, 1, null))
else UNITVALUE
end ORGANIZATIONUNITVALUE,
dbo.UFN_CURRENCYEXCHANGERATE_GETLATEST([BASECURRENCYID], @ORGANIZATIONCURRENCYID, @CURRENTDATE, 1, null) ORGANIZATIONEXCHANGERATEID,
BASECURRENCYID
from
(
select
[ID],
[BENEFITID],
[QUANTITY],
[UNITVALUE],
[QUANTITY] * [UNITVALUE] as [TOTALVALUE],
[DETAILS],
[VALUEPERCENT],
[SEQUENCE],
[USEPERCENT],
coalesce(nullif([BASECURRENCYID], '00000000-0000-0000-0000-000000000000'), @BASECURRENCYID) as BASECURRENCYID
from dbo.UFN_MEMBERSHIPLEVEL_GETBENEFITS3_FROMITEMLISTXML(@BENEFITS)
) as BENEFITS
for xml raw('ITEM'),type,elements,root('BENEFITS'),BINARY BASE64
)
end