USP_DATAFORMTEMPLATE_VIEW_BANKACCOUNTADJUSTMENT
The load procedure used by the view dataform template "Bank Account Adjustment Page Expression View 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. |
@BANKACCOUNTID | uniqueidentifier | INOUT | BANKACCOUNTID |
@BANKACCOUNTNAME | nvarchar(100) | INOUT | BANKACCOUNTNAME |
@AMOUNT | numeric(19, 4) | INOUT | Amount |
@TRANSACTIONTYPECODE | tinyint | INOUT | Type |
@TRANSACTIONTYPE | nvarchar(100) | INOUT | TRANSACTIONTYPE |
@TRANSFERBANKACCOUNTID | uniqueidentifier | INOUT | Transfer account |
@TRANSFERBANKACCOUNTNAME | nvarchar(100) | INOUT | Transfer account |
@REFERENCE | nvarchar(100) | INOUT | Reference |
@ADJUSTMENTDATE | datetime | INOUT | Adjustment date |
@POSTSTATUSCODE | tinyint | INOUT | Post status |
@POSTDATE | datetime | INOUT | Post date |
@STATUSCODE | tinyint | INOUT | Status code |
@ORIGINALADJUSTMENTPOSTED | bit | INOUT | Original adjustment posted |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@SHOWGLINFO | tinyint | INOUT | Show GL Information |
@BASECURRENCYID | uniqueidentifier | INOUT | Base currency ID |
@TRANSACTIONCURRENCYID | uniqueidentifier | INOUT | Transaction currency ID |
@BASEAMOUNT | money | INOUT | Base amount |
@EDITACTIONENABLED | bit | INOUT | EDITACTIONENABLED |
@HASSYSTEMDISTRIBUTIONS | bit | INOUT | HASSYSTEMDISTRIBUTIONS |
@ISORIGINALADJUSTMENT | bit | INOUT | ISORIGINALADJUSTMENT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_BANKACCOUNTADJUSTMENT
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@BANKACCOUNTID uniqueidentifier = null output,
@BANKACCOUNTNAME nvarchar(100) = null output,
@AMOUNT numeric(19,4) = null output,
@TRANSACTIONTYPECODE tinyint = null output,
@TRANSACTIONTYPE nvarchar(100) = null output,
@TRANSFERBANKACCOUNTID uniqueidentifier = null output,
@TRANSFERBANKACCOUNTNAME nvarchar(100) = null output,
@REFERENCE nvarchar(100) = null output,
@ADJUSTMENTDATE datetime = null output,
@POSTSTATUSCODE tinyint = null output,
@POSTDATE datetime = null output,
@STATUSCODE tinyint = null output,
@ORIGINALADJUSTMENTPOSTED bit = null output,
@CURRENTAPPUSERID uniqueidentifier = null,
@SHOWGLINFO tinyint = null output,
@BASECURRENCYID uniqueidentifier = null output,
@TRANSACTIONCURRENCYID uniqueidentifier = null output,
@BASEAMOUNT money = null output ,
@EDITACTIONENABLED bit = null output
,@HASSYSTEMDISTRIBUTIONS bit = null output
,@ISORIGINALADJUSTMENT bit = null output
)
as
set nocount on;
-- be sure to set this, in case the select returns no rows
set @DATALOADED = 0;
declare @MULTICURRENCYENABLED bit;
declare @TRANSFERADJUSTMENTID uniqueidentifier;
set @MULTICURRENCYENABLED = dbo.UFN_CONDITIONSETTING_EVALUATEEXISTSCONDITION('Multicurrency');
-- 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.
select @DATALOADED = 1,
@BANKACCOUNTID = BANKACCOUNTTRANSACTION.BANKACCOUNTID,
@BANKACCOUNTNAME = dbo.UFN_BANKACCOUNT_GETACCOUNTNAME(BANKACCOUNTTRANSACTION.BANKACCOUNTID),
@AMOUNT = BANKACCOUNTTRANSACTION.TRANSACTIONAMOUNT,
@TRANSACTIONTYPECODE = BANKACCOUNTTRANSACTION.TRANSACTIONTYPECODE,
@TRANSACTIONTYPE = BANKACCOUNTTRANSACTION.TRANSACTIONTYPE,
@TRANSFERBANKACCOUNTID = BANKACCOUNTTRANSACTION.TRANSFERBANKACCOUNTID,
@TRANSFERBANKACCOUNTNAME = dbo.UFN_BANKACCOUNT_GETACCOUNTNAME(BANKACCOUNTTRANSACTION.TRANSFERBANKACCOUNTID),
@REFERENCE = BANKACCOUNTTRANSACTION.REFERENCE,
@ADJUSTMENTDATE = BANKACCOUNTTRANSACTION.TRANSACTIONDATE,
@POSTSTATUSCODE = BANKACCOUNTTRANSACTION.POSTSTATUSCODE,
@POSTDATE = BANKACCOUNTTRANSACTION.POSTDATE,
@STATUSCODE = BANKACCOUNT.STATUSCODE,
@BASEAMOUNT = BANKACCOUNTTRANSACTION.AMOUNT
,@TRANSACTIONCURRENCYID = BANKACCOUNT.TRANSACTIONCURRENCYID
,@EDITACTIONENABLED = case when BANKACCOUNT.STATUSCODE = 0 THEN 0 else case when BANKACCOUNTTRANSACTION.POSTSTATUSCODE=0 then 0 else case when @MULTICURRENCYENABLED=0 then 1 else case when BANKACCOUNTADJUSTMENT.ISORIGINALADJUSTMENT=1 then 1 else 0 end end end end
,@ISORIGINALADJUSTMENT = BANKACCOUNTADJUSTMENT.ISORIGINALADJUSTMENT
,@TRANSFERADJUSTMENTID = BANKACCOUNTADJUSTMENT.TRANSFERADJUSTMENTID
from dbo.BANKACCOUNTTRANSACTION
inner join dbo.BANKACCOUNTADJUSTMENT on BANKACCOUNTTRANSACTION.ID = BANKACCOUNTADJUSTMENT.ID
inner join dbo.BANKACCOUNT on BANKACCOUNTTRANSACTION.BANKACCOUNTID = BANKACCOUNT.ID
where BANKACCOUNTTRANSACTION.ID = @ID;
set @ORIGINALADJUSTMENTPOSTED = (select POSTSTATUSCODE from dbo.BANKACCOUNTTRANSACTION
join dbo.BANKACCOUNTADJUSTMENT on BANKACCOUNTTRANSACTION.ID = BANKACCOUNTADJUSTMENT.ID
where BANKACCOUNTADJUSTMENT.TRANSFERADJUSTMENTID = @ID and ISORIGINALADJUSTMENT = 1 );
if @ORIGINALADJUSTMENTPOSTED = 0
set @ORIGINALADJUSTMENTPOSTED = 1
else
set @ORIGINALADJUSTMENTPOSTED = 0;
set @SHOWGLINFO = 0
if dbo.UFN_INSTALLEDPRODUCTS_PRODUCTIS('133F9BCA-00F1-4007-9792-586B931340C6') != 0
begin
if dbo.UFN_PDACCOUNTSYSTEM_GETNUMBEROFSYSTEMSFORUSER(@CURRENTAPPUSERID) > 1
set @SHOWGLINFO = 1
end
if exists(select T.ID from dbo.GLTRANSACTION T
inner join dbo.BANKACCOUNTTRANSACTIONGLDISTRIBUTION D on D.GLTRANSACTIONID = T.ID
where D.BANKACCOUNTTRANSACTIONID = CASE WHEN @ISORIGINALADJUSTMENT = 1 THEN @ID ELSE @TRANSFERADJUSTMENTID END
and T.SYSTEMDISTRIBUTION = 1)
set @HASSYSTEMDISTRIBUTIONS = 1;
else
set @HASSYSTEMDISTRIBUTIONS = 0;
if @ISORIGINALADJUSTMENT = 0 and @POSTSTATUSCODE = 2 and @ORIGINALADJUSTMENTPOSTED = 1
set @EDITACTIONENABLED = 0;
return 0;