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;