USP_DATAFORMTEMPLATE_EDITLOAD_BANKACCOUNTCORRECTION
The load procedure used by the edit dataform template "Bank Account Deposit Correction Edit Form"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter used to load the fields defined on the form. |
@DATALOADED | bit | INOUT | Output parameter indicating whether or not data was actually loaded. |
@DATE | datetime | INOUT | Date |
@REFERENCE | nvarchar(100) | INOUT | Reference |
@PAYMENTMETHODCODE | tinyint | INOUT | Method |
@AMOUNT | money | INOUT | Amount |
@TSLONG | bigint | INOUT | Output parameter indicating the TSLONG value of the record being edited. This is used to manage multi-user concurrency issues when multiple users access the same record. |
@CORRECTIONTYPECODE | tinyint | INOUT | Correction type |
@PDACCOUNTSYSTEMID | uniqueidentifier | INOUT | Account System |
@TRANSACTIONCURRENCYID | uniqueidentifier | INOUT | Currency |
@BASECURRENCYID | uniqueidentifier | INOUT | Base currency |
@BASEEXCHANGERATEID | uniqueidentifier | INOUT | Exchange rate ID |
@BASEEXCHANGERATE | decimal(20, 8) | INOUT | Exchange rate |
@HADBASESPOTRATE | bit | INOUT | Had base spot rate |
@DEPOSITDATE | datetime | INOUT | Deposit date |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_BANKACCOUNTCORRECTION
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@DATE datetime = null output,
@REFERENCE nvarchar(100) = null output,
@PAYMENTMETHODCODE tinyint = null output,
@AMOUNT money = null output,
@TSLONG bigint = 0 output,
@CORRECTIONTYPECODE tinyint = null output
,@PDACCOUNTSYSTEMID uniqueidentifier = null output
,@TRANSACTIONCURRENCYID uniqueidentifier = null output
,@BASECURRENCYID uniqueidentifier = null output
,@BASEEXCHANGERATEID uniqueidentifier = null output
,@BASEEXCHANGERATE decimal(20,8) = null output
,@HADBASESPOTRATE bit = null output
,@DEPOSITDATE datetime = null output
)
as
set nocount on;
set @DATALOADED = 0;
set @TSLONG = 0;
select
@DATALOADED = 1
,@DATE=DATE
,@REFERENCE=BADC.REFERENCE
,@PAYMENTMETHODCODE=PAYMENTMETHODCODE
,@AMOUNT=BADC.TRANSACTIONAMOUNT
,@TSLONG=BADC.TSLONG
,@CORRECTIONTYPECODE=CORRECTIONTYPECODE
,@TRANSACTIONCURRENCYID = BAD.TRANSACTIONCURRENCYID
,@BASECURRENCYID = BADC.BASECURRENCYID
,@BASEEXCHANGERATEID = BADC.BASEEXCHANGERATEID
,@BASEEXCHANGERATE =
case
when BADC.BASEEXCHANGERATEID is not null
then CER.RATE
when BAD.TRANSACTIONCURRENCYID = BADC.BASECURRENCYID
then 1
else 0
end
,@HADBASESPOTRATE =
case
when CER.TYPECODE = 2
then 1
else 0
end
,@DEPOSITDATE = BAT.TRANSACTIONDATE
,@PDACCOUNTSYSTEMID = BA.PDACCOUNTSYSTEMID
from dbo.BANKACCOUNTDEPOSITCORRECTION as BADC
inner join dbo.BANKACCOUNTDEPOSIT as BAD on BADC.DEPOSITID = BAD.ID
inner join dbo.BANKACCOUNTTRANSACTION as BAT on BAD.ID = BAT.ID
inner join dbo.BANKACCOUNT as BA on BA.ID = BAT.BANKACCOUNTID
left outer join dbo.CURRENCYEXCHANGERATE as CER on CER.ID = BADC.BASEEXCHANGERATEID
where BADC.ID = @ID
return 0;