UFN_POSTTOGLPROCESS_GETUNPOSTEDDEPOSITTRANSACTIONS
Gets all unposted basic GL transaction rows.
Return
Return Type |
---|
table |
Definition
Copy
CREATE function dbo.UFN_POSTTOGLPROCESS_GETUNPOSTEDDEPOSITTRANSACTIONS()
returns
@GLDISTRIBUTION table (
DEPOSITID uniqueidentifier,
RECORDID uniqueidentifier,
GLTRANSACTIONID uniqueidentifier,
TRANSACTIONTYPE nvarchar(100),
ACCOUNTSTRING nvarchar(255),
PROJECT nvarchar(100),
AMOUNT money,
REFERENCE nvarchar(255),
ISREVERSAL bit,
ISADJUSTED bit
)
as
begin
insert into @GLDISTRIBUTION(
DEPOSITID,
RECORDID,
GLTRANSACTIONID,
TRANSACTIONTYPE,
ACCOUNTSTRING,
PROJECT,
AMOUNT,
REFERENCE,
ISREVERSAL,
ISADJUSTED
)
select
BANKACCOUNTDEPOSITPAYMENT.DEPOSITID,
DISTRIBUTION.REVENUEID as RECORDID,
GLTRANSACTION.ID as GLTRANSACTIONID,
GLTRANSACTION.TRANSACTIONTYPE,
GLTRANSACTION.ACCOUNT,
GLTRANSACTION.PROJECT,
GLTRANSACTION.AMOUNT,
GLTRANSACTION.REFERENCE,
0 as ISREVERSAL,
DISTRIBUTION.ISADJUSTED
from
dbo.GLTRANSACTION
inner join (
select REVENUEGLDISTRIBUTION.GLTRANSACTIONID,REVENUEGLDISTRIBUTION.REVENUEID, case when ADJUSTMENT.ID is null then 0 else 1 end as ISADJUSTED
from dbo.REVENUEGLDISTRIBUTION
left join dbo.ADJUSTMENT on REVENUEGLDISTRIBUTION.REVENUEID = ADJUSTMENT.REVENUEID and ADJUSTMENT.POSTSTATUSCODE = 1
union all
select STOCKSALEGLDISTRIBUTION.GLTRANSACTIONID,STOCKSALEGLDISTRIBUTION.REVENUEID, case when STOCKSALEADJUSTMENT.ID is null then 0 else 1 end as ISADJUSTED
from dbo.STOCKSALEGLDISTRIBUTION
left join dbo.STOCKSALEADJUSTMENT on STOCKSALEGLDISTRIBUTION.STOCKSALEID = STOCKSALEADJUSTMENT.STOCKSALEID and STOCKSALEADJUSTMENT.POSTSTATUSCODE = 1
union all
select PROPERTYDETAILGLDISTRIBUTION.GLTRANSACTIONID,PROPERTYDETAILGLDISTRIBUTION.REVENUEID, case when PROPERTYDETAILADJUSTMENT.ID is null then 0 else 1 end as ISADJUSTED
from dbo.PROPERTYDETAILGLDISTRIBUTION
left join dbo.PROPERTYDETAILADJUSTMENT on PROPERTYDETAILGLDISTRIBUTION.PROPERTYDETAILID = PROPERTYDETAILADJUSTMENT.PROPERTYDETAILID and PROPERTYDETAILADJUSTMENT.POSTSTATUSCODE = 1
union all
select WRITEOFFGLDISTRIBUTION.GLTRANSACTIONID,WRITEOFFGLDISTRIBUTION.REVENUEID, case when WRITEOFFADJUSTMENT.ID is null then 0 else 1 end as ISADJUSTED
from dbo.WRITEOFFGLDISTRIBUTION
left join dbo.WRITEOFFADJUSTMENT on WRITEOFFGLDISTRIBUTION.WRITEOFFID = WRITEOFFADJUSTMENT.WRITEOFFID and WRITEOFFADJUSTMENT.POSTSTATUSCODE = 1
union all
select distinct GIFTAIDGLDISTRIBUTION.GLTRANSACTIONID,GIFTAIDGLDISTRIBUTION.REVENUEID, case when REVENUESPLITGIFTAIDREFUND.ID is null then 0 else 1 end as ISADJUSTED
from dbo.GIFTAIDGLDISTRIBUTION
left join dbo.REVENUESPLITGIFTAIDREFUND on GIFTAIDGLDISTRIBUTION.REVENUESPLITGIFTAIDID = REVENUESPLITGIFTAIDREFUND.REVENUESPLITID --and WRITEOFFADJUSTMENT.POSTSTATUSCODE = 1
union all
select BENEFITGLDISTRIBUTION.GLTRANSACTIONID,BENEFITGLDISTRIBUTION.REVENUEID, case when BENEFITADJUSTMENT.ID is null then 0 else 1 end as ISADJUSTED
from dbo.BENEFITGLDISTRIBUTION
left join dbo.BENEFITADJUSTMENT on BENEFITGLDISTRIBUTION.REVENUEID = BENEFITADJUSTMENT.REVENUEID and BENEFITADJUSTMENT.POSTSTATUSCODE = 1
union all
select AUCTIONPURCHASEGLDISTRIBUTION.GLTRANSACTIONID,AUCTIONPURCHASEGLDISTRIBUTION.REVENUEPURCHASEID as REVENUEID, case when AUCTIONPURCHASEADJUSTMENT.ID is null then 0 else 1 end as ISADJUSTED
from dbo.AUCTIONPURCHASEGLDISTRIBUTION
left join dbo.AUCTIONPURCHASEADJUSTMENT on AUCTIONPURCHASEGLDISTRIBUTION.REVENUEPURCHASEID = AUCTIONPURCHASEADJUSTMENT.REVENUEID and AUCTIONPURCHASEADJUSTMENT.POSTSTATUSCODE = 1
union all
select GIFTFEEGLDISTRIBUTION.GLTRANSACTIONID,GIFTFEEGLDISTRIBUTION.REVENUEID, case when GIFTFEEADJUSTMENT.ID is null then 0 else 1 end as ISADJUSTED
from dbo.GIFTFEEGLDISTRIBUTION
left join dbo.GIFTFEEADJUSTMENT on GIFTFEEGLDISTRIBUTION.REVENUEID = GIFTFEEADJUSTMENT.REVENUEID and GIFTFEEADJUSTMENT.POSTSTATUSCODE = 1
)
as DISTRIBUTION on GLTRANSACTION.ID = DISTRIBUTION.GLTRANSACTIONID
left join
dbo.REVENUE on DISTRIBUTION.REVENUEID = REVENUE.ID
inner join
dbo.REVENUEPAYMENTMETHOD on DISTRIBUTION.REVENUEID = REVENUEPAYMENTMETHOD.REVENUEID
inner join
dbo.BANKACCOUNTDEPOSITPAYMENT on REVENUE.ID = BANKACCOUNTDEPOSITPAYMENT.ID
inner join
dbo.BANKACCOUNTTRANSACTION on BANKACCOUNTTRANSACTION.ID = BANKACCOUNTDEPOSITPAYMENT.DEPOSITID
left outer join
dbo.ADJUSTMENT on ADJUSTMENT.REVENUEID = REVENUE.ID and ADJUSTMENT.POSTSTATUSCODE = 1
left outer join
dbo.REVENUEPOSTED on REVENUEPOSTED.ID = REVENUE.ID
left outer join
dbo.BENEFITADJUSTMENT on BENEFITADJUSTMENT.REVENUEID = REVENUE.ID and BENEFITADJUSTMENT.POSTSTATUSCODE = 1
left outer join
dbo.AUCTIONPURCHASEADJUSTMENT on AUCTIONPURCHASEADJUSTMENT.REVENUEID = REVENUE.ID and AUCTIONPURCHASEADJUSTMENT.POSTSTATUSCODE = 1
where
(BANKACCOUNTTRANSACTION.POSTSTATUSCODE = 1 or (REVENUEPOSTED.ID is not null and ADJUSTMENT.POSTSTATUSCODE = 1) or (REVENUEPOSTED.ID is not null and BENEFITADJUSTMENT.POSTSTATUSCODE = 1) or (REVENUEPOSTED.ID is not null and AUCTIONPURCHASEADJUSTMENT.POSTSTATUSCODE = 1))
and
(REVENUEPAYMENTMETHOD.PAYMENTMETHODCODE in (0,1,2,10))
and
(GLTRANSACTION.POSTSTATUSCODE = 1)
union all
select
BANKACCOUNTDEPOSITPAYMENT.DEPOSITID,
REVENUE.ID as RECORDID,
GL1.ID as GLTRANSACTIONID,
GL1.TRANSACTIONTYPE,
GL1.ACCOUNT,
GL1.PROJECT,
GL1.AMOUNT,
left('Reversal - ' + GL1.REFERENCE, 255) as REFERENCE,
1 as ISREVERSAL,
0 as ISADJUSTED
from
dbo.GLTRANSACTION GL1
inner join
dbo.GLTRANSACTION on GLTRANSACTION.ID = GL1.REVERSEDGLTRANSACTIONID
inner join
dbo.REVENUEGLDISTRIBUTION on REVENUEGLDISTRIBUTION.GLTRANSACTIONID = GLTRANSACTION.ID
inner join
dbo.REVENUE on REVENUE.ID = REVENUEGLDISTRIBUTION.REVENUEID
inner join
dbo.REVENUEPAYMENTMETHOD on REVENUE.ID = REVENUEPAYMENTMETHOD.REVENUEID
inner join
dbo.BANKACCOUNTDEPOSITPAYMENT on REVENUE.ID = BANKACCOUNTDEPOSITPAYMENT.ID
inner join
dbo.BANKACCOUNTTRANSACTION on BANKACCOUNTTRANSACTION.ID = BANKACCOUNTDEPOSITPAYMENT.DEPOSITID
where
(BANKACCOUNTTRANSACTION.POSTSTATUSCODE != 2)
and
(REVENUEPAYMENTMETHOD.PAYMENTMETHODCODE in (0,1,2,10))
and
(GL1.POSTSTATUSCODE = 1)
union all
select
BANKACCOUNTDEPOSITCORRECTION.DEPOSITID,
BANKACCOUNTDEPOSITCORRECTION.ID as RECORDID,
GLTRANSACTION.ID as GLTRANSACTIONID,
GLTRANSACTION.TRANSACTIONTYPE,
GLTRANSACTION.ACCOUNT,
GLTRANSACTION.PROJECT,
GLTRANSACTION.AMOUNT,
GLTRANSACTION.REFERENCE,
0 as ISREVERSAL,
0 as ISADJUSTED
from
dbo.BANKACCOUNTDEPOSITCORRECTION
inner join
dbo.BANKACCOUNTDEPOSITCORRECTIONGLDISTRIBUTION on BANKACCOUNTDEPOSITCORRECTIONGLDISTRIBUTION.BANKACCOUNTDEPOSITCORRECTIONID = BANKACCOUNTDEPOSITCORRECTION.ID
inner join
dbo.GLTRANSACTION on GLTRANSACTION.ID = BANKACCOUNTDEPOSITCORRECTIONGLDISTRIBUTION.GLTRANSACTIONID
inner join
dbo.BANKACCOUNTTRANSACTION on BANKACCOUNTTRANSACTION.ID = BANKACCOUNTDEPOSITCORRECTION.DEPOSITID
where
GLTRANSACTION.POSTSTATUSCODE = 1
and
BANKACCOUNTTRANSACTION.POSTSTATUSCODE = 1
-- 10/12/2009 Deposited refund payments
union all
select BANKACCOUNTDEPOSITCREDITPAYMENT.DEPOSITID, CREDIT.ID RECORDID, GL1.ID, GL1.TRANSACTIONTYPE, GL1.ACCOUNT, GL1.PROJECT, GL1.AMOUNT, GL1.REFERENCE, 0 as ISREVERSAL, 0 as ISADJUSTED
from dbo.CREDITGLDISTRIBUTION
inner join dbo.GLTRANSACTION GL1 on CREDITGLDISTRIBUTION.GLTRANSACTIONID = GL1.ID
inner join dbo.CREDITPAYMENT on CREDITGLDISTRIBUTION.CREDITPAYMENTID = CREDITPAYMENT.ID
inner join dbo.CREDIT on CREDITPAYMENT.CREDITID = CREDIT.ID
inner join dbo.BANKACCOUNTDEPOSITCREDITPAYMENT on BANKACCOUNTDEPOSITCREDITPAYMENT.ID = CREDITPAYMENT.ID
where CREDIT.TYPECODE = 0
and GL1.POSTSTATUSCODE = 1
-- get reversals for benefits in deposit payments
union all
select
BANKACCOUNTDEPOSITPAYMENT.DEPOSITID,
REVENUE.ID as RECORDID,
GL1.ID as GLTRANSACTIONID,
GL1.TRANSACTIONTYPE,
GL1.ACCOUNT,
GL1.PROJECT,
GL1.AMOUNT,
left('Reversal - ' + GL1.REFERENCE, 255) as REFERENCE,
1 as ISREVERSAL,
0 as ISADJUSTED
from
dbo.GLTRANSACTION GL1
inner join
dbo.GLTRANSACTION on GLTRANSACTION.ID = GL1.REVERSEDGLTRANSACTIONID
inner join
dbo.BENEFITGLDISTRIBUTION on BENEFITGLDISTRIBUTION.GLTRANSACTIONID = GLTRANSACTION.ID
inner join
dbo.REVENUE on REVENUE.ID = BENEFITGLDISTRIBUTION.REVENUEID
inner join
dbo.REVENUEPAYMENTMETHOD on REVENUE.ID = REVENUEPAYMENTMETHOD.REVENUEID
inner join
dbo.BANKACCOUNTDEPOSITPAYMENT on REVENUE.ID = BANKACCOUNTDEPOSITPAYMENT.ID
inner join
dbo.BANKACCOUNTTRANSACTION on BANKACCOUNTTRANSACTION.ID = BANKACCOUNTDEPOSITPAYMENT.DEPOSITID
where
(BANKACCOUNTTRANSACTION.POSTSTATUSCODE != 2)
and
(REVENUEPAYMENTMETHOD.PAYMENTMETHODCODE in (0,1,2,10))
and
(GL1.POSTSTATUSCODE = 1)
return;
end