USP_DATALIST_EVENTPROFILEREPORT_EXPENSE

Returns expense information for an event.

Parameters

Parameter Parameter Type Mode Description
@EVENTID uniqueidentifier IN Event ID
@CURRENCYCODE tinyint IN Currency Code
@ISVISIBLE bit IN Visible
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.

Definition

Copy


                CREATE procedure dbo.USP_DATALIST_EVENTPROFILEREPORT_EXPENSE
                (
                    @EVENTID uniqueidentifier,
          @CURRENCYCODE tinyint = null,
                    @ISVISIBLE bit = 1,
                    @CURRENTAPPUSERID uniqueidentifier
                )
                as
                    set nocount on;

                    if @ISVISIBLE = 1
                    begin

                        declare @ISADMIN bit;
                        declare @APPUSER_IN_NONRACROLE bit;
                        declare @APPUSER_IN_NOSECGROUPROLE bit;
                declare @SELECTEDCURRENCYID uniqueidentifier;
            declare @DECIMALDIGITS tinyint;
            declare @ROUNDINGTYPECODE tinyint

                        set @ISADMIN = dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID);
                        set @APPUSER_IN_NONRACROLE = dbo.UFN_SECURITY_APPUSER_IN_NONRACROLE(@CURRENTAPPUSERID);
                        set @APPUSER_IN_NOSECGROUPROLE = dbo.UFN_SECURITY_APPUSER_IN_NO_SECURITY_GROUP_ROLE(@CURRENTAPPUSERID);

            if @CURRENCYCODE = 0
              select @SELECTEDCURRENCYID = EVENT.BASECURRENCYID
              from dbo.EVENT
              where EVENT.ID = @EVENTID
                  else
                      set @SELECTEDCURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();

            select
                @DECIMALDIGITS = CURRENCY.DECIMALDIGITS,
                @ROUNDINGTYPECODE = CURRENCY.ROUNDINGTYPECODE
            from
                dbo.CURRENCY
            where
                CURRENCY.ID = @SELECTEDCURRENCYID

                        select
                            EXPENSETYPE.DESCRIPTION as TYPE,
                            EE.BUDGETEDAMOUNTINCURRENCY,
                            EE.ACTUALAMOUNTINCURRENCY,
                            EE.AMOUNTPAIDINCURRENCY,
                            EXPENSE.DATEDUE,
                            NF.NAME as VENDOR,
                            EXPENSE.COMMENT,
                            CURRENCYPROPERTIES.ISO4217 [ISOCURRENCYCODE],
                            CURRENCYPROPERTIES.CURRENCYSYMBOL,
                            CURRENCYPROPERTIES.SYMBOLDISPLAYSETTINGCODE [CURRENCYSYMBOLDISPLAYSETTINGCODE],
                            CURRENCYPROPERTIES.DECIMALDIGITS
                        from
                            dbo.EVENTEXPENSE EXPENSE
                        inner join
                            dbo.EVENTEXPENSETYPECODE EXPENSETYPE on EXPENSE.EVENTEXPENSETYPECODEID = EXPENSETYPE.ID
                        left join
                            dbo.CONSTITUENT on (EXPENSE.VENDORID = CONSTITUENT.ID)
                                                and (@ISADMIN = 1 or 
                                                    @APPUSER_IN_NONRACROLE = 1 or
                                                    dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITID_FORREPORT(@CURRENTAPPUSERID, CONSTITUENT.ID, @APPUSER_IN_NOSECGROUPROLE) = 1)
                        left join dbo.UFN_EVENTEXPENSE_GETINCURRENCY_BULK(@SELECTEDCURRENCYID,dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY(),@DECIMALDIGITS,@ROUNDINGTYPECODE) as EE on EE.ID = EXPENSE.ID
                        outer apply dbo.UFN_CURRENCY_GETPROPERTIES(@SELECTEDCURRENCYID) CURRENCYPROPERTIES
                        outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(CONSTITUENT.ID) NF    
                        where
                            EXPENSE.EVENTID = @EVENTID
                        order by
                            EXPENSETYPE.DESCRIPTION;
                    end