USP_DATAFORMTEMPLATE_EDITLOAD_REVENUEGLDISTRIBUTIONADJUST_2
The load procedure used by the edit dataform template "Posted Revenue GL Distribution Edit Form 2"
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. |
@GLDISTRIBUTION | xml | INOUT | Revenue GL distribution |
@REVENUEAMOUNT | money | INOUT | Revenue amount |
@ADJUSTMENTDATE | datetime | INOUT | Adjustment date |
@ADJUSTMENTPOSTDATE | datetime | INOUT | Adjustment post date |
@ADJUSTMENTPOSTSTATUSCODE | tinyint | INOUT | Post Status Code |
@ADJUSTMENTREASON | nvarchar(300) | INOUT | Adjustment details |
@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. |
@ADJUSTMENTREASONCODEID | uniqueidentifier | INOUT | Adjustment reason |
@TRANSACTIONCURRENCYID | uniqueidentifier | INOUT | Transaction currency ID |
@DEBITGLPAYMENTMETHODREVENUETYPEMAPPINGID | uniqueidentifier | INOUT | Debit mapping type |
@ISLINKEDTODEPOSIT | bit | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_REVENUEGLDISTRIBUTIONADJUST_2
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@GLDISTRIBUTION xml = null output,
@REVENUEAMOUNT money = null output,
@ADJUSTMENTDATE datetime = null output,
@ADJUSTMENTPOSTDATE datetime = null output,
@ADJUSTMENTPOSTSTATUSCODE tinyint = null output,
@ADJUSTMENTREASON nvarchar(300) = null output,
@TSLONG bigint = 0 output,
@ADJUSTMENTREASONCODEID uniqueidentifier = null output,
@TRANSACTIONCURRENCYID uniqueidentifier = null output,
@DEBITGLPAYMENTMETHODREVENUETYPEMAPPINGID uniqueidentifier = null output,
@ISLINKEDTODEPOSIT bit = null output
)
AS
BEGIN
set nocount on;
set @DATALOADED = 0;
set @TSLONG = 0;
select @ADJUSTMENTDATE = dbo.UFN_DATE_GETEARLIESTTIME(getdate()),
@ADJUSTMENTPOSTDATE = dbo.UFN_DATE_GETEARLIESTTIME(getdate()),
@ADJUSTMENTPOSTSTATUSCODE = 0;
select @ADJUSTMENTPOSTDATE = DEPOSIT.POSTDATE
from dbo.BANKACCOUNTDEPOSITPAYMENT BADP
inner join dbo.FINANCIALTRANSACTION DEPOSIT on DEPOSIT.ID = BADP.DEPOSITID
where BADP.ID = @ID;
select
@ADJUSTMENTDATE = ADJUSTMENT.DATE,
@ADJUSTMENTPOSTDATE = ADJUSTMENT.POSTDATE,
@ADJUSTMENTPOSTSTATUSCODE = ADJUSTMENT.POSTSTATUSCODE,
@ADJUSTMENTREASON = REASON,
@ADJUSTMENTREASONCODEID = REASONCODEID
from
dbo.ADJUSTMENT
where
REVENUEID = @ID and ADJUSTMENT.POSTSTATUSCODE > 0
-- Rename the TRANSACTIONAMOUNT field to AMOUNT.
set @GLDISTRIBUTION = (
select
GLDISTRIBUTION.ID,
GLDISTRIBUTION.TRANSACTIONTYPECODE,
GLDISTRIBUTION.TRANSACTIONAMOUNT AMOUNT,
GLDISTRIBUTION.GLPAYMENTMETHODREVENUETYPEMAPPINGID,
GLDISTRIBUTION.ACCOUNT,
GLDISTRIBUTION.PROJECT,
GLDISTRIBUTION.REFERENCE,
GLDISTRIBUTION.TRANSACTIONCURRENCYID
from
dbo.UFN_REVENUE_GETGLDISTRIBUTION(@ID) GLDISTRIBUTION
inner join dbo.GLTRANSACTION T on T.ID = GLDISTRIBUTION.GLTRANSACTIONID
where T.SYSTEMDISTRIBUTION = 0
for xml raw('ITEM'),type,elements,root('GLDISTRIBUTION'),BINARY BASE64
);
if (select TRANSACTIONTYPECODE from dbo.REVENUE where ID = @ID) = 4
select
@REVENUEAMOUNT = coalesce(PLANNEDGIFTADDITION.TRANSACTIONGIFTAMOUNT, PLANNEDGIFT.TRANSACTIONGIFTAMOUNT),
@TRANSACTIONCURRENCYID = REVENUE.TRANSACTIONCURRENCYID
from
dbo.REVENUE
left outer join dbo.V_PLANNEDGIFTREVENUE_WITHADDITIONS as PLANNEDGIFTREVENUE on REVENUE.ID = PLANNEDGIFTREVENUE.REVENUEID
left join dbo.PLANNEDGIFTADDITION on PLANNEDGIFTADDITION.ID = PLANNEDGIFTREVENUE.PLANNEDGIFTADDITIONID
left outer join dbo.PLANNEDGIFT on PLANNEDGIFT.ID = PLANNEDGIFTREVENUE.PLANNEDGIFTID
where
REVENUE.ID = @ID;
else
select
@REVENUEAMOUNT = FINANCIALTRANSACTION.TRANSACTIONAMOUNT,
@TRANSACTIONCURRENCYID = FINANCIALTRANSACTION.TRANSACTIONCURRENCYID
from dbo.FINANCIALTRANSACTION
where FINANCIALTRANSACTION.ID = @ID;
select
TOP 1 @DEBITGLPAYMENTMETHODREVENUETYPEMAPPINGID = GLPAYMENTMETHODREVENUETYPEMAPPINGID
from
dbo.UFN_REVENUE_GETGLDISTRIBUTION_FROMITEMLISTXML(@GLDISTRIBUTION)
where
TRANSACTIONTYPECODE = 0;
if @REVENUEAMOUNT is not null
begin
set @DATALOADED = 1
select @TSLONG = max(tslong) from dbo.REVENUEGLDISTRIBUTION where REVENUEID = @ID
end
set @ISLINKEDTODEPOSIT = 0;
if exists(select 1 from dbo.BANKACCOUNTDEPOSITPAYMENT where ID = @ID and DEPOSITID is not null)
set @ISLINKEDTODEPOSIT = 1;
return 0;
END