USP_DATALIST_REVENUEGLREVERSALBYTRANSACTION
A datalist of revenue GL reversal distribution by transaction.
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_REVENUEGLREVERSALBYTRANSACTION(@ID uniqueidentifier)
as
set nocount on;
select
REVENUEGLDISTRIBUTION.REVENUEID,
MAP.DESCRIPTION,
GL2.TRANSACTIONTYPE,
GL2.ACCOUNT,
GL2.PROJECT,
GL2.AMOUNT,
GL2.REFERENCE,
case when GL2.TRANSACTIONCURRENCYID is null then nullif(GL2.TRANSACTIONAMOUNT,0) else GL2.TRANSACTIONAMOUNT end as [TRANSACTIONAMOUNT],
case when GL2.TRANSACTIONCURRENCYID is null then nullif(GL2.AMOUNT,0) else GL2.AMOUNT end as [AMOUNT],
case when GL2.TRANSACTIONCURRENCYID is null then nullif(GL2.ORGANIZATIONAMOUNT,0) else GL2.ORGANIZATIONAMOUNT end as [ORGANIZATIONAMOUNT],
GL2.TRANSACTIONCURRENCYID,
GL2.BASECURRENCYID
from
dbo.REVENUEGLDISTRIBUTION
inner join
dbo.GLPAYMENTMETHODREVENUETYPEMAPPING as MAP on REVENUEGLDISTRIBUTION.GLPAYMENTMETHODREVENUETYPEMAPPINGID = MAP.ID
inner join
dbo.GLTRANSACTION GL1 on REVENUEGLDISTRIBUTION.GLTRANSACTIONID = GL1.ID
inner join
dbo.GLTRANSACTION GL2 on GL1.ID = GL2.REVERSEDGLTRANSACTIONID
where
REVENUEGLDISTRIBUTION.REVENUEID = @ID
and GL2.POSTSTATUSCODE = 1
union all
select
STOCKSALEGLDISTRIBUTION.REVENUEID,
MAP.DESCRIPTION,
GL2.TRANSACTIONTYPE,
GL2.ACCOUNT,
GL2.PROJECT,
GL2.AMOUNT,
GL2.REFERENCE,
case when GL2.TRANSACTIONCURRENCYID is null then nullif(GL2.TRANSACTIONAMOUNT,0) else GL2.TRANSACTIONAMOUNT end as [TRANSACTIONAMOUNT],
case when GL2.TRANSACTIONCURRENCYID is null then nullif(GL2.AMOUNT,0) else GL2.AMOUNT end as [AMOUNT],
case when GL2.TRANSACTIONCURRENCYID is null then nullif(GL2.ORGANIZATIONAMOUNT,0) else GL2.ORGANIZATIONAMOUNT end as [ORGANIZATIONAMOUNT],
GL2.TRANSACTIONCURRENCYID,
GL2.BASECURRENCYID
from
dbo.STOCKSALEGLDISTRIBUTION
inner join
dbo.GLPAYMENTMETHODREVENUETYPEMAPPING as MAP on STOCKSALEGLDISTRIBUTION.GLPAYMENTMETHODREVENUETYPEMAPPINGID = MAP.ID
inner join
dbo.GLTRANSACTION GL1 on STOCKSALEGLDISTRIBUTION.GLTRANSACTIONID = GL1.ID
inner join
dbo.GLTRANSACTION GL2 on GL1.ID = GL2.REVERSEDGLTRANSACTIONID
where
STOCKSALEGLDISTRIBUTION.REVENUEID = @ID
and GL2.POSTSTATUSCODE = 1
union all
select
GIFTINKINDSALEGLDISTRIBUTION.REVENUEID,
MAP.DESCRIPTION,
GL2.TRANSACTIONTYPE,
GL2.ACCOUNT,
GL2.PROJECT,
GL2.AMOUNT,
GL2.REFERENCE,
case when GL2.TRANSACTIONCURRENCYID is null then nullif(GL2.TRANSACTIONAMOUNT,0) else GL2.TRANSACTIONAMOUNT end as [TRANSACTIONAMOUNT],
case when GL2.TRANSACTIONCURRENCYID is null then nullif(GL2.AMOUNT,0) else GL2.AMOUNT end as [AMOUNT],
case when GL2.TRANSACTIONCURRENCYID is null then nullif(GL2.ORGANIZATIONAMOUNT,0) else GL2.ORGANIZATIONAMOUNT end as [ORGANIZATIONAMOUNT],
GL2.TRANSACTIONCURRENCYID,
GL2.BASECURRENCYID
from
dbo.GIFTINKINDSALEGLDISTRIBUTION
inner join
dbo.GLPAYMENTMETHODREVENUETYPEMAPPING as MAP on GIFTINKINDSALEGLDISTRIBUTION.GLPAYMENTMETHODREVENUETYPEMAPPINGID = MAP.ID
inner join
dbo.GLTRANSACTION GL1 on GIFTINKINDSALEGLDISTRIBUTION.GLTRANSACTIONID = GL1.ID
inner join
dbo.GLTRANSACTION GL2 on GL1.ID = GL2.REVERSEDGLTRANSACTIONID
where
GIFTINKINDSALEGLDISTRIBUTION.REVENUEID = @ID
and GL2.POSTSTATUSCODE = 1
union all
select
PROPERTYDETAILGLDISTRIBUTION.REVENUEID,
MAP.DESCRIPTION,
GL2.TRANSACTIONTYPE,
GL2.ACCOUNT,
GL2.PROJECT,
GL2.AMOUNT,
GL2.REFERENCE,
case when GL2.TRANSACTIONCURRENCYID is null then nullif(GL2.TRANSACTIONAMOUNT,0) else GL2.TRANSACTIONAMOUNT end as [TRANSACTIONAMOUNT],
case when GL2.TRANSACTIONCURRENCYID is null then nullif(GL2.AMOUNT,0) else GL2.AMOUNT end as [AMOUNT],
case when GL2.TRANSACTIONCURRENCYID is null then nullif(GL2.ORGANIZATIONAMOUNT,0) else GL2.ORGANIZATIONAMOUNT end as [ORGANIZATIONAMOUNT],
GL2.TRANSACTIONCURRENCYID,
GL2.BASECURRENCYID
from
dbo.PROPERTYDETAILGLDISTRIBUTION
inner join
dbo.GLPAYMENTMETHODREVENUETYPEMAPPING as MAP on PROPERTYDETAILGLDISTRIBUTION.GLPAYMENTMETHODREVENUETYPEMAPPINGID = MAP.ID
inner join
dbo.GLTRANSACTION GL1 on PROPERTYDETAILGLDISTRIBUTION.GLTRANSACTIONID = GL1.ID
inner join
dbo.GLTRANSACTION GL2 on GL1.ID = GL2.REVERSEDGLTRANSACTIONID
where
PROPERTYDETAILGLDISTRIBUTION.REVENUEID = @ID
and GL2.POSTSTATUSCODE = 1
union all
select
WRITEOFFGLDISTRIBUTION.REVENUEID,
MAP.DESCRIPTION,
GL2.TRANSACTIONTYPE,
GL2.ACCOUNT,
GL2.PROJECT,
GL2.AMOUNT,
GL2.REFERENCE,
case when GL2.TRANSACTIONCURRENCYID is null then nullif(GL2.TRANSACTIONAMOUNT,0) else GL2.TRANSACTIONAMOUNT end as [TRANSACTIONAMOUNT],
case when GL2.TRANSACTIONCURRENCYID is null then nullif(GL2.AMOUNT,0) else GL2.AMOUNT end as [AMOUNT],
case when GL2.TRANSACTIONCURRENCYID is null then nullif(GL2.ORGANIZATIONAMOUNT,0) else GL2.ORGANIZATIONAMOUNT end as [ORGANIZATIONAMOUNT],
GL2.TRANSACTIONCURRENCYID,
GL2.BASECURRENCYID
from
dbo.WRITEOFFGLDISTRIBUTION
inner join
dbo.GLPAYMENTMETHODREVENUETYPEMAPPING as MAP on WRITEOFFGLDISTRIBUTION.GLPAYMENTMETHODREVENUETYPEMAPPINGID = MAP.ID
inner join
dbo.GLTRANSACTION GL1 on WRITEOFFGLDISTRIBUTION.GLTRANSACTIONID = GL1.ID
inner join
dbo.GLTRANSACTION GL2 on GL1.ID = GL2.REVERSEDGLTRANSACTIONID
where
WRITEOFFGLDISTRIBUTION.REVENUEID = @ID
and GL2.POSTSTATUSCODE = 1
union all
select
GIFTAIDGLDISTRIBUTION.REVENUEID,
MAP.DESCRIPTION,
GL2.TRANSACTIONTYPE,
GL2.ACCOUNT,
GL2.PROJECT,
GL2.AMOUNT,
GL2.REFERENCE,
case when GL2.TRANSACTIONCURRENCYID is null then nullif(GL2.TRANSACTIONAMOUNT,0) else GL2.TRANSACTIONAMOUNT end as [TRANSACTIONAMOUNT],
case when GL2.TRANSACTIONCURRENCYID is null then nullif(GL2.AMOUNT,0) else GL2.AMOUNT end as [AMOUNT],
case when GL2.TRANSACTIONCURRENCYID is null then nullif(GL2.ORGANIZATIONAMOUNT,0) else GL2.ORGANIZATIONAMOUNT end as [ORGANIZATIONAMOUNT],
GL2.TRANSACTIONCURRENCYID,
GL2.BASECURRENCYID
from
dbo.GIFTAIDGLDISTRIBUTION
inner join
dbo.GLPAYMENTMETHODREVENUETYPEMAPPING as MAP on GIFTAIDGLDISTRIBUTION.GLPAYMENTMETHODREVENUETYPEMAPPINGID = MAP.ID
inner join
dbo.GLTRANSACTION GL1 on GIFTAIDGLDISTRIBUTION.GLTRANSACTIONID = GL1.ID
inner join
dbo.GLTRANSACTION GL2 on GL1.ID = GL2.REVERSEDGLTRANSACTIONID
where
GIFTAIDGLDISTRIBUTION.REVENUEID = @ID
and GL2.POSTSTATUSCODE = 1
union all
select
BENEFITGLDISTRIBUTION.REVENUEID,
MAP.DESCRIPTION,
GL2.TRANSACTIONTYPE,
GL2.ACCOUNT,
GL2.PROJECT,
GL2.AMOUNT,
GL2.REFERENCE,
case when GL2.TRANSACTIONCURRENCYID is null then nullif(GL2.TRANSACTIONAMOUNT,0) else GL2.TRANSACTIONAMOUNT end as [TRANSACTIONAMOUNT],
case when GL2.TRANSACTIONCURRENCYID is null then nullif(GL2.AMOUNT,0) else GL2.AMOUNT end as [AMOUNT],
case when GL2.TRANSACTIONCURRENCYID is null then nullif(GL2.ORGANIZATIONAMOUNT,0) else GL2.ORGANIZATIONAMOUNT end as [ORGANIZATIONAMOUNT],
GL2.TRANSACTIONCURRENCYID,
GL2.BASECURRENCYID
from
dbo.BENEFITGLDISTRIBUTION
inner join
dbo.GLPAYMENTMETHODREVENUETYPEMAPPING as MAP on BENEFITGLDISTRIBUTION.GLPAYMENTMETHODREVENUETYPEMAPPINGID = MAP.ID
inner join
dbo.GLTRANSACTION GL1 on BENEFITGLDISTRIBUTION.GLTRANSACTIONID = GL1.ID
inner join
dbo.GLTRANSACTION GL2 on GL1.ID = GL2.REVERSEDGLTRANSACTIONID
where
BENEFITGLDISTRIBUTION.REVENUEID = @ID
and GL2.POSTSTATUSCODE = 1
union all
select
PLANNEDGIFTPAYOUTGLDISTRIBUTION.REVENUEID,
MAP.DESCRIPTION,
GL2.TRANSACTIONTYPE,
GL2.ACCOUNT,
GL2.PROJECT,
GL2.AMOUNT,
GL2.REFERENCE,
case when GL2.TRANSACTIONCURRENCYID is null then nullif(GL2.TRANSACTIONAMOUNT,0) else GL2.TRANSACTIONAMOUNT end as [TRANSACTIONAMOUNT],
case when GL2.TRANSACTIONCURRENCYID is null then nullif(GL2.AMOUNT,0) else GL2.AMOUNT end as [AMOUNT],
case when GL2.TRANSACTIONCURRENCYID is null then nullif(GL2.ORGANIZATIONAMOUNT,0) else GL2.ORGANIZATIONAMOUNT end as [ORGANIZATIONAMOUNT],
GL2.TRANSACTIONCURRENCYID,
GL2.BASECURRENCYID
from
dbo.PLANNEDGIFTPAYOUTGLDISTRIBUTION
inner join
dbo.GLPAYMENTMETHODREVENUETYPEMAPPING as MAP on PLANNEDGIFTPAYOUTGLDISTRIBUTION.GLPAYMENTMETHODREVENUETYPEMAPPINGID = MAP.ID
inner join
dbo.GLTRANSACTION GL1 on PLANNEDGIFTPAYOUTGLDISTRIBUTION.GLTRANSACTIONID = GL1.ID
inner join
dbo.GLTRANSACTION GL2 on GL1.ID = GL2.REVERSEDGLTRANSACTIONID
where
PLANNEDGIFTPAYOUTGLDISTRIBUTION.REVENUEID = @ID
and GL2.POSTSTATUSCODE = 1
union all
select
GIFTFEEGLDISTRIBUTION.REVENUEID,
MAP.DESCRIPTION,
GL2.TRANSACTIONTYPE,
GL2.ACCOUNT,
GL2.PROJECT,
GL2.AMOUNT,
GL2.REFERENCE,
case when GL2.TRANSACTIONCURRENCYID is null then nullif(GL2.TRANSACTIONAMOUNT,0) else GL2.TRANSACTIONAMOUNT end as [TRANSACTIONAMOUNT],
case when GL2.TRANSACTIONCURRENCYID is null then nullif(GL2.AMOUNT,0) else GL2.AMOUNT end as [AMOUNT],
case when GL2.TRANSACTIONCURRENCYID is null then nullif(GL2.ORGANIZATIONAMOUNT,0) else GL2.ORGANIZATIONAMOUNT end as [ORGANIZATIONAMOUNT],
GL2.TRANSACTIONCURRENCYID,
GL2.BASECURRENCYID
from
dbo.GIFTFEEGLDISTRIBUTION
inner join
dbo.GLPAYMENTMETHODREVENUETYPEMAPPING as MAP on GIFTFEEGLDISTRIBUTION.GLPAYMENTMETHODREVENUETYPEMAPPINGID = MAP.ID
inner join
dbo.GLTRANSACTION GL1 on GIFTFEEGLDISTRIBUTION.GLTRANSACTIONID = GL1.ID
inner join
dbo.GLTRANSACTION GL2 on GL1.ID = GL2.REVERSEDGLTRANSACTIONID
where
GIFTFEEGLDISTRIBUTION.REVENUEID = @ID
and GL2.POSTSTATUSCODE = 1
union all
select
AUCTIONPURCHASEGLDISTRIBUTION.REVENUEPURCHASEID,
MAP.DESCRIPTION,
GL2.TRANSACTIONTYPE,
GL2.ACCOUNT,
GL2.PROJECT,
GL2.AMOUNT,
GL2.REFERENCE,
case when GL2.TRANSACTIONCURRENCYID is null then nullif(GL2.TRANSACTIONAMOUNT,0) else GL2.TRANSACTIONAMOUNT end as [TRANSACTIONAMOUNT],
case when GL2.TRANSACTIONCURRENCYID is null then nullif(GL2.AMOUNT,0) else GL2.AMOUNT end as [AMOUNT],
case when GL2.TRANSACTIONCURRENCYID is null then nullif(GL2.ORGANIZATIONAMOUNT,0) else GL2.ORGANIZATIONAMOUNT end as [ORGANIZATIONAMOUNT],
GL2.TRANSACTIONCURRENCYID,
GL2.BASECURRENCYID
from
dbo.AUCTIONPURCHASEGLDISTRIBUTION
inner join dbo.GLPAYMENTMETHODREVENUETYPEMAPPING as MAP on AUCTIONPURCHASEGLDISTRIBUTION.GLPAYMENTMETHODREVENUETYPEMAPPINGID = MAP.ID
inner join dbo.GLTRANSACTION GL1 on AUCTIONPURCHASEGLDISTRIBUTION.GLTRANSACTIONID = GL1.ID
inner join dbo.GLTRANSACTION GL2 on GL1.ID = GL2.REVERSEDGLTRANSACTIONID
where
AUCTIONPURCHASEGLDISTRIBUTION.REVENUEPURCHASEID = @ID
and GL2.POSTSTATUSCODE = 1
union all
select
UNREALIZEDGAINLOSSGLDISTRIBUTION.REVENUEID,
'Currency revaluation',
GL2.TRANSACTIONTYPE,
GL2.ACCOUNT,
GL2.PROJECT,
nullif(GL2.AMOUNT, 0) as [AMOUNT],
GL2.REFERENCE,
null as [TRANSACTIONAMOUNT],
nullif(GL2.AMOUNT, 0) as [BASEAMOUNT],
nullif(GL2.ORGANIZATIONAMOUNT, 0) as [ORGANIZATIONAMOUNT],
null as TRANSACTIONCURRENCYID,
GL2.BASECURRENCYID
from
dbo.UNREALIZEDGAINLOSSGLDISTRIBUTION
inner join
dbo.GLTRANSACTION GL1 on UNREALIZEDGAINLOSSGLDISTRIBUTION.GLTRANSACTIONID = GL1.ID
inner join
dbo.GLTRANSACTION GL2 on GL1.ID = GL2.REVERSEDGLTRANSACTIONID
where
UNREALIZEDGAINLOSSGLDISTRIBUTION.REVENUEID = @ID
and GL2.POSTSTATUSCODE = 1
order by
MAP.DESCRIPTION,GL2.TRANSACTIONTYPE desc;