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;