UFN_EVENTPRICEBENEFIT_CONVERTAMOUNTSINXML
Fills in multicurrency fields in the given benefits XML.
Return
Return Type |
---|
xml |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@BENEFITS | xml | IN | |
@EVENTBASECURRENCYID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_EVENTPRICEBENEFIT_CONVERTAMOUNTSINXML(
@BENEFITS xml,
@EVENTBASECURRENCYID uniqueidentifier
)
returns xml
as
begin
declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
declare @CURRENTDATE datetime = getdate();
return (
select
ID,
BENEFITID,
UNITVALUE,
QUANTITY,
TOTALVALUE,
DETAILS,
@EVENTBASECURRENCYID EVENTBASECURRENCYID,
BASECURRENCYID,
BASEEXCHANGERATEID,
ORGANIZATIONEXCHANGERATEID,
case
when BASECURRENCYID <> @EVENTBASECURRENCYID
then dbo.UFN_CURRENCY_CONVERT(TOTALVALUE, BASEEXCHANGERATEID)
else TOTALVALUE
end EVENTBASECURRENCYTOTALVALUE,
case
when BASECURRENCYID <> @ORGANIZATIONCURRENCYID
then dbo.UFN_CURRENCY_CONVERT(TOTALVALUE, ORGANIZATIONEXCHANGERATEID)
else TOTALVALUE
end ORGANIZATIONTOTALVALUE
from(
select
EPBENEFIT.ID,
EPBENEFIT.BENEFITID,
EPBENEFIT.QUANTITY,
EPBENEFIT.UNITVALUE,
EPBENEFIT.TOTALVALUE,
EPBENEFIT.DETAILS,
EPBENEFIT.BASECURRENCYID,
case
when EPBENEFIT.BASECURRENCYID <> @EVENTBASECURRENCYID
then dbo.UFN_CURRENCYEXCHANGERATE_GETLATEST(EPBENEFIT.BASECURRENCYID, @EVENTBASECURRENCYID, @CURRENTDATE, 1, null)
else null
end BASEEXCHANGERATEID,
case
when EPBENEFIT.BASECURRENCYID <> @ORGANIZATIONCURRENCYID
then dbo.UFN_CURRENCYEXCHANGERATE_GETLATEST(EPBENEFIT.BASECURRENCYID, @ORGANIZATIONCURRENCYID, @CURRENTDATE, 0, null)
else null
end ORGANIZATIONEXCHANGERATEID
from
dbo.UFN_EVENTPRICE_GETBENEFITS_2_FROMITEMLISTXML(@BENEFITS) EPBENEFIT
) BENEFITS
for xml raw('ITEM'),type,elements,root('BENEFIT'),BINARY BASE64
)
end