USP_REPORT_DEPOSITREPORT_DEPOSIT
This returns data for the Deposit report deposit header section.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@DATETOUSE | int | IN | |
@STARTDATE | datetime | IN | |
@ENDDATE | datetime | IN | |
@BANKACCOUNTDEPOSITQUERY | uniqueidentifier | IN | |
@DEPOSITID | uniqueidentifier | IN | |
@REPORTUSERID | nvarchar(128) | IN | |
@DEPOSITCOLLECTION | xml | IN | |
@DEPOSITLIST | nvarchar(max) | IN | |
@ALTREPORTUSERID | nvarchar(128) | IN |
Definition
Copy
CREATE procedure dbo.USP_REPORT_DEPOSITREPORT_DEPOSIT
(
@DATETOUSE int = null,
@STARTDATE datetime = null,
@ENDDATE datetime = null,
@BANKACCOUNTDEPOSITQUERY uniqueidentifier = null,
@DEPOSITID uniqueidentifier = null,
@REPORTUSERID nvarchar(128) = null,
@DEPOSITCOLLECTION xml = null,
@DEPOSITLIST nvarchar(max) = null,
@ALTREPORTUSERID nvarchar(128) = null
)
with execute as owner
as
set nocount on;
declare @CURRENTAPPUSERID uniqueidentifier;
declare @ISADMIN bit;
declare @APPUSER_IN_NONRACROLE bit;
declare @APPUSER_IN_NOSECGROUPROLE bit;
set @CURRENTAPPUSERID = dbo.UFN_APPUSER_GETREPORTAPPUSERID(@ALTREPORTUSERID, @REPORTUSERID);
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);
declare @SQLTOEXEC nvarchar(max);
declare @DBOBJECTNAME nvarchar(128);
declare @DBOBJECTTYPE smallint;
if @BANKACCOUNTDEPOSITQUERY is not null begin
if not exists(select ID from dbo.IDSETREGISTER where ID = @BANKACCOUNTDEPOSITQUERY) raiserror('ID set does not exist in the database.', 15, 1);
select @DBOBJECTNAME = DBOBJECTNAME, @DBOBJECTTYPE = OBJECTTYPE from dbo.IDSETREGISTER where ID = @BANKACCOUNTDEPOSITQUERY;
if @DBOBJECTTYPE = 1 set @DBOBJECTNAME = @DBOBJECTNAME + '()';
else if @DBOBJECTTYPE = 2 set @DBOBJECTNAME = @DBOBJECTNAME + '(''' + convert(nvarchar(36), @BANKACCOUNTDEPOSITQUERY) + ''')';
end
--if @DEPOSITCOLLECTION is not null
--begin
-- declare @WTF nvarchar(max) = convert(nvarchar(max),@DEPOSITCOLLECTION);
-- raiserror(@WTF,13,1);
-- return 1;
--end
exec USP_GET_KEY_ACCESS;
set @SQLTOEXEC =
'select
dbo.UFN_CONSTITUENT_BUILDNAME(BANKACCOUNT.BANKID) as [BANKNAME],
ISNULL((select
dbo.UFN_BUILDFULLADDRESS(a.ID, a.ADDRESSBLOCK, a.CITY, a.STATEID, a.POSTCODE, a.COUNTRYID)+'' '' ADDRESS
from dbo.BANK c
inner join dbo.ADDRESS a on c.ID = a.CONSTITUENTID
and a.ISPRIMARY = 1 and c.ID = BANKACCOUNT.BANKID),'' '') as [BANKADDRESS],
BANKACCOUNTTRANSACTION.TRANSACTIONNUMBER,
BANKACCOUNT.ACCOUNTNAME,
convert(nvarchar(50), DecryptByKey(BANKACCOUNT.ACCOUNTNUMBER)) [ACCOUNTNUMBER],
BANKACCOUNT.ROUTINGNUMBER,
cast(FT.[DATE] as datetime) as TRANSACTIONDATE,
BANKACCOUNTDEPOSIT.NUMBEROFPAYMENTS,
FT.TRANSACTIONAMOUNT as AMOUNT,
BANKACCOUNTDEPOSIT.ID as [DEPOSITID],
BANKACCOUNT.SORTCODE,
dbo.UFN_INSTALLEDPRODUCTS_PRODUCTIS (''9568A6C2-F7AA-45fd-8F54-21FE9654EE2D'') as [ISUK],
CURRENCYPROPERTIES.ID as CURRENCYID,
CURRENCYPROPERTIES.ISO4217 as CURRENCYISO,
CURRENCYPROPERTIES.DECIMALDIGITS as CURRENCYDECIMALDIGITS,
CURRENCYPROPERTIES.CURRENCYSYMBOL as CURRENCYSYMBOL,
CURRENCYPROPERTIES.SYMBOLDISPLAYSETTINGCODE as CURRENCYSYMBOLDISPLAYSETTINGCODE,
BANKACCOUNTDEPOSIT.TOTALPAYMENTAMOUNT as TOTALPAYMENTAMOUNT,
TRANCURRENCYPROPERTIES.ID as TOTALCURRENCYID,
TRANCURRENCYPROPERTIES.ISO4217 as TOTALCURRENCYISO,
TRANCURRENCYPROPERTIES.DECIMALDIGITS as TOTALCURRENCYDECIMALDIGITS,
TRANCURRENCYPROPERTIES.CURRENCYSYMBOL as TOTALCURRENCYSYMBOL,
TRANCURRENCYPROPERTIES.SYMBOLDISPLAYSETTINGCODE as TOTALCURRENCYSYMBOLDISPLAYSETTINGCODE,
FT.POSTDATE,
''http://www.blackbaud.com/LINKDEPOSITID?LINKDEPOSITID='' + convert(nvarchar(36), BANKACCOUNTDEPOSIT.ID) as [LINKDEPOSITID],
(select count(1) from dbo.FINANCIALTRANSACTION FT where FT.PARENTID = BANKACCOUNTDEPOSIT.ID and FT.TYPECODE in (24,25)) + (select count(1) from dbo.BANKACCOUNTDEPOSITCREDITPAYMENT where DEPOSITID = BANKACCOUNTDEPOSIT.ID) as [CORRECTIONCOUNT],
BANKINGSYSTEM.CONDITIONSETTINGNAME as BANKINGSYSTEMCODITIONSETTINGNAME,
BANKACCOUNT.BIC,
BANKACCOUNT.BANKCODE
from dbo.BANKACCOUNTDEPOSIT with (nolock)
inner join dbo.BANKACCOUNTTRANSACTION_EXT BANKACCOUNTTRANSACTION on BANKACCOUNTTRANSACTION.ID=BANKACCOUNTDEPOSIT.ID
inner join dbo.FINANCIALTRANSACTION FT on FT.ID = BANKACCOUNTTRANSACTION.ID
inner join dbo.BANKACCOUNT on BANKACCOUNT.ID = BANKACCOUNTTRANSACTION.BANKACCOUNTID
inner join dbo.BANKINGSYSTEM on BANKINGSYSTEM.ID = BANKACCOUNT.BANKINGSYSTEMID
outer apply dbo.UFN_CURRENCY_GETPROPERTIES(BANKACCOUNT.TRANSACTIONCURRENCYID) CURRENCYPROPERTIES
outer apply dbo.UFN_CURRENCY_GETPROPERTIES(BANKACCOUNTDEPOSIT.TRANSACTIONCURRENCYID) TRANCURRENCYPROPERTIES ' + nchar(13);
if @BANKACCOUNTDEPOSITQUERY is not null
set @SQLTOEXEC = @SQLTOEXEC + 'inner join dbo.' + @DBOBJECTNAME + ' as SELECTION on BANKACCOUNTDEPOSIT.[ID] = SELECTION.[ID]' + nchar(13);
if @DEPOSITLIST is not null and @DEPOSITLIST <> ''
begin
set @SQLTOEXEC = @SQLTOEXEC + 'inner join dbo.UFN_DEPOSITREPORT_PARSEDEPOSITLIST(@DEPOSITLIST) as DLIST on BANKACCOUNTDEPOSIT.[ID] = DLIST.[DEPOSITID]' + nchar(13)
set @DEPOSITID = null;
end
set @SQLTOEXEC = @SQLTOEXEC + '
where FT.TYPECODE = 10 and ((@ISADMIN = 1 or
@APPUSER_IN_NONRACROLE = 1) or
dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITID_FORREPORT(@CURRENTAPPUSERID, BANKACCOUNT.BANKID, @APPUSER_IN_NOSECGROUPROLE) = 1) ';
if (@DATETOUSE = 0 or @DATETOUSE is null)
begin
if not @STARTDATE is null
set @SQLTOEXEC = @SQLTOEXEC + '
and cast(FT.DATE as datetime) >= @STARTDATE ';
if not @ENDDATE is null
set @SQLTOEXEC = @SQLTOEXEC + '
and cast(FT.DATE as datetime) <= @ENDDATE ';
end
else
begin
if not @STARTDATE is null
set @SQLTOEXEC = @SQLTOEXEC + '
and cast(FT.POSTDATE as datetime) >= @STARTDATE ';
if not @ENDDATE is null
set @SQLTOEXEC = @SQLTOEXEC + '
and cast(FT.POSTDATE as datetime) <= @ENDDATE ';
end
if not @DEPOSITID is null
set @SQLTOEXEC = @SQLTOEXEC + '
and BANKACCOUNTDEPOSIT.ID = @DEPOSITID ';
-- PBS Filter deposits based on Accout system security.
if dbo.UFN_VALID_BASICGL_INSTALLED() = 1 and @ISADMIN = 0
set @SQLTOEXEC = @SQLTOEXEC + ' and (FT.PDACCOUNTSYSTEMID in (select ID from dbo.UFN_PDACCOUNTSYSTEM_GETSYSTEMIDSFORUSER(@CURRENTAPPUSERID)))'
exec sp_executesql @SQLTOEXEC,
N'@DATETOUSE int, @STARTDATE datetime, @ENDDATE datetime, @DEPOSITID uniqueidentifier, @ISADMIN bit, @APPUSER_IN_NONRACROLE bit, @APPUSER_IN_NOSECGROUPROLE bit, @CURRENTAPPUSERID uniqueidentifier, @DEPOSITLIST nvarchar(max)',
@DATETOUSE=@DATETOUSE, @STARTDATE=@STARTDATE, @ENDDATE=@ENDDATE, @DEPOSITID=@DEPOSITID, @ISADMIN=@ISADMIN, @APPUSER_IN_NONRACROLE=@APPUSER_IN_NONRACROLE, @APPUSER_IN_NOSECGROUPROLE=@APPUSER_IN_NOSECGROUPROLE, @CURRENTAPPUSERID=@CURRENTAPPUSERID, @DEPOSITLIST=@DEPOSITLIST;
exec USP_CLOSE_KEY_ACCESS;