USP_DATAFORMTEMPLATE_EDITLOAD_BANKACCOUNTADJUSTMENT
The load procedure used by the edit dataform template "Bank Account Adjustment Edit Data 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. |
@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. |
@BANKACCOUNTID | uniqueidentifier | INOUT | |
@BANKACCOUNTADJUSTMENTCATEGORYID | uniqueidentifier | INOUT | Category |
@ADJUSTMENTDATE | datetime | INOUT | Adjustment date |
@AMOUNT | decimal(19, 4) | INOUT | Amount |
@ADJUSTMENTTYPECODE | tinyint | INOUT | Type of adjustment |
@REFERENCE | nvarchar(100) | INOUT | Reference |
@POSTSTATUSCODE | tinyint | INOUT | Post status |
@POSTDATE | datetime | INOUT | Post date |
@TRANSFERBANKACCOUNTID | uniqueidentifier | INOUT | Transfer account |
@ISORIGINALADJUSTMENT | bit | INOUT | |
@PDACCOUNTSYSTEMID | uniqueidentifier | INOUT | Account System |
@TRANSACTIONCURRENCYID | uniqueidentifier | INOUT | Transaction currency |
@BASECURRENCYID | uniqueidentifier | INOUT | Base currency |
@BANKACCOUNTNAME | nvarchar(100) | INOUT | Bank account name |
@HADBANKACCOUNTTRANSFERSPOTRATE | bit | INOUT | Had bank account transfer spot rate |
@HADORIGINALTOBASESPOTRATE | bit | INOUT | Had original to base spot rate |
@HADCOPYTOBASESPOTRATE | bit | INOUT | Had copy to base spot rate |
@BASEEXCHANGERATEID | uniqueidentifier | INOUT | Exchange rate |
@EXCHANGERATE | decimal(20, 8) | INOUT | Exchange rate |
@TRANSFERBASEEXCHANGERATEID | uniqueidentifier | INOUT | Exchange rate |
@TRANSFEREXCHANGERATE | decimal(20, 8) | INOUT | Exchange rate |
@TRANSFERBANKACCOUNTBASEEXCHANGERATEID | uniqueidentifier | INOUT | Exchange rate |
@TRANSFERBANKACCOUNTEXCHANGERATE | decimal(20, 8) | INOUT | Exchange rate |
@TRANSFERCURRENCYID | uniqueidentifier | INOUT | Currency |
@TRANSFERADJUSTMENTID | uniqueidentifier | INOUT | Transfer adjustment ID |
@ALLOWGLDISTRIBUTIONS | bit | INOUT | Allow GL distributions |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_BANKACCOUNTADJUSTMENT
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@TSLONG bigint = 0 output,
@BANKACCOUNTID uniqueidentifier = null output,
@BANKACCOUNTADJUSTMENTCATEGORYID uniqueidentifier = null output,
@ADJUSTMENTDATE datetime = null output,
@AMOUNT decimal(19,4) = null output,
@ADJUSTMENTTYPECODE tinyint = null output,
@REFERENCE nvarchar(100) = null output,
@POSTSTATUSCODE tinyint = null output,
@POSTDATE datetime = null output,
@TRANSFERBANKACCOUNTID uniqueidentifier = null output,
@ISORIGINALADJUSTMENT bit = null output,
@PDACCOUNTSYSTEMID uniqueidentifier = null output,
@TRANSACTIONCURRENCYID uniqueidentifier = null output,
@BASECURRENCYID uniqueidentifier = null output,
@BANKACCOUNTNAME nvarchar(100) = null output,
@HADBANKACCOUNTTRANSFERSPOTRATE bit = null output,
@HADORIGINALTOBASESPOTRATE bit = null output,
@HADCOPYTOBASESPOTRATE bit = null output,
@BASEEXCHANGERATEID uniqueidentifier = null output,
@EXCHANGERATE decimal(20,8) = null output,
@TRANSFERBASEEXCHANGERATEID uniqueidentifier = null output,
@TRANSFEREXCHANGERATE decimal(20,8) = null output,
@TRANSFERBANKACCOUNTBASEEXCHANGERATEID uniqueidentifier = null output,
@TRANSFERBANKACCOUNTEXCHANGERATE decimal(20,8) = null output,
@TRANSFERCURRENCYID uniqueidentifier = null output,
@TRANSFERADJUSTMENTID uniqueidentifier = null output,
@ALLOWGLDISTRIBUTIONS bit = null output
) as
set nocount on;
-- be sure to set these, in case the select returns no rows
set @DATALOADED = 0
set @TSLONG = 0
-- populate the output parameters, which correspond to fields on the form. Note that
-- we set @DATALOADED = 1 to indicate that the load was successful. Otherwise, the system
-- will display a "no data loaded" message. Also note that we fetch the TSLONG so that concurrency
-- can be considered.
select
@DATALOADED = 1,
@TSLONG = BAT.TSLONG,
@BANKACCOUNTID = BAT.BANKACCOUNTID,
@BANKACCOUNTADJUSTMENTCATEGORYID = BAA.BANKACCOUNTADJUSTMENTCATEGORYID,
@ADJUSTMENTDATE = BAT.TRANSACTIONDATE,
@AMOUNT = BAT.TRANSACTIONAMOUNT,
@ADJUSTMENTTYPECODE = BAT.TRANSACTIONTYPECODE,
@REFERENCE = BAT.REFERENCE,
@POSTSTATUSCODE = BAT.POSTSTATUSCODE,
@POSTDATE = BAT.POSTDATE,
@TRANSFERBANKACCOUNTID = BAT.TRANSFERBANKACCOUNTID,
@ISORIGINALADJUSTMENT = BAA.ISORIGINALADJUSTMENT,
@PDACCOUNTSYSTEMID = BA.PDACCOUNTSYSTEMID,
@TRANSACTIONCURRENCYID = BA.TRANSACTIONCURRENCYID,
@BASECURRENCYID = BAT.BASECURRENCYID,
@BANKACCOUNTNAME = BA.ACCOUNTNAME,
@HADBANKACCOUNTTRANSFERSPOTRATE = case when BANKACCOUNTTRANSFER.TYPECODE = 2 then 1 else 0 end,
@HADORIGINALTOBASESPOTRATE = case when ORIGINALTOBASE.TYPECODE = 2 then 1 else 0 end,
@HADCOPYTOBASESPOTRATE = case when COPYTOBASE.TYPECODE = 2 then 1 else 0 end,
@BASEEXCHANGERATEID = ORIGINALTOBASE.ID,
@EXCHANGERATE = ORIGINALTOBASE.RATE,
@TRANSFERBASEEXCHANGERATEID = COPYTOBASE.ID,
@TRANSFEREXCHANGERATE = COPYTOBASE.RATE,
@TRANSFERBANKACCOUNTBASEEXCHANGERATEID = BANKACCOUNTTRANSFER.ID,
@TRANSFERBANKACCOUNTEXCHANGERATE = BANKACCOUNTTRANSFER.RATE,
@TRANSFERCURRENCYID = BA_COPY.TRANSACTIONCURRENCYID,
@ALLOWGLDISTRIBUTIONS = dbo.UFN_PDACCOUNTSYSTEM_ALLOWGLDISTRIBUTIONS(@PDACCOUNTSYSTEMID)
from dbo.BANKACCOUNTTRANSACTION as BAT
inner join dbo.BANKACCOUNTADJUSTMENT as BAA on BAT.ID = BAA.ID
inner join dbo.BANKACCOUNT as BA on BAT.BANKACCOUNTID = BA.ID
left outer join dbo.CURRENCYEXCHANGERATE as BANKACCOUNTTRANSFER on BANKACCOUNTTRANSFER.ID = BAA.EXCHANGERATEID
left outer join dbo.CURRENCYEXCHANGERATE as ORIGINALTOBASE on ORIGINALTOBASE.ID = BAT.BASEEXCHANGERATEID
left outer join dbo.BANKACCOUNTTRANSACTION as BAT_COPY on BAT_COPY.ID = BAA.TRANSFERADJUSTMENTID
left outer join dbo.BANKACCOUNT as BA_COPY on BA_COPY.ID = BAT_COPY.BANKACCOUNTID
left outer join dbo.CURRENCYEXCHANGERATE as COPYTOBASE on COPYTOBASE.ID = BAT_COPY.BASEEXCHANGERATEID
where BAT.ID = @ID
return 0;