USP_REPORT_APPEALPROFILE_REVENUEPARAMETERS

Parameters

Parameter Parameter Type Mode Description
@APPEALID uniqueidentifier IN
@REPORTUSERID nvarchar(128) IN
@ALTREPORTUSERID nvarchar(128) IN
@CURRENCYCODE tinyint IN
@CURRENTAPPUSERID uniqueidentifier INOUT
@CURRENCYID uniqueidentifier INOUT
@ORGANIZATIONCURRENCYID uniqueidentifier INOUT
@CURRENCYISO nvarchar(3) INOUT
@CURRENCYDECIMALDIGITS tinyint INOUT
@CURRENCYSYMBOL nvarchar(5) INOUT
@CURRENCYSYMBOLDISPLAYSETTINGCODE tinyint INOUT
@CURRENCYROUNDINGTYPECODE tinyint INOUT
@ORGANIZATIONAMOUNTORIGINCODE tinyint INOUT

Definition

Copy


create procedure dbo.[USP_REPORT_APPEALPROFILE_REVENUEPARAMETERS]
(
  @APPEALID uniqueidentifier = null,
  @REPORTUSERID nvarchar(128) = null,
  @ALTREPORTUSERID nvarchar(128) = null,
  @CURRENCYCODE tinyint = null,
  @CURRENTAPPUSERID uniqueidentifier = null output,
  @CURRENCYID uniqueidentifier = null output,
  @ORGANIZATIONCURRENCYID uniqueidentifier = null output,
  @CURRENCYISO nvarchar(3) = null output,
  @CURRENCYDECIMALDIGITS tinyint = null output,
  @CURRENCYSYMBOL nvarchar(5) = null output,
  @CURRENCYSYMBOLDISPLAYSETTINGCODE tinyint = null output,
  @CURRENCYROUNDINGTYPECODE tinyint = null output,
  @ORGANIZATIONAMOUNTORIGINCODE tinyint = null output
)
as
  begin
    set nocount on;

    begin try
      if @CURRENTAPPUSERID is null
        set @CURRENTAPPUSERID = dbo.[UFN_APPUSER_GETREPORTAPPUSERID](@REPORTUSERID, @ALTREPORTUSERID);

      set @CURRENCYCODE = isnull(@CURRENCYCODE, 1);
      set @ORGANIZATIONCURRENCYID = dbo.[UFN_CURRENCY_GETORGANIZATIONCURRENCY]();
      select top 1 @ORGANIZATIONAMOUNTORIGINCODE = [ORGANIZATIONAMOUNTORIGINCODE] from dbo.[MULTICURRENCYCONFIGURATION];

      if @CURRENCYCODE = 1
        -- report is in organization currency

        select
          @CURRENCYID = [CURRENCY].[ID],
          @CURRENCYISO = [CURRENCY].[ISO4217],
          @CURRENCYDECIMALDIGITS = [CURRENCY].[DECIMALDIGITS],
          @CURRENCYSYMBOL = [CURRENCY].[CURRENCYSYMBOL],
          @CURRENCYSYMBOLDISPLAYSETTINGCODE = [CURRENCY].[SYMBOLDISPLAYSETTINGCODE],
          @CURRENCYROUNDINGTYPECODE = [CURRENCY].[ROUNDINGTYPECODE]
        from dbo.[CURRENCY]
        where [CURRENCY].[ID] = @ORGANIZATIONCURRENCYID;
      else if @CURRENCYCODE = 2
        -- report is in user's base currency

        select
          @CURRENCYID = [CURRENCY].[ID],
          @CURRENCYISO = [CURRENCY].[ISO4217],
          @CURRENCYDECIMALDIGITS = [CURRENCY].[DECIMALDIGITS],
          @CURRENCYSYMBOL = [CURRENCY].[CURRENCYSYMBOL],
          @CURRENCYSYMBOLDISPLAYSETTINGCODE = [CURRENCY].[SYMBOLDISPLAYSETTINGCODE],
          @CURRENCYROUNDINGTYPECODE = [CURRENCY].[ROUNDINGTYPECODE]
        from dbo.[CURRENCY]
        where [CURRENCY].[ID] = dbo.[UFN_APPUSER_GETBASECURRENCY](@CURRENTAPPUSERID);
      else
        -- report is in appeal's base currency

        select
          @CURRENCYID = [CURRENCY].[ID],
          @CURRENCYISO = [CURRENCY].[ISO4217],
          @CURRENCYDECIMALDIGITS = [CURRENCY].[DECIMALDIGITS],
          @CURRENCYSYMBOL = [CURRENCY].[CURRENCYSYMBOL],
          @CURRENCYSYMBOLDISPLAYSETTINGCODE = [CURRENCY].[SYMBOLDISPLAYSETTINGCODE],
          @CURRENCYROUNDINGTYPECODE = [CURRENCY].[ROUNDINGTYPECODE]
        from dbo.[APPEAL]
        inner join dbo.[CURRENCY] on [CURRENCY].[ID] = [APPEAL].[BASECURRENCYID]
        where [APPEAL].[ID] = @APPEALID;
    end try

    begin catch
      exec dbo.[USP_RAISE_ERROR];
      return 1;
    end catch

    return 0;
  end