USP_SEARCHLIST_BANKACCOUNT
This search list searches for a bank account.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ACCOUNTNAME | nvarchar(100) | IN | Account name |
@BANKID | uniqueidentifier | IN | |
@NAME | nvarchar(100) | IN | Bank |
@ACCOUNTNUMBER | nvarchar(50) | IN | Account number |
@STATUSCODE | tinyint | IN | Status |
@ACCOUNTTYPECODE | tinyint | IN | Account type |
@MAXROWS | smallint | IN | Input parameter indicating the maximum number of rows to return. |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@PDACCOUNTSYSTEMID | uniqueidentifier | IN | Account system |
@BANKINGSYSTEMID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_SEARCHLIST_BANKACCOUNT
(
@ACCOUNTNAME nvarchar(100) = null,
@BANKID uniqueidentifier = null,
@NAME nvarchar(100) = null,
@ACCOUNTNUMBER nvarchar(50) = null,
@STATUSCODE tinyint = null,
@ACCOUNTTYPECODE tinyint = null,
@MAXROWS smallint = 500,
@CURRENTAPPUSERID uniqueidentifier = null,
@PDACCOUNTSYSTEMID uniqueidentifier = null,
@BANKINGSYSTEMID uniqueidentifier = null
)
as
set nocount on;
if @ACCOUNTNAME is not null
set @ACCOUNTNAME = REPLACE(REPLACE(COALESCE(@ACCOUNTNAME,''), '*', '%'), '?', '_') + '%' ;
if @ACCOUNTNUMBER is not null
set @ACCOUNTNUMBER = REPLACE(REPLACE(COALESCE(@ACCOUNTNUMBER,''), '*', '%'), '?', '_') + '%' ;
--set @PDACCOUNTSYSTEMID = (select PDACCOUNTSYSTEMID from dbo.BANKACCOUNT where ID = @ID);
exec USP_GET_KEY_ACCESS;
select top(@MAXROWS)
BANKACCOUNT.ID [ID],
CONSTITUENT.NAME,
BANKACCOUNT.ACCOUNTNAME,
convert(nvarchar(50), DecryptByKey(BANKACCOUNT.ACCOUNTNUMBER)),
BANKACCOUNT.ACCOUNTTYPE,
BANKACCOUNT.STATUS,
PDACCOUNTSYSTEM.NAME SYSTEMNAME,
BANKINGSYSTEM.NAME BANKINGSYSTEM
from
dbo.BANKACCOUNT
inner join dbo.CONSTITUENT on CONSTITUENT.ID = BANKACCOUNT.BANKID
inner join dbo.PDACCOUNTSYSTEM on PDACCOUNTSYSTEM.ID = BANKACCOUNT.PDACCOUNTSYSTEMID
inner join dbo.UFN_PDACCOUNTSYSTEM_GETSYSTEMIDSFORUSER(@CURRENTAPPUSERID) ts on PDACCOUNTSYSTEM.ID = ts.ID
inner join dbo.BANKINGSYSTEM on BANKINGSYSTEM.ID = BANKACCOUNT.BANKINGSYSTEMID
where
(
(@BANKID is null or (BANKACCOUNT.BANKID = @BANKID)) and
(@ACCOUNTNAME is null or (BANKACCOUNT.ACCOUNTNAME like @ACCOUNTNAME + '%')) and
(@ACCOUNTNUMBER is null or (convert(nvarchar(50), DecryptByKey(BANKACCOUNT.ACCOUNTNUMBER)) like @ACCOUNTNUMBER + '%')) and
(@STATUSCODE is null or (BANKACCOUNT.STATUSCODE = @STATUSCODE)) and
(@ACCOUNTTYPECODE is null or (BANKACCOUNT.ACCOUNTTYPECODE = @ACCOUNTTYPECODE)) and
(@NAME is null or (CONSTITUENT.KEYNAME like @NAME + '%')) and
(@PDACCOUNTSYSTEMID is null or PDACCOUNTSYSTEM.ID = @PDACCOUNTSYSTEMID)) and
(@BANKINGSYSTEMID is null or BANKINGSYSTEM.ID = @BANKINGSYSTEMID)
order by
NAME, BANKACCOUNT.ACCOUNTNAME asc
exec USP_CLOSE_KEY_ACCESS;