UFN_CONSTITUENTRECOGNITIONBENEFITS_CONVERTAMOUNTSINXML
Fills in multicurrency fields in the given constituent recognition benefits XML.
Return
Return Type |
---|
xml |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@BENEFITS | xml | IN | |
@BASECURRENCYID | uniqueidentifier | IN | |
@ORGANIZATIONEXCHANGERATEID | uniqueidentifier | IN | |
@DATEADDED | datetime | IN |
Definition
Copy
create function dbo.UFN_CONSTITUENTRECOGNITIONBENEFITS_CONVERTAMOUNTSINXML(
@BENEFITS xml,
@BASECURRENCYID uniqueidentifier,
@ORGANIZATIONEXCHANGERATEID uniqueidentifier,
@DATEADDED datetime
) returns xml
as begin
declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
return (
select
B.ID,
B.BENEFITID,
B.QUANTITY,
B.UNITVALUE,
B.DETAILS,
B.SEQUENCE,
coalesce(B.BASECURRENCYID, @BASECURRENCYID) BASECURRENCYID,
case
when coalesce(CRB.BASECURRENCYID, B.BASECURRENCYID, @BASECURRENCYID) <> @ORGANIZATIONCURRENCYID
then dbo.UFN_CURRENCY_CONVERT(B.UNITVALUE,
case
when CRB.ORGANIZATIONEXCHANGERATEID is not null
then CRB.ORGANIZATIONEXCHANGERATEID
when coalesce(CRB.BASECURRENCYID, B.BASECURRENCYID, @BASECURRENCYID) = @BASECURRENCYID and @ORGANIZATIONEXCHANGERATEID is not null
then @ORGANIZATIONEXCHANGERATEID
else dbo.UFN_CURRENCYEXCHANGERATE_GETLATEST(coalesce(CRB.BASECURRENCYID, B.BASECURRENCYID, @BASECURRENCYID), @ORGANIZATIONCURRENCYID, @DATEADDED, 0, null)
end
)
else B.UNITVALUE
end ORGANIZATIONUNITVALUE,
case
when coalesce(CRB.BASECURRENCYID, B.BASECURRENCYID, @BASECURRENCYID) = @ORGANIZATIONCURRENCYID
then null
when CRB.ORGANIZATIONEXCHANGERATEID is not null
then CRB.ORGANIZATIONEXCHANGERATEID
when coalesce(CRB.BASECURRENCYID, B.BASECURRENCYID, @BASECURRENCYID) = @BASECURRENCYID and @ORGANIZATIONEXCHANGERATEID is not null
then @ORGANIZATIONEXCHANGERATEID
else dbo.UFN_CURRENCYEXCHANGERATE_GETLATEST(coalesce(CRB.BASECURRENCYID, B.BASECURRENCYID, @BASECURRENCYID), @ORGANIZATIONCURRENCYID, @DATEADDED, 0, null)
end ORGANIZATIONEXCHANGERATEID
from dbo.UFN_CONSTITUENTRECOGNITION_GETBENEFITS_2_FROMITEMLISTXML(@BENEFITS) B
left join dbo.CONSTITUENTRECOGNITIONBENEFIT CRB on CRB.ID = B.ID
for xml raw('ITEM'),type,elements,root('BENEFITS'),BINARY BASE64
)
end