USP_REPORT_LOCKBOXRECONCILIATION
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@STARTDATE | datetime | IN | |
@ENDDATE | datetime | IN | |
@CURRENCYCODE | tinyint | IN | |
@REPORTUSERID | nvarchar(128) | IN | |
@ALTREPORTUSERID | nvarchar(128) | IN |
Definition
Copy
create procedure dbo.USP_REPORT_LOCKBOXRECONCILIATION
(
@STARTDATE datetime = null,
@ENDDATE datetime = null,
@CURRENCYCODE tinyint = null, --3 = My base, (null, 1) = Organization
@REPORTUSERID nvarchar(128) = null,
@ALTREPORTUSERID nvarchar(128) = null
)
with execute as owner
as
set nocount on;
declare @CURRENTAPPUSERID uniqueidentifier = dbo.UFN_APPUSER_GETREPORTAPPUSERID(@REPORTUSERID, @ALTREPORTUSERID);
declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
declare @SELECTEDCURRENCYID uniqueidentifier;
if @CURRENCYCODE = 3
begin
if dbo.UFN_CURRENCYSET_GETAPPUSERCURRENCYSET(@CURRENTAPPUSERID) is not null
begin
select @SELECTEDCURRENCYID = CURRENCYSET.BASECURRENCYID
from dbo.CURRENCYSET
where
CURRENCYSET.ID = dbo.UFN_CURRENCYSET_GETAPPUSERCURRENCYSET(@CURRENTAPPUSERID);
end
else
begin
select @SELECTEDCURRENCYID = CURRENCYSET.BASECURRENCYID
from dbo.CURRENCYSET
where
CURRENCYSET.ID = dbo.UFN_CURRENCYSET_GETAPPUSERDEFAULTCURRENCYSET();
end
end
else
set @SELECTEDCURRENCYID = @ORGANIZATIONCURRENCYID;
declare @ISOCURRENCYCODE nvarchar(3);
declare @CURRENCYSYMBOL nvarchar(5);
declare @CURRENCYSYMBOLDISPLAYSETTINGCODE tinyint;
declare @DECIMALDIGITS tinyint;
declare @ROUNDINGTYPECODE tinyint;
select
@ISOCURRENCYCODE = CURRENCYPROPERTIES.ISO4217,
@CURRENCYSYMBOL = CURRENCYPROPERTIES.CURRENCYSYMBOL,
@CURRENCYSYMBOLDISPLAYSETTINGCODE = CURRENCYPROPERTIES.SYMBOLDISPLAYSETTINGCODE,
@DECIMALDIGITS = CURRENCYPROPERTIES.DECIMALDIGITS,
@ROUNDINGTYPECODE = CURRENCYPROPERTIES.ROUNDINGTYPECODE
from
dbo.UFN_CURRENCY_GETPROPERTIES(@SELECTEDCURRENCYID) CURRENCYPROPERTIES
select
LOCKBOX.ID,
LOCKBOX.NAME,
REVENUE.DATE,
REVENUELOCKBOX.BATCHNUMBER,
isnull(sum(REVENUE.AMOUNTINCURRENCY), 0) TOTALAMOUNT,
count(REVENUE.ID) TOTALCOUNT,
@SELECTEDCURRENCYID SELECTEDCURRENCYID,
@ISOCURRENCYCODE ISOCURRENCYCODE,
@CURRENCYSYMBOL CURRENCYSYMBOL,
@CURRENCYSYMBOLDISPLAYSETTINGCODE CURRENCYSYMBOLDISPLAYSETTINGCODE,
@DECIMALDIGITS DECIMALDIGITS
from
dbo.UFN_REVENUE_GETAMOUNTSINCURRENCY_BULK(@SELECTEDCURRENCYID, @ORGANIZATIONCURRENCYID, @DECIMALDIGITS, @ROUNDINGTYPECODE) REVENUE
inner join
dbo.REVENUELOCKBOX on REVENUELOCKBOX.ID = REVENUE.ID
inner join
dbo.LOCKBOX on LOCKBOX.ID = REVENUELOCKBOX.LOCKBOXID
outer apply
dbo.UFN_CURRENCY_GETPROPERTIES(@SELECTEDCURRENCYID) CURRENCYPROPERTIES
where
(@STARTDATE is null or REVENUE.DATE >= dbo.UFN_DATE_GETEARLIESTTIME(@STARTDATE))
and (@ENDDATE is null or REVENUE.DATE <= dbo.UFN_DATE_GETLATESTTIME(@ENDDATE))
group by
REVENUE.DATE, LOCKBOX.ID, LOCKBOX.NAME, REVENUELOCKBOX.BATCHNUMBER, CURRENCYPROPERTIES.ISO4217,
CURRENCYPROPERTIES.CURRENCYSYMBOL,CURRENCYPROPERTIES.SYMBOLDISPLAYSETTINGCODE, CURRENCYPROPERTIES.DECIMALDIGITS