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