USP_SEARCHLIST_BANKACCOUNTDEPOSIT_BY_ACCOUNTSYSTEM
This searches for a deposit by account system.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@DEPOSITNUMBER | nvarchar(30) | IN | Deposit number |
@DEPOSITDATE | datetime | IN | Deposit date |
@DEPOSITAMOUNT | decimal(20, 4) | IN | Deposit amount |
@STATUSCODE | tinyint | IN | Status |
@REFERENCE | nvarchar(60) | IN | Reference |
@BANKNAME | nvarchar(100) | IN | Bank |
@ACCOUNTNAME | nvarchar(100) | IN | Account name |
@MAXROWS | smallint | IN | Input parameter indicating the maximum number of rows to return. |
@NUMBERACCOUNT | nvarchar(113) | IN | Deposit description |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@PDACCOUNTSYSTEMID | uniqueidentifier | IN | Account system |
@TRANSACTIONCURRENCYID | uniqueidentifier | IN | Payment currency |
Definition
Copy
CREATE procedure dbo.USP_SEARCHLIST_BANKACCOUNTDEPOSIT_BY_ACCOUNTSYSTEM
(
@DEPOSITNUMBER nvarchar(30) = null,
@DEPOSITDATE datetime = null,
@DEPOSITAMOUNT decimal(20,4) = null,
@STATUSCODE tinyint = 1,
@REFERENCE nvarchar(60) = null,
@BANKNAME nvarchar(100) = null,
@ACCOUNTNAME nvarchar(100) = null,
@MAXROWS smallint = 500,
@NUMBERACCOUNT nvarchar(113) = null,
@CURRENTAPPUSERID uniqueidentifier,
@PDACCOUNTSYSTEMID uniqueidentifier,
@TRANSACTIONCURRENCYID uniqueidentifier = null
)
as
set @ACCOUNTNAME = REPLACE(REPLACE(COALESCE(@ACCOUNTNAME,''), '*', '%'), '?', '_') + '%'
set @REFERENCE = REPLACE(REPLACE(COALESCE(@REFERENCE,''), '*', '%'), '?', '_') + '%'
set @BANKNAME = REPLACE(REPLACE(COALESCE(@BANKNAME,''), '*', '%'), '?', '_') + '%'
select top(@MAXROWS)
BANKACCOUNTTRANSACTION.ID [ID],
BANKACCOUNTTRANSACTION.TRANSACTIONDATE,
CONSTITUENT.NAME,
BANKACCOUNT.ACCOUNTNAME,
'AMOUNT' = case when BANKACCOUNTTRANSACTION.AMOUNT >0 then BANKACCOUNTTRANSACTION.AMOUNT else '$0.00' end ,
BANKACCOUNTTRANSACTION.TRANSACTIONNUMBER,
BANKACCOUNTTRANSACTION.REFERENCE,
BANKACCOUNTDEPOSIT.STATUS,
PDACCOUNTSYSTEM.NAME SYSTEMNAME,
BANKACCOUNTDEPOSIT.TRANSACTIONCURRENCYID
from
dbo.BANKACCOUNTDEPOSIT
inner join BANKACCOUNTTRANSACTION on BANKACCOUNTTRANSACTION.ID = BANKACCOUNTDEPOSIT.ID
inner join BANKACCOUNT on BANKACCOUNT.ID = BANKACCOUNTTRANSACTION.BANKACCOUNTID
inner join CONSTITUENT on CONSTITUENT.ID = BANKACCOUNT.BANKID
inner join dbo.PDACCOUNTSYSTEM on PDACCOUNTSYSTEM.ID = BANKACCOUNT.PDACCOUNTSYSTEMID
where
(
(@DEPOSITNUMBER is null or (BANKACCOUNTTRANSACTION.TRANSACTIONNUMBER = @DEPOSITNUMBER)) and
(@DEPOSITDATE is null or (convert(nvarchar,BANKACCOUNTTRANSACTION.TRANSACTIONDATE,101) = convert(nvarchar,@DEPOSITDATE,101))) and
(@DEPOSITAMOUNT is null or (BANKACCOUNTTRANSACTION.AMOUNT = @DEPOSITAMOUNT)) and
(@STATUSCODE is null or (BANKACCOUNTDEPOSIT.STATUSCODE = @STATUSCODE)) and
(@REFERENCE is null or (BANKACCOUNTTRANSACTION.REFERENCE like @REFERENCE + '%')) and
(@BANKNAME is null or (CONSTITUENT.KEYNAME like @BANKNAME + '%')) and
(@ACCOUNTNAME is null or (BANKACCOUNT.ACCOUNTNAME like @ACCOUNTNAME + '%')) and
(@PDACCOUNTSYSTEMID is null or (PDACCOUNTSYSTEM.ID = @PDACCOUNTSYSTEMID))and
(@TRANSACTIONCURRENCYID is null or (BANKACCOUNTDEPOSIT.TRANSACTIONCURRENCYID like @TRANSACTIONCURRENCYID))
) and
PDACCOUNTSYSTEM.ID in (select T1.ID from dbo.UFN_PDACCOUNTSYSTEM_GETSYSTEMIDSFORUSER(@CURRENTAPPUSERID) T1)
order by
BANKACCOUNTTRANSACTION.TRANSACTIONDATE asc, CONSTITUENT.NAME asc