USP_BANKACCOUNT_COMMONDATALIST
This function returns common data for bank account datalists.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@BANKID | uniqueidentifier | IN | |
@EXCLUDECLOSEDITEMS | smallint | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_BANKACCOUNT_COMMONDATALIST
(
@BANKID uniqueidentifier = null,
@EXCLUDECLOSEDITEMS smallint = 0,
@CURRENTAPPUSERID uniqueidentifier = null
)
as
set nocount on;
exec dbo.USP_GET_KEY_ACCESS;
declare @ACCOUNTID uniqueidentifier, @BANKNAME nvarchar(128), @ACCOUNTNAME nvarchar(100), @ACCOUNTTYPE nvarchar(20), @STATUSCODE smallint, @ROUTINGNUMBER nvarchar(9), @ACCOUNTNUMBER nvarchar(19), @CURRENCY nvarchar(110), @CURRENTBALANCE money, @ENDINGBALANCE money, @NAME nvarchar(50), @TRANSACTIONCURRENCYID uniqueidentifier
declare @ResultSet TABLE(ACCOUNTID uniqueidentifier, BANKNAME nvarchar(128), ACCOUNTNAME nvarchar(100), ACCOUNTTYPE nvarchar(20), STATUSCODE smallint, ROUTINGNUMBER nvarchar(9), ACCOUNTNUMBER nvarchar(19), CURRENCY nvarchar(110), CURRENTBALANCE money, ENDINGBALANCE money, NAME nvarchar(50), TRANSACTIONCURRENCYID uniqueidentifier)
declare OrderedTrans cursor LOCAL FAST_FORWARD FOR
select
BANKACCOUNT.ID,
(SELECT NAME FROM DBO.CONSTITUENT WHERE ID = BANKACCOUNT.BANKID) BANKNAME,
BANKACCOUNT.ACCOUNTNAME,
BANKACCOUNT.ACCOUNTTYPE,
BANKACCOUNT.STATUSCODE,
--BANKACCOUNT.ROUTINGNUMBER,
case
when dbo.UFN_INSTALLEDPRODUCTS_PRODUCTIS('9568A6C2-F7AA-45fd-8F54-21FE9654EE2D') = 0 then BANKACCOUNT.ROUTINGNUMBER
else SORTCODE
end as ROUTINGNUMBER,
convert(nvarchar(19), DecryptByKey(BANKACCOUNT.ACCOUNTNUMBER)),
dbo.UFN_CURRENCY_GETDESCRIPTION(BANKACCOUNT.TRANSACTIONCURRENCYID),
PDACCOUNTSYSTEM.NAME,
BANKACCOUNT.TRANSACTIONCURRENCYID
from
dbo.BANKACCOUNT
inner join dbo.PDACCOUNTSYSTEM on PDACCOUNTSYSTEM.ID = BANKACCOUNT.PDACCOUNTSYSTEMID
where
(@BANKID is null or BANKACCOUNT.BANKID = @BANKID) and
BANKACCOUNT.STATUSCODE in (1, @EXCLUDECLOSEDITEMS) and
PDACCOUNTSYSTEM.ID in (select T1.ID from dbo.UFN_PDACCOUNTSYSTEM_GETSYSTEMIDSFORUSER(@CURRENTAPPUSERID) T1)
order by
BANKNAME, BANKACCOUNT.ACCOUNTNAME
OPEN OrderedTrans
FETCH NEXT FROM OrderedTrans INTO @ACCOUNTID, @BANKNAME, @ACCOUNTNAME, @ACCOUNTTYPE, @STATUSCODE, @ROUTINGNUMBER, @ACCOUNTNUMBER, @CURRENCY, @NAME, @TRANSACTIONCURRENCYID
WHILE @@FETCH_STATUS = 0
BEGIN
begin try
set @CURRENTBALANCE = dbo.UFN_BANKACCOUNT_GETCURRENTBALANCE(@ACCOUNTID)
end try
begin catch
set @CURRENTBALANCE = null
end catch
begin try
set @ENDINGBALANCE = dbo.UFN_BANKACCOUNT_GETENDINGBALANCE(@ACCOUNTID)
end try
begin catch
set @ENDINGBALANCE = null
end catch
INSERT INTO @ResultSet VALUES(@ACCOUNTID, @BANKNAME, @ACCOUNTNAME, @ACCOUNTTYPE, @STATUSCODE, @ROUTINGNUMBER, @ACCOUNTNUMBER, @CURRENCY, @CURRENTBALANCE, @ENDINGBALANCE, @NAME, @TRANSACTIONCURRENCYID );
FETCH NEXT FROM OrderedTrans INTO @ACCOUNTID, @BANKNAME, @ACCOUNTNAME, @ACCOUNTTYPE, @STATUSCODE, @ROUTINGNUMBER, @ACCOUNTNUMBER, @CURRENCY, @NAME, @TRANSACTIONCURRENCYID
END
exec USP_CLOSE_KEY_ACCESS;
CLOSE OrderedTrans
DEALLOCATE OrderedTrans
SELECT * FROM @ResultSet order by BANKNAME, ACCOUNTNAME