Latest Script 1
Latest Script 1
MAX(CALENDAR_DATE) CALENDAR_DATE
FROM bidm.w_day_d d
Where d.CAL_YEAR >= to_char(sysdate-1, 'YYYY')
and d.CAL_YEAR <= TO_NUMBER(TO_CHAR(sysdate, 'YYYY'))
AND TO_CHAR(CALENDAR_DATE, 'MON-YY') is not null
Group By TO_CHAR(CALENDAR_DATE, 'MON-YY')) d) A
LEFT JOIN (SELECT MALL_ID,
TRIM(LEASE_CODE) AS PERSON_CODE,
CHG.TENANT_CODE,
CHARGE_NO AS INVOICE_NO,
CHARGE_LINE_ID,
POST_DATE,
DUE_DATE,
DEFACT,
ROUND(NVL(SUM(CHG.INV_AMT_W_VAT - CHG.DN_AMT_W_VAT), 0),
2) AS INV_AMT
From bidm.smm_f_yardi_ar_charge CHG
where CHG.POST_DATE >= ADD_MONTHS(trunc(sysdate-1, 'YYYY'), -11)
GROUP BY MALL_ID,
TRIM(LEASE_CODE),
CHG.TENANT_CODE,
CHARGE_NO,
CHARGE_LINE_ID,
POST_DATE,
DUE_DATE,
DEFACT) CHG
ON A.PERSON_CODE = CHG.PERSON_CODE
AND CHG.POST_DATE <= A.P_CALENDAR_DATE
--LEFT JOIN bidm.smm_d_yardi_avg_exch_rate exr
--ON EXR.Property_Id = CHG.Mall_Id
--AND EXR.YEAR = TO_CHAR(A.P_CALENDAR_DATE,'YYYY')
--AND EXR.MONTH = TO_CHAR(A.P_CALENDAR_DATE,'MM')
Group By A.T_TYPE,
A.CALENDAR_DATE,
A.P_CALENDAR_DATE,
CHG.MALL_ID,
TRIM(CHG.PERSON_CODE),
CHG.TENANT_CODE,
CHG.INVOICE_NO,
CHG.CHARGE_LINE_ID,
CHG.DUE_DATE,
CHG.DEFACT)
, RCT as
(SELECT A.T_TYPE,
A.CALENDAR_DATE,
A.P_CALENDAR_DATE,
CHG.MALL_ID,
TRIM(CHG.PERSON_CODE) AS PERSON_CODE,
CHG.TENANT_CODE,
CHG.INVOICE_NO,
CHG.CHARGE_LINE_ID,
CHG.DUE_DATE,
SUM(CHQ_AMT) RECEIPT_AMT_LC
--SUM(CHQ_AMT * NVL(EXR.Avg_Rate,1)) AS RECEIPT_AMT_AED
FROM (SELECT T_TYPE,
D.Calendar_Date,
ADD_MONTHS(D.Calendar_Date, -1) AS P_CALENDAR_DATE,
T.PERSON_CODE
FROM (SELECT DISTINCT TRIM(LEASE_CODE) AS PERSON_CODE
FROM bidm.smm_f_yardi_ar_charge
where POST_DATE >= ADD_MONTHS(trunc(sysdate-1, 'YYYY'), -11))
T,
(SELECT TO_CHAR(CALENDAR_DATE, 'MON-YY') T_TYPE,
MAX(CALENDAR_DATE) CALENDAR_DATE
FROM bidm.w_day_d d
Where d.CAL_YEAR >= to_char(sysdate-1, 'YYYY')
and d.CAL_YEAR <= TO_NUMBER(TO_CHAR(sysdate, 'YYYY'))
AND TO_CHAR(CALENDAR_DATE, 'MON-YY') is not null
Group By TO_CHAR(CALENDAR_DATE, 'MON-YY')) d) A
LEFT JOIN (SELECT MALL_ID,
TRIM(LEASE_CODE) AS PERSON_CODE,
CHG.TENANT_CODE,
CHARGE_NO AS INVOICE_NO,
DUE_DATE,
CHARGE_LINE_ID,
POST_DATE,
ROUND(NVL(SUM(CHG.INV_AMT_W_VAT - CHG.DN_AMT_W_VAT), 0),
2) AS INV_AMT
From bidm.smm_f_yardi_ar_charge CHG
where CHG.POST_DATE >= ADD_MONTHS(trunc(sysdate-1, 'YYYY'), -11)
GROUP BY MALL_ID,
TRIM(LEASE_CODE),
CHG.TENANT_CODE,
CHARGE_NO,
DUE_DATE,
CHARGE_LINE_ID,
POST_DATE) CHG
ON A.PERSON_CODE = CHG.PERSON_CODE
AND CHG.POST_DATE <= A.P_CALENDAR_DATE
INNER JOIN (SELECT MALL_ID,
TRIM(LEASE_CODE) AS PERSON_CODE,
CHARGE_LINE_ID,
CHQ_POST_DATE,
ROUND(NVL(SUM(CHK.Transaction_Amt_w_Vat_Conv), 0), 2) AS
CHQ_AMT
From bidm.smm_f_yardi_ar_checks CHK
where CHK.CHQ_POST_DATE >= ADD_MONTHS(trunc(sysdate-1, 'YYYY'), -
11)
GROUP BY MALL_ID,
TRIM(LEASE_CODE),
CHARGE_LINE_ID,
CHQ_POST_DATE) CHK
ON CHG.CHARGE_LINE_ID = CHK.CHARGE_LINE_ID
AND CHK.CHQ_POST_DATE <= A.P_CALENDAR_DATE
--LEFT JOIN bidm.smm_d_yardi_avg_exch_rate exr
--ON EXR.Property_Id = CHG.Mall_Id
--AND EXR.YEAR = TO_CHAR(A.P_CALENDAR_DATE,'YYYY')
--AND EXR.MONTH = TO_CHAR(A.P_CALENDAR_DATE,'MM')
Group By A.T_TYPE,
A.CALENDAR_DATE,
A.P_CALENDAR_DATE,
CHG.MALL_ID,
TRIM(CHG.PERSON_CODE),
CHG.TENANT_CODE,
CHG.INVOICE_NO,
CHG.CHARGE_LINE_ID,
CHG.DUE_DATE)
,
MPB AS
(SELECT MALL_ID,
PERSON_CODE,
CALENDAR_DATE,
TRUNC(CALENDAR_DATE, 'MM') AS F_CALENDAR_DATE,
(SUM(NVL(PRIOR_BILLING_LC, 0)) - SUM(NVL(PRIOR_COLLECTION_LC, 0))) AS
PRIOR_BILLING_LC
--(SUM(NVL(PRIOR_BILLING_AED,0))-SUM(NVL(PRIOR_COLLECTION_AED,0))) AS
PRIOR_BILLING_AED
FROM (SELECT INV.MALL_ID,
INV.CALENDAR_DATE,
INV.PERSON_CODE,
CASE
WHEN INV.DUE_DAYS < 0 and NVL(INV.DEFACT, 0) <> 0 THEN
SUM(INV.INV_AMT_LC)
ELSE
0
END PRIOR_BILLING_LC,
CASE
WHEN INV.DUE_DAYS < 0 and NVL(INV.DEFACT, 0) <> 0 THEN
SUM(NVL(RCT.RECEIPT_AMT_LC, 0))
ELSE
0
END PRIOR_COLLECTION_LC
-- CASE WHEN INV.DUE_DAYS<0 and NVL(INV.DEFACT,0) <> 0 THEN
SUM(INV.INV_AMT_AED) ELSE 0 END PRIOR_BILLING_AED,
-- CASE WHEN INV.DUE_DAYS<0 and NVL(INV.DEFACT,0) <> 0 THEN
SUM(NVL(RCT.RECEIPT_AMT_AED,0)) ELSE 0 END PRIOR_COLLECTION_AED
FROM INV INV
LEFT JOIN RCT RCT
ON INV.CALENDAR_DATE = RCT.CALENDAR_DATE
AND INV.MALL_ID = RCT.MALL_ID
AND INV.CHARGE_LINE_ID = RCT.CHARGE_LINE_ID
GROUP BY INV.MALL_ID,
INV.PERSON_CODE,
INV.CALENDAR_DATE,
INV.DUE_DAYS,
INV.DEFACT)
GROUP BY MALL_ID, PERSON_CODE, CALENDAR_DATE, TRUNC(CALENDAR_DATE, 'MM'))
, FARINV AS
(SELECT A.T_TYPE,
A.CALENDAR_DATE,
CHG.MALL_ID,
TRIM(CHG.PERSON_CODE) AS PERSON_CODE,
CHG.TENANT_CODE,
CHG.INVOICE_NO,
CHG.CHARGE_LINE_ID,
CHG.DUE_DATE,
CHG.DEFACT,
(A.CALENDAR_DATE - CHG.DUE_DATE) AS DUE_DAYS,
SUM(INV_AMT) AS INV_AMT_LC
--SUM(INV_AMT * NVL(EXR.Avg_Rate,1)) AS INV_AMT_AED
FROM (
/*Monthly*/
SELECT T_TYPE,
D.Calendar_Date,
ADD_MONTHS(D.Calendar_Date, -1) AS P_CALENDAR_DATE,
T.PERSON_CODE
FROM (SELECT DISTINCT TRIM(LEASE_CODE) AS PERSON_CODE
FROM bidm.smm_f_yardi_ar_charge
where POST_DATE >= ADD_MONTHS(trunc(sysdate-1, 'YYYY'), -11)
) T,
(SELECT TO_CHAR(CALENDAR_DATE, 'MON-YY') T_TYPE,
MAX(CALENDAR_DATE) CALENDAR_DATE
FROM bidm.w_day_d d
Where d.CAL_YEAR >= to_char(ADD_MONTHS(trunc(sysdate-1,
'YYYY'), -11), 'YYYY')
and d.CAL_YEAR <= TO_NUMBER(TO_CHAR(sysdate, 'YYYY'))
AND TO_CHAR(CALENDAR_DATE, 'MON-YY') is not null
Group By TO_CHAR(CALENDAR_DATE, 'MON-YY')) d) A
LEFT JOIN (SELECT MALL_ID,
TRIM(LEASE_CODE) AS PERSON_CODE,
CHG.TENANT_CODE,
CHARGE_NO AS INVOICE_NO,
CHARGE_LINE_ID,
POST_DATE,
DUE_DATE,
DEFACT,
ROUND(NVL(SUM(CHG.INV_AMT_W_VAT - CHG.DN_AMT_W_VAT), 0),
2) AS INV_AMT
From bidm.smm_f_yardi_ar_charge CHG
-- where CHG.POST_DATE >= ADD_MONTHS(trunc(sysdate-1, 'YYYY'), -11)
GROUP BY MALL_ID,
TRIM(LEASE_CODE),
CHG.TENANT_CODE,
CHARGE_NO,
CHARGE_LINE_ID,
POST_DATE,
DUE_DATE,
DEFACT) CHG
ON A.PERSON_CODE = CHG.PERSON_CODE
AND CHG.POST_DATE <= A.CALENDAR_DATE
--LEFT JOIN bidm.smm_d_yardi_avg_exch_rate exr
--ON EXR.Property_Id = CHG.Mall_Id
--AND EXR.YEAR = TO_CHAR(A.P_CALENDAR_DATE,'YYYY')
--AND EXR.MONTH = TO_CHAR(A.P_CALENDAR_DATE,'MM')
Group By A.T_TYPE,
A.CALENDAR_DATE,
CHG.MALL_ID,
TRIM(CHG.PERSON_CODE),
CHG.TENANT_CODE,
CHG.INVOICE_NO,
CHG.CHARGE_LINE_ID,
CHG.DUE_DATE,
CHG.DEFACT)
,
FARRCT AS
(SELECT A.T_TYPE,
A.CALENDAR_DATE,
CHG.MALL_ID,
TRIM(CHG.PERSON_CODE) AS PERSON_CODE,
CHG.TENANT_CODE,
CHG.INVOICE_NO,
CHG.CHARGE_LINE_ID,
CHG.DUE_DATE,
SUM(CHQ_AMT) RECEIPT_AMT_LC
--SUM(CHQ_AMT * NVL(EXR.Avg_Rate,1)) AS RECEIPT_AMT_AED
FROM (SELECT T_TYPE,
D.Calendar_Date,
ADD_MONTHS(D.Calendar_Date, -1) AS P_CALENDAR_DATE,
T.PERSON_CODE
FROM (SELECT DISTINCT TRIM(LEASE_CODE) AS PERSON_CODE
FROM bidm.smm_f_yardi_ar_charge
where POST_DATE >= ADD_MONTHS(trunc(sysdate-1, 'YYYY'), -11))
T,
(SELECT TO_CHAR(CALENDAR_DATE, 'MON-YY') T_TYPE,
MAX(CALENDAR_DATE) CALENDAR_DATE
FROM bidm.w_day_d d
Where d.CAL_YEAR >= to_char(ADD_MONTHS(trunc(sysdate-1, 'YYYY'),
-11), 'YYYY')
and d.CAL_YEAR <= TO_NUMBER(TO_CHAR(sysdate, 'YYYY'))
AND TO_CHAR(CALENDAR_DATE, 'MON-YY') is not null
Group By TO_CHAR(CALENDAR_DATE, 'MON-YY')) d) A
LEFT JOIN (SELECT MALL_ID,
TRIM(LEASE_CODE) AS PERSON_CODE,
CHG.TENANT_CODE,
CHARGE_NO AS INVOICE_NO,
DUE_DATE,
CHARGE_LINE_ID,
POST_DATE,
ROUND(NVL(SUM(CHG.INV_AMT_W_VAT - CHG.DN_AMT_W_VAT), 0),
2) AS INV_AMT
From bidm.smm_f_yardi_ar_charge CHG
-- where CHG.POST_DATE >= ADD_MONTHS(trunc(sysdate-1, 'YYYY'), -11)
GROUP BY MALL_ID,
TRIM(LEASE_CODE),
CHG.TENANT_CODE,
CHARGE_NO,
DUE_DATE,
CHARGE_LINE_ID,
POST_DATE) CHG
ON A.PERSON_CODE = CHG.PERSON_CODE
AND CHG.POST_DATE <= A.CALENDAR_DATE
INNER JOIN (SELECT MALL_ID,
TRIM(LEASE_CODE) AS PERSON_CODE,
CHARGE_LINE_ID,
CHQ_POST_DATE,
ROUND(NVL(SUM(CHK.Transaction_Amt_w_Vat_Conv), 0), 2) AS
CHQ_AMT
From bidm.smm_f_yardi_ar_checks CHK
-- where CHK.CHQ_POST_DATE >= ADD_MONTHS(trunc(sysdate-1, 'YYYY'), -
11)
GROUP BY MALL_ID,
TRIM(LEASE_CODE),
CHARGE_LINE_ID,
CHQ_POST_DATE) CHK
ON CHG.CHARGE_LINE_ID = CHK.CHARGE_LINE_ID
AND CHK.CHQ_POST_DATE <= A.CALENDAR_DATE
--LEFT JOIN bidm.smm_d_yardi_avg_exch_rate exr
--ON EXR.Property_Id = CHG.Mall_Id
--AND EXR.YEAR = TO_CHAR(A.CALENDAR_DATE,'YYYY')
--AND EXR.MONTH = TO_CHAR(A.CALENDAR_DATE,'MM')
Group By A.T_TYPE,
A.CALENDAR_DATE,
CHG.MALL_ID,
TRIM(CHG.PERSON_CODE),
CHG.TENANT_CODE,
CHG.INVOICE_NO,
CHG.CHARGE_LINE_ID,
CHG.DUE_DATE)
,
FUAR AS
(SELECT MALL_ID,
PERSON_CODE,
CALENDAR_DATE,
TRUNC(CALENDAR_DATE, 'MM') AS F_CALENDAR_DATE,
--DEFACT,DUE_DAYS,
SUM(AR_NOT_YET_DUE_LC) AS AR_NOT_YET_DUE_LC,
SUM(FUTURE_LC) AS FUTURE_LC
--SUM(AR_NOT_YET_DUE_AED) AS AR_NOT_YET_DUE_AED,
--SUM(FUTURE_AED) AS FUTURE_AED
/*,SUM(BILLING) AS BILLING,
SUM(COLLECTION) AS COLLECTION*/
FROM (SELECT FARINV.MALL_ID,
FARINV.CALENDAR_DATE,
FARINV.PERSON_CODE,
--FARINV.DUE_DAYS,FARINV.DEFACT,SUM(FARINV.INV_AMT_LC) AS
BILLING,SUM(NVL(FARRCT.RECEIPT_AMT_LC,0)) AS COLLECTION,
CASE
WHEN FARINV.DUE_DAYS < 0 AND NVL(FARINV.DEFACT, 0) <> 0 THEN
SUM(FARINV.INV_AMT_LC) -
SUM(NVL(FARRCT.RECEIPT_AMT_LC, 0))
ELSE
0
END FUTURE_LC,
CASE
WHEN FARINV.DUE_DAYS < 0 AND NVL(FARINV.DEFACT, 0) = 0 THEN
SUM(FARINV.INV_AMT_LC) -
SUM(NVL(FARRCT.RECEIPT_AMT_LC, 0))
ELSE
0
END AR_NOT_YET_DUE_LC
-- CASE WHEN FARINV.DUE_DAYS <0 AND NVL(FARINV.DEFACT,0) <> 0 THEN
SUM(FARINV.INV_AMT_AED)-SUM(NVL(FARRCT.RECEIPT_AMT_AED,0)) ELSE 0 END FUTURE_AED,
-- CASE WHEN FARINV.DUE_DAYS < 0 AND NVL(FARINV.DEFACT,0) = 0
THEN SUM(FARINV.INV_AMT_AED)-SUM(NVL(FARRCT.RECEIPT_AMT_AED,0)) ELSE 0 END
AR_NOT_YET_DUE_AED
FROM FARINV FARINV
LEFT JOIN FARRCT FARRCT
ON FARINV.CALENDAR_DATE = FARRCT.CALENDAR_DATE
AND FARINV.MALL_ID = FARRCT.MALL_ID
AND FARINV.CHARGE_LINE_ID = FARRCT.CHARGE_LINE_ID
--where FARINV.CALENDAR_DATE >= trunc(sysdate-1, 'YYYY')
GROUP BY FARINV.MALL_ID,
FARINV.PERSON_CODE,
FARINV.CALENDAR_DATE,
FARINV.DUE_DAYS,
FARINV.DEFACT)
/*WHERE TO_CHAR(CALENDAR_DATE,'MM-YYYY') = '11-2020'
AND PERSON_CODE='t0067462'
AND MALL_ID=248*/
Group By MALL_ID, PERSON_CODE, CALENDAR_DATE, TRUNC(CALENDAR_DATE, 'MM')
)
/*Main Query*/
select tmp.MALL_ID,
tmp.PERSON_CODE,
MAX(tmp.TENANT_CODE) TENANT_CODE,
tmp.POST_DATE,
tmp.AS_OF_DATE,
sum(tmp.BILLING_AMOUNT_LC) BILLING_AMOUNT_LC,
sum(tmp.BILLING_AMOUNT_AED) BILLING_AMOUNT_AED,
sum(tmp.COLLECTION_AMOUNT_LC) COLLECTION_AMOUNT_LC,
sum(tmp.COLLECTION_AMOUNT_AED) COLLECTION_AMOUNT_AED,
sum(tmp.FUTURE_AMOUNT_LC) FUTURE_AMOUNT_LC,
sum(tmp.FUTURE_AMOUNT_AED) FUTURE_AMOUNT_AED,
sum(tmp.AR_NOT_YET_DUE_LC) AR_NOT_YET_DUE_LC,
sum(tmp.AR_NOT_YET_DUE_AED) AR_NOT_YET_DUE_AED,
sum(tmp.PRIOR_BILLING_LC) PRIOR_BILLING_LC,
sum(tmp.PRIOR_BILLING_AED) PRIOR_BILLING_AED,
CAST(CURRENT_TIMESTAMP AS DATE) AS W_INSERT_DATE,
CAST(CURRENT_TIMESTAMP AS DATE) AS W_UPDATE_DATE,
round(sum((tmp.future_amount_lc / (vat.drate + 100)) * vat.drate), 2) as
VAT_FUTURE_AMOUNT_LC,
round(sum((tmp.future_amount_aed / (vat.drate + 100)) * vat.drate),
2) as VAT_FUTURE_AMOUNT_AED,
round(sum((tmp.prior_billing_lc / (vat.drate + 100)) * vat.drate), 2) as
VAT_PRIOR_BILLING_LC,
round(sum((tmp.PRIOR_BILLING_AED / (vat.drate + 100)) * vat.drate),
2) as VAT_PRIOR_BILLING_AED
/* start: added by Khalid Mahmood as on 12-05-2022 for JE amounts*/,
max(JE_VAT_REV.JEAmt) VAT_FUTURE_ADJ_LC,
max(JE_VAT_REV.JERAmt) VAT_FUTURE_REV_ADJ_LC,
max(JE_VAT_REV.JEAmt * (CASE
WHEN 1 = 1 THEN
round(NVL(exr_je.avg_rate, 1), 4)
ELSE
1
END)) VAT_FUTURE_ADJ_AED,
max(JE_VAT_REV.JERAmt * (CASE
WHEN 1 = 1 THEN
round(NVL(exr_je.avg_rate, 1), 4)
ELSE
1
END)) VAT_FUTURE_REV_ADJ_AED
/* end: added by Khalid Mahmood as on 12-05-2022 for JE amounts*/
from (SELECT MALL_ID,
TRIM(PERSON_CODE) AS PERSON_CODE,
TENANT_CODE,
POST_DATE,
AS_OF_DATE,
NVL(SUM(BILLING_AMOUNT_LC), 0) AS BILLING_AMOUNT_LC,
--NVL(SUM(BILLING_AMOUNT_AED),0) AS BILLING_AMOUNT_AED,
ROUND(NVL(SUM(BILLING_AMOUNT_LC * NVL(exrate.avg_rate, 1)), 0),
2) as BILLING_AMOUNT_AED,
NVL(SUM(COLLECTION_AMOUNT_LC), 0) AS COLLECTION_AMOUNT_LC,
NVL(SUM(COLLECTION_AMOUNT_AED), 0) AS COLLECTION_AMOUNT_AED,
SUM(FUTURE_LC) AS FUTURE_AMOUNT_LC,
--SUM(FUTURE_AED) FUTURE_AMOUNT_AED,
ROUND(NVL(SUM(FUTURE_LC * NVL(exrate.avg_rate, 1)), 0), 2) as
FUTURE_AMOUNT_AED,
SUM(AR_NOT_YET_DUE_LC) AS AR_NOT_YET_DUE_LC,
--SUM(AR_NOT_YET_DUE_AED) AS AR_NOT_YET_DUE_AED,
ROUND(NVL(SUM(AR_NOT_YET_DUE_LC * NVL(exrate.avg_rate, 1)), 0),
2) as AR_NOT_YET_DUE_AED,
SUM(PRIOR_BILLING_LC) AS PRIOR_BILLING_LC,
--SUM(PRIOR_BILLING_AED) AS PRIOR_BILLING_AED,
ROUND(NVL(SUM(PRIOR_BILLING_LC * NVL(exrate.avg_rate, 1)), 0),
2) as PRIOR_BILLING_AED
FROM (SELECT MALL_ID,
TRIM(PERSON_CODE) AS PERSON_CODE,
NULL TENANT_CODE,
F_CALENDAR_DATE AS POST_DATE,
F_CALENDAR_DATE AS AS_OF_DATE,
0 AS BILLING_AMOUNT_LC,
0 AS BILLING_AMOUNT_AED,
0 AS COLLECTION_AMOUNT_LC,
0 AS COLLECTION_AMOUNT_AED,
SUM(FUTURE_LC) AS FUTURE_LC,
--SUM(FUTURE_AED) AS FUTURE_AED,
0 as FUTURE_AED,
SUM(AR_NOT_YET_DUE_LC) AS AR_NOT_YET_DUE_LC,
--SUM(AR_NOT_YET_DUE_AED) AS AR_NOT_YET_DUE_AED,
0 as AR_NOT_YET_DUE_AED,
0 AS PRIOR_BILLING_LC,
0 AS PRIOR_BILLING_AED
FROM FUAR FAR
where F_CALENDAR_DATE >= trunc(sysdate-1, 'YYYY')
GROUP BY MALL_ID, TRIM(PERSON_CODE), F_CALENDAR_DATE
UNION ALL
SELECT MALL_ID,
TRIM(PERSON_CODE) AS PERSON_CODE,
TENANT_CODE,
POST_DATE,
AS_OF_DATE,
SUM(BILLING_AMOUNT_LC) AS BILLING_AMOUNT_LC,
--SUM(BILLING_AMOUNT_AED) AS BILLING_AMOUNT_AED,
0 as BILLING_AMOUNT_AED,
SUM(COLLECTION_AMOUNT_LC) AS COLLECTION_AMOUNT_LC,
SUM(COLLECTION_AMOUNT_AED) AS COLLECTION_AMOUNT_AED,
0 AS FUTURE_LC,
0 AS FUTURE_AED,
0 AS AR_NOT_YET_DUE_LC,
0 AS AR_NOT_YET_DUE_AED,
0 AS PRIOR_BILLING_LC,
0 AS PRIOR_BILLING_AED
FROM (SELECT POST_DATE,
CASE
WHEN TO_CHAR(AS_OF_DATE, 'MM') >
TO_CHAR(POST_DATE, 'MM') THEN
LAST_DAY(POST_DATE)
WHEN TO_CHAR(AS_OF_DATE, 'MM') <
TO_CHAR(POST_DATE, 'MM') THEN
TRUNC((POST_DATE), 'month')
WHEN TO_CHAR(AS_OF_DATE, 'MM') =
F_CALENDAR_DATE AS AS_OF_DATE,
0 AS BILLING_AMOUNT_LC,
0 AS BILLING_AMOUNT_AED,
0 AS COLLECTION_AMOUNT_LC,
0 AS COLLECTION_AMOUNT_AED,
0 AS FUTURE_LC,
0 AS FUTURE_AED,
0 AS AR_NOT_YET_DUE_LC,
0 AS AR_NOT_YET_DUE_AED,
SUM(PRIOR_BILLING_LC) AS PRIOR_BILLING_LC,
--SUM(PRIOR_BILLING_AED) AS PRIOR_BILLING_AED
0 as PRIOR_BILLING_AED
FROM MPB
GROUP BY MALL_ID, TRIM(PERSON_CODE), F_CALENDAR_DATE)
billing_collection
/*WHERE MALL_ID = 37
--AND TRIM(FAR.PERSON_CODE) IN
('c0003816','t0119619','t0120308','t0121247','t0121575','t0122102')
AND TO_CHAR(POST_DATE,'MM-YYYY') IN ('10-2020')*/
left join bidm.smm_d_yardi_avg_exch_rate exrate
on exrate.property_id = billing_collection.mall_id
and exrate.year = to_char(as_of_Date, 'YYYY')
and exrate.month = to_char(as_of_date, 'MM')
--where as_of_Date between '01-MAR-21' AND '31-MAR-21'
--and person_code='t0071013'
GROUP BY MALL_ID,
TRIM(PERSON_CODE),
TENANT_CODE,
POST_DATE,
AS_OF_DATE) tmp
left join bidm.smm_d_yardi_property p
on p.hmy = tmp.mall_id
left join SMBUSTG.stg_f_yardi_intvatrate vat
on vat.hcountry = p.hcountry
AND AS_OF_DATE BETWEEN TRUNC(VAT.DTFROM) AND
NVL(VAT.DTTO, TO_DATE('31-DEC-2030', 'DD-MON-YYYY'))
/* start: added by Khalid Mahmood as on 12-05-2022 for JE amounts*/
LEFT JOIN (Select Ctry,
PHmy,
prHmy,
ltrim(rtrim(scode)) scode,
dtPost AS TDATE,
sum(JEAmt) JEAmt,
sum(JERAmt) JERAmt
From (SELECT co.hmy Ctry,
p.hmy PHmy,
t.hmy prHmy,
t.ucode scode,
0 JERAmt,
(gld.damount) JEAmt,
gld.dtPost dtPost
FROM SMBUSTG.STG_YARDI_TRANS TR
INNER JOIN SMBUSTG.STG_YARDI_GLDETAIL gld
on tr.hmy = gld.htran
and gld.ibook = 1
INNER JOIN SMBUSTG.STG_YARDI_acct ac
on ac.hmy = gld.hacct
INNER JOIN SMBUSTG.STG_YARDI_Person t
on ltrim(rtrim(t.ucode)) =
ltrim(rtrim(case
when instr(TR.uref,
' ',
decode(regexp_instr(TR.uref,
'-'),
0,
1,
regexp_instr(TR.uref,
'-'))) = 0 then
substr(TR.uref,
regexp_instr(TR.uref, '-', 1) +
1)
else
substr(tr.uref,
regexp_instr(TR.uref, '-', 1) +
1,
instr(TR.uref, ' ') -
regexp_instr(TR.uref, '-', 1) -
1)
--else substr(TR.uref,1,5)
end))
INNER JOIN smbustg.STG_D_YARDI_PROPERTY P
ON tr.hProp = p.hMy
INNER Join smbustg.STG_D_YARDI_COUNTRY_INFO CO
on CO.hmy = p.hcountry
WHERE 1 = 1
AND gld.hacct in (8159, 7218)
/*and gld.dtPost >= to_date('01'||to_char(sysdate,
'MONYYYY'), 'DDMONYYYY')
AND gld.dtPost < LAST_DAY(TRUNC(SYSDATE))+1*/
AND gld.ibook = 1
AND gld.itype = 10
and gld.sNotes = 'Reversal of Future billing'
AND NVL(tr.STRANFIELDS2, '') = 'UIREV'
--AND p.hmy IN (#Property#)
union all
select co.hmy Ctry,
p.hmy PHmy,
t.hmy prHmy,
t.ucode scode,
gld.damount JERAmt,
0 JEAmt,
gld.dtPost dtPost
FROM SMBUSTG.STG_YARDI_TRANS tr
INNER join SMBUSTG.STG_YARDI_TRANS tr1
on tr1.hmy = tr.hparent1
INNER JOIN SMBUSTG.STG_YARDI_GLDETAIL gld
on tr.hmy = gld.htran
and gld.ibook = 1
INNER JOIN SMBUSTG.STG_YARDI_acct ac
on ac.hmy = gld.hacct
INNER JOIN SMBUSTG.STG_YARDI_Person t
on ltrim(rtrim(t.ucode)) =
ltrim(rtrim(case
when instr(TR1.uref,
' ',
decode(regexp_instr(TR1.uref,
'-'),
0,
1,
regexp_instr(TR1.uref,
'-'))) = 0 then
substr(TR1.uref,
regexp_instr(TR1.uref, '-', 1) +
1)
else
substr(tr1.uref,
regexp_instr(TR1.uref, '-', 1) +
1,
instr(TR1.uref, ' ') -
regexp_instr(TR1.uref, '-', 1) -
1)
--else substr(TR.uref,1,5)
end))
INNER JOIN smbustg.STG_D_YARDI_PROPERTY P
ON tr.hProp = p.hMy
INNER Join smbustg.stg_d_yardi_COUNTRY_INFO CO
on CO.hmy = p.hcountry
WHERE tr.iTYPE in (10)
AND p.iType = 3
AND gld.hacct in (8159, 7218)
/*and gld.dtPost >= to_date('01'||to_char(sysdate,
'MONYYYY'), 'DDMONYYYY')
AND gld.dtPost < LAST_DAY(TRUNC(SYSDATE))+1*/
and gld.ibook = 1
and gld.sNotes = 'Reversal of Future billing'
AND NVL(tr1.STRANFIELDS2, '') = 'UIREV'
--AND p.hmy IN (#Property#)
) Tot
Group by Ctry, PHmy, prHmy, scode, dtPost) JE_VAT_REV
on JE_VAT_REV.phmy = tmp.MALL_ID
and JE_VAT_REV.scode = tmp.PERSON_CODE
and JE_VAT_REV.tdate = tmp.as_of_date
LEFT OUTER JOIN smbustg.stg_d_yardi_avg_exch_rate exr_je
ON exr_je.property_id = JE_VAT_REV.phmy
AND exr_je.YEAR = TO_CHAR(LAST_DAY(JE_VAT_REV.tdate), 'YYYY')
AND exr_je.MONTH = TO_CHAR(LAST_DAY(JE_VAT_REV.tdate), 'MM')
/* end: added by Khalid Mahmood as on 12-05-2022 for JE amounts*/
where 1=1
and post_date >= trunc(sysdate, 'YYYY')
--and PERSON_CODE = 't0117171'
group by tmp.MALL_ID,
tmp.PERSON_CODE,
-- tmp.TENANT_CODE,
tmp.POST_DATE,
tmp.AS_OF_DATE
;