USP_DATALIST_BENEFITGLDISTRIBUTION
A datalist of benefit GL distributions.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_BENEFITGLDISTRIBUTION(@ID uniqueidentifier)
as
set nocount on;
--Post Status Code
-- 0: Do Not Post
-- 1: Not Posted
-- 2: Posted
-- 3: Posted (adjustment pending)
-- 4: Posted (adjustment set to do not post)
declare @POSTSTATUSCODE tinyint = 0;
declare @POSTSTATUS as bit = 1;
/* select top 1
@POSTSTATUSCODE = case
when REVENUE.DONOTPOST = 1 then 0
when REVENUEPOSTED.ID is null then 1
when REVENUEPOSTED.ID is not null and ADJUSTMENT.ID is null then 2
when REVENUEPOSTED.ID is not null and ADJUSTMENT.POSTSTATUSCODE = 1 then 3
when REVENUEPOSTED.ID is not null and ADJUSTMENT.POSTSTATUSCODE = 2 then 4
end,
@POSTSTATUS = case when REVENUEPOSTED.ID is not null then 0 else 1 end
from dbo.REVENUE
left join dbo.ADJUSTMENT on REVENUE.ID = ADJUSTMENT.REVENUEID
left join dbo.REVENUEPOSTED on REVENUEPOSTED.ID = REVENUE.ID
where REVENUE.ID = @ID
order by ADJUSTMENT.DATEADDED desc;
*/
select
FT.ID as ID,
isnull(JEX.DISTRIBUTIONTABLEID, JEX.ID) as REVENUEGLDISTRIBUTIONID,
MAP.DESCRIPTION,
JE.TRANSACTIONTYPE,
GL.ACCOUNTNUMBER as ACCOUNT,
JEX.PROJECT,
JE.BASEAMOUNT as AMOUNT,
JE.COMMENT as REFERENCE,
JE.TRANSACTIONAMOUNT,
JE.BASEAMOUNT,
JE.ORGAMOUNT as ORGANIZATIONAMOUNT,
case FT.TRANSACTIONCURRENCYID
when '00000000-0000-0000-0000-000000000000' then null
else FT.TRANSACTIONCURRENCYID end as TRANSACTIONCURRENCYID,
case CURRENCYSET.BASECURRENCYID
when '00000000-0000-0000-0000-000000000000' then null
else CURRENCYSET.BASECURRENCYID end as BASECURRENCYID
from
dbo.JOURNALENTRY_EXT JEX
inner join dbo.GLPAYMENTMETHODREVENUETYPEMAPPING as MAP on JEX.GLPAYMENTMETHODREVENUETYPEMAPPINGID = MAP.ID
inner join dbo.JOURNALENTRY JE on JEX.ID = JE.ID
inner join dbo.FINANCIALTRANSACTIONLINEITEM LI on LI.ID = JE.FINANCIALTRANSACTIONLINEITEMID
inner join dbo.FINANCIALTRANSACTION FT on FT.ID = LI.FINANCIALTRANSACTIONID
inner join dbo.PDACCOUNTSYSTEM on FT.PDACCOUNTSYSTEMID = PDACCOUNTSYSTEM.ID
inner join dbo.CURRENCYSET on PDACCOUNTSYSTEM.CURRENCYSETID = CURRENCYSET.ID
inner join dbo.GLACCOUNT GL on GL.ID = JE.GLACCOUNTID
left join dbo.ADJUSTMENT ADJ on LI.FINANCIALTRANSACTIONID = ADJ.REVENUEID
where
not exists (select 1 from ADJUSTMENT where POSTSTATUSCODE = 2 and REVENUEID = @ID )
and
LI.FINANCIALTRANSACTIONID = @ID
and JEX.BENEFITTYPECODE = 1 and ((JEX.OUTDATED = 0) or (JEX.OUTDATED = 1 and FT.TYPECODE = 5))
and
(
(LI.POSTSTATUSCODE != 3) or
exists(select * from BENEFITADJUSTMENT where REVENUEID = @ID )
)
order by
REFERENCE,BASEAMOUNT,TRANSACTIONTYPE desc