Ar Aging Report
Ar Aging Report
38647) */
SELECT MAIN_TAB.*
FROM (SELECT AR_TAB.account_number,
AR_TAB.party_name,
AR_TAB.customer_trx_id,
AR_TAB.Trans_Type,
AR_TAB.trans_type_name,
AR_TAB.cust_trx_type_id,
AR_TAB.invoice_currency_code,
AR_TAB.location_code,
AR_TAB.trx_num,
AR_TAB.Trans_Date,
AR_TAB.gl_date,
AR_TAB.Due_Date,
AR_TAB.Fcy_Amt,
AR_TAB.Inr_Amt,
AR_TAB.exchange_rate,
AR_TAB.amount_due_remaining_FCY,
AR_TAB.Amount_Remaining_INR,
NVL (AR_TAB.ar_acctd_amt_due, 0) ar_acctd_amt_due,
(NVL (AR_TAB.INR_AMT, 0) - NVL
(AR_TAB.ar_acctd_amt_due, 0))
outstanding_amount_inr,
(NVL (AR_TAB.Fcy_Amt, 0) - NVL (AR_TAB.ar_fcy_amt_due,
0))
Outstanding_amount_fcy,
(CASE
WHEN (:p_to_date - TRUNC (AR_TAB.DUE_DATE)) <= 0
THEN
(AR_TAB.INR_AMT - AR_TAB.ar_acctd_amt_due)
ELSE
0
END)
Current_bal,
(CASE
WHEN (:p_to_date - TRUNC (AR_TAB.DUE_DATE)) BETWEEN
1 AND 30
THEN
(NVL (AR_TAB.INR_AMT, 0) - NVL
(AR_TAB.ar_acctd_amt_due, 0))
ELSE
0
END)
One_30_Days_Past_Due
---1-30
,
(CASE
WHEN (:p_to_date - TRUNC (AR_TAB.DUE_DATE)) BETWEEN
31
AND
60
THEN
(NVL (AR_TAB.INR_AMT, 0) - NVL
(AR_TAB.ar_acctd_amt_due, 0))
ELSE
0
END)
ThirtyOne_60_Days_Past_Due -
--31-60
,
(CASE
WHEN (:p_to_date - TRUNC (AR_TAB.DUE_DATE)) BETWEEN
61
AND
90
THEN
(NVL (AR_TAB.INR_AMT, 0) - NVL
(AR_TAB.ar_acctd_amt_due, 0))
ELSE
0
END)
One_90_Days_Past_Due,
(CASE
WHEN (:p_to_date - TRUNC (AR_TAB.DUE_DATE)) BETWEEN
91
AND
120
THEN
(NVL (AR_TAB.INR_AMT, 0) - NVL
(AR_TAB.ar_acctd_amt_due, 0))
ELSE
0
END)
One_120_Days_Past_Due,
(CASE
WHEN (:p_to_date - TRUNC (AR_TAB.DUE_DATE)) BETWEEN
121
AND
150
THEN
(NVL (AR_TAB.INR_AMT, 0) - NVL
(AR_TAB.ar_acctd_amt_due, 0))
ELSE
0
END)
One_150_Days_Past_Due,
(CASE
WHEN (:p_to_date - TRUNC (AR_TAB.DUE_DATE)) BETWEEN
151
AND
180
THEN
(NVL (AR_TAB.INR_AMT, 0) - NVL
(AR_TAB.ar_acctd_amt_due, 0))
ELSE
0
END)
One_180_Days_Past_Due,
(CASE
WHEN (:p_to_date - TRUNC (AR_TAB.DUE_DATE)) > 180
THEN
(NVL (AR_TAB.INR_AMT, 0) - NVL
(AR_TAB.ar_acctd_amt_due, 0))
ELSE
0
END)
more_than_180_Days_Past_Due
FROM (SELECT hca.account_number account_number,
hp.PARTY_NAME party_name,
cta.CUSTOMER_TRX_ID customer_trx_id--,acl.name
collector_name
,
DECODE (ps.class,
'INV', 'Invoice',
'DM', 'Debit Memo',
'CM', 'Credit Memo')
Trans_Type,
rctt.name trans_type_name,
rctt.CUST_TRX_TYPE_ID cust_trx_type_id,
cta.INVOICE_CURRENCY_CODE
invoice_currency_code,
hou.LOCATION_CODE location_code,
ps.trx_number trx_num,
ps.trx_date Trans_Date,
ps.GL_DATE gl_date,
ps.due_date Due_Date,
ps.AMOUNT_DUE_ORIGINAL Fcy_Amt,
ROUND (
(ps.AMOUNT_DUE_ORIGINAL * NVL
(ps.EXCHANGE_RATE, 1)),
2)
Inr_Amt,
ps.EXCHANGE_RATE exchange_rate,
ps.AMOUNT_DUE_REMAINING
amount_due_remaining_FCY,
ps.acctd_amount_due_remaining
Amount_Remaining_INR,
( SELECT ROUND (
SUM (
NVL (
a.AMOUNT_APPLIED
* NVL (ps.EXCHANGE_RATE, 1),
0)),
2)
FROM ar_receivable_applications_all a
WHERE a.APPLIED_PAYMENT_SCHEDULE_ID =
ps.PAYMENT_SCHEDULE_ID
--
a.APPLIED_CUSTOMER_TRX_ID=ps.CUSTOMER_TRX_ID
AND a.DISPLAY = 'Y'
AND TRUNC (a.GL_DATE) BETWEEN
:p_from_date
AND :p_to_date
GROUP BY a.APPLIED_PAYMENT_SCHEDULE_ID)
ar_acctd_amt_due,
( SELECT ROUND (SUM (NVL (a.AMOUNT_APPLIED,
0)), 2)
FROM ar_receivable_applications_all a
WHERE a.APPLIED_PAYMENT_SCHEDULE_ID =
ps.PAYMENT_SCHEDULE_ID
AND a.DISPLAY = 'Y'
AND TRUNC (a.GL_DATE) BETWEEN
:p_from_date
AND :p_to_date
GROUP BY a.APPLIED_PAYMENT_SCHEDULE_ID)
ar_fcy_amt_due
/*,(case when (trunc(sysdate) - trunc(ps.GL_DATE))
<=0 then ps.acctd_amount_due_remaining
else 0 end ) Current_bal
,(case when (trunc(sysdate) - trunc(ps.GL_DATE))
between 1 and 30 then ps.acctd_amount_due_remaining
else 0 end ) One_30_Days_Past_Due ---1-30
,(case when (trunc(sysdate) - trunc(ps.GL_DATE))
between 31 and 60 then ps.acctd_amount_due_remaining
else 0 end ) ThirtyOne_60_Days_Past_Due ---31-60
,(case when (trunc(sysdate) - trunc(ps.GL_DATE))
between 61 and 90 then ps.acctd_amount_due_remaining
else 0 end ) One_90_Days_Past_Due,
(case when (trunc(sysdate) - trunc(ps.GL_DATE))
between 91 and 120 then ps.acctd_amount_due_remaining
else 0 end ) One_120_Days_Past_Due,
(case when (trunc(sysdate) - trunc(ps.GL_DATE))
between 121 and 150 then ps.acctd_amount_due_remaining
else 0 end ) One_150_Days_Past_Due,
(case when (trunc(sysdate) - trunc(ps.GL_DATE))
between 151 and 180 then ps.acctd_amount_due_remaining
else 0 end ) One_180_Days_Past_Due,
(case when (trunc(sysdate) - trunc(ps.GL_DATE)) >
180 then ps.acctd_amount_due_remaining
else 0 end ) more_than_180_Days_Past_Due*/
FROM apps.ar_payment_schedules_all ps,
apps.hz_cust_accounts hca,
apps.hz_parties hp--,apps.ar_collectors acl
,
apps.ra_customer_trx_all cta,
apps.ra_cust_trx_types_all rctt,
hr_organization_units_v hou
--ar_receivable_applications_all ara
WHERE hca.cust_account_id = ps.CUSTOMER_ID
AND ps.CUSTOMER_TRX_ID = cta.CUSTOMER_TRX_ID
--AND
ara.APPLIED_CUSTOMER_TRX_ID=ps.CUSTOMER_TRX_ID
--AND ara.DISPLAY='Y'
AND cta.cust_trx_type_id = rctt.cust_trx_type_id
--AND (ps.status = 'OP' or(ps.STATUS='CL' and
ps.GL_DATE_CLOSED < :p_to_date))
AND ps.class <> 'PMT'
AND ps.CLASS = NVL (:p_class, ps.CLASS)
AND ps.CLASS IN ('INV', 'DM')
--AND ps.customer_id > 0
--AND ps.AMOUNT_DUE_REMAINING <> 0
--AND trunc(ps.GL_DATE) < trunc(sysdate)
AND cta.INVOICE_CURRENCY_CODE <> 'INR'
AND hou.ORGANIZATION_ID = cta.ORG_ID
AND cta.ORG_ID = NVL (:p_org_id, cta.ORG_ID)
AND hp.PARTY_ID = hca.PARTY_ID
--AND hp.PARTY_NAME='Tea Promotors Export Pvt.
Ltd.'
AND ps.INVOICE_CURRENCY_CODE <> 'INR'
AND rctt.ORG_ID = cta.ORG_ID
AND ps.AMOUNT_ADJUSTED IS NULL -- added on
10jul2012
--AND cta.TRX_NUMBER='511120003'
--AND trunc(ps.DUE_DATE) between
nvl(:p_from_date,trunc(ps.DUE_DATE)) and
nvl(:p_to_date,trunc(ps.DUE_DATE))
--AND trunc(ps.GL_DATE) between
nvl(:p_from_date,trunc(ps.GL_DATE)) and
nvl(:p_to_date,trunc(ps.GL_DATE)
AND TRUNC (ps.GL_DATE) BETWEEN NVL (:p_from_date,
TRUNC
(ps.GL_DATE))
AND NVL (:p_to_date,
TRUNC
(ps.GL_DATE))) AR_TAB
--AND AR_TAB.Amount_Remaining_INR <>0
WHERE (NVL (AR_TAB.INR_AMT, 0) - NVL
(AR_TAB.ar_acctd_amt_due, 0)) <>
0
UNION ALL /*For credit
Memo*/
SELECT AR_TAB.account_number,
AR_TAB.party_name,
AR_TAB.customer_trx_id,
AR_TAB.Trans_Type,
AR_TAB.trans_type_name,
AR_TAB.cust_trx_type_id,
AR_TAB.invoice_currency_code,
AR_TAB.location_code,
AR_TAB.trx_num,
AR_TAB.Trans_Date,
AR_TAB.gl_date,
AR_TAB.Due_Date,
AR_TAB.Fcy_Amt,
AR_TAB.Inr_Amt,
AR_TAB.exchange_rate,
AR_TAB.amount_due_remaining_FCY,
AR_TAB.Amount_Remaining_INR,
NVL (AR_TAB.ar_acctd_amt_due, 0) ar_acctd_amt_due,
- ( NVL (ABS (AR_TAB.INR_AMT), 0)
- NVL (ABS (AR_TAB.ar_acctd_amt_due), 0))
outstanding_amount_inr,
- ( NVL (ABS (AR_TAB.Fcy_Amt), 0)
- NVL (AR_TAB.ar_fcy_amt_due, 0))
Outstanding_amount_fcy,
(CASE
WHEN (:p_to_date - TRUNC (AR_TAB.DUE_DATE)) <= 0
THEN
- (ABS (AR_TAB.INR_AMT) - ABS
(AR_TAB.ar_acctd_amt_due))
ELSE
0
END)
Current_bal,
(CASE
WHEN (:p_to_date - TRUNC (AR_TAB.DUE_DATE)) BETWEEN
1 AND 30
THEN
- ( NVL (ABS (AR_TAB.INR_AMT), 0)
- NVL (ABS (AR_TAB.ar_acctd_amt_due), 0))
ELSE
0
END)
One_30_Days_Past_Due
---1-30
,
(CASE
WHEN (:p_to_date - TRUNC (AR_TAB.DUE_DATE)) BETWEEN
31
AND
60
THEN
- ( NVL (ABS (AR_TAB.INR_AMT), 0)
- NVL (ABS (AR_TAB.ar_acctd_amt_due), 0))
ELSE
0
END)
ThirtyOne_60_Days_Past_Due -
--31-60
,
(CASE
WHEN (:p_to_date - TRUNC (AR_TAB.DUE_DATE)) BETWEEN
61
AND
90
THEN
- ( NVL (ABS (AR_TAB.INR_AMT), 0)
- NVL (ABS (AR_TAB.ar_acctd_amt_due), 0))
ELSE
0
END)
One_90_Days_Past_Due,
(CASE
WHEN (:p_to_date - TRUNC (AR_TAB.DUE_DATE)) BETWEEN
91
AND
120
THEN
- ( NVL (ABS (AR_TAB.INR_AMT), 0)
- NVL (ABS (AR_TAB.ar_acctd_amt_due), 0))
ELSE
0
END)
One_120_Days_Past_Due,
(CASE
WHEN (:p_to_date - TRUNC (AR_TAB.DUE_DATE)) BETWEEN
121
AND
150
THEN
- ( NVL (ABS (AR_TAB.INR_AMT), 0)
- NVL (ABS (AR_TAB.ar_acctd_amt_due), 0))
ELSE
0
END)
One_150_Days_Past_Due,
(CASE
WHEN (:p_to_date - TRUNC (AR_TAB.DUE_DATE)) BETWEEN
151
AND
180
THEN
- ( NVL (ABS (AR_TAB.INR_AMT), 0)
- NVL (ABS (AR_TAB.ar_acctd_amt_due), 0))
ELSE
0
END)
One_180_Days_Past_Due,
(CASE
WHEN (:p_to_date - TRUNC (AR_TAB.DUE_DATE)) > 180
THEN
- ( NVL (ABS (AR_TAB.INR_AMT), 0)
- NVL (ABS (AR_TAB.ar_acctd_amt_due), 0))
ELSE
0
END)
more_than_180_Days_Past_Due
FROM (SELECT hca.account_number account_number,
hp.PARTY_NAME party_name,
cta.CUSTOMER_TRX_ID customer_trx_id--,acl.name
collector_name
,
DECODE (ps.class,
'INV', 'Invoice',
'DM', 'Debit Memo',
'CM', 'Credit Memo')
Trans_Type,
rctt.name trans_type_name,
rctt.CUST_TRX_TYPE_ID cust_trx_type_id,
cta.INVOICE_CURRENCY_CODE
invoice_currency_code,
hou.LOCATION_CODE location_code,
ps.trx_number trx_num,
ps.trx_date Trans_Date,
ps.GL_DATE gl_date,
ps.due_date Due_Date,
ps.AMOUNT_DUE_ORIGINAL Fcy_Amt,
ROUND (
(ps.AMOUNT_DUE_ORIGINAL * NVL
(ps.EXCHANGE_RATE, 1)),
2)
Inr_Amt,
ps.EXCHANGE_RATE exchange_rate,
ps.AMOUNT_DUE_REMAINING
amount_due_remaining_FCY,
ps.acctd_amount_due_remaining
Amount_Remaining_INR,
( SELECT ROUND (
SUM (
NVL (
a.AMOUNT_APPLIED
* NVL (ps.EXCHANGE_RATE, 1),
0)),
2)
FROM ar_receivable_applications_all a
WHERE a.PAYMENT_SCHEDULE_ID =
ps.PAYMENT_SCHEDULE_ID
--
a.APPLIED_CUSTOMER_TRX_ID=ps.CUSTOMER_TRX_ID
AND a.DISPLAY = 'Y'
AND TRUNC (a.GL_DATE) BETWEEN
:p_from_date
AND :p_to_date
GROUP BY a.PAYMENT_SCHEDULE_ID)
ar_acctd_amt_due,
( SELECT ROUND (SUM (NVL (ABS
(a.AMOUNT_APPLIED), 0)),
2)
FROM ar_receivable_applications_all a
WHERE a.PAYMENT_SCHEDULE_ID =
ps.PAYMENT_SCHEDULE_ID
--
a.APPLIED_CUSTOMER_TRX_ID=ps.CUSTOMER_TRX_ID
AND a.DISPLAY = 'Y'
AND TRUNC (a.GL_DATE) BETWEEN
:p_from_date
AND :p_to_date
GROUP BY a.PAYMENT_SCHEDULE_ID)
ar_fcy_amt_due
/*,(case when (trunc(sysdate) - trunc(ps.GL_DATE))
<=0 then ps.acctd_amount_due_remaining
else 0 end ) Current_bal
,(case when (trunc(sysdate) - trunc(ps.GL_DATE))
between 1 and 30 then ps.acctd_amount_due_remaining
else 0 end ) One_30_Days_Past_Due ---1-30
,(case when (trunc(sysdate) - trunc(ps.GL_DATE))
between 31 and 60 then ps.acctd_amount_due_remaining
else 0 end ) ThirtyOne_60_Days_Past_Due ---31-60
,(case when (trunc(sysdate) - trunc(ps.GL_DATE))
between 61 and 90 then ps.acctd_amount_due_remaining
else 0 end ) One_90_Days_Past_Due,
(case when (trunc(sysdate) - trunc(ps.GL_DATE))
between 91 and 120 then ps.acctd_amount_due_remaining
else 0 end ) One_120_Days_Past_Due,
(case when (trunc(sysdate) - trunc(ps.GL_DATE))
between 121 and 150 then ps.acctd_amount_due_remaining
else 0 end ) One_150_Days_Past_Due,
(case when (trunc(sysdate) - trunc(ps.GL_DATE))
between 151 and 180 then ps.acctd_amount_due_remaining
else 0 end ) One_180_Days_Past_Due,
(case when (trunc(sysdate) - trunc(ps.GL_DATE)) >
180 then ps.acctd_amount_due_remaining
else 0 end ) more_than_180_Days_Past_Due*/
FROM apps.ar_payment_schedules_all ps,
apps.hz_cust_accounts hca,
apps.hz_parties hp--,apps.ar_collectors acl
,
apps.ra_customer_trx_all cta,
apps.ra_cust_trx_types_all rctt,
hr_organization_units_v hou
--ar_receivable_applications_all ara
WHERE hca.cust_account_id = ps.CUSTOMER_ID
AND ps.CUSTOMER_TRX_ID = cta.CUSTOMER_TRX_ID
--AND
ara.APPLIED_CUSTOMER_TRX_ID=ps.CUSTOMER_TRX_ID
--AND ara.DISPLAY='Y'
AND cta.cust_trx_type_id = rctt.cust_trx_type_id
--AND (ps.status = 'OP' or(ps.STATUS='CL' and
ps.GL_DATE_CLOSED < :p_to_date))
AND ps.class <> 'PMT'
AND ps.CLASS = NVL (:p_class, ps.CLASS)
AND ps.CLASS IN ('CM')
--AND ps.customer_id > 0
--AND ps.AMOUNT_DUE_REMAINING <> 0
--AND trunc(ps.GL_DATE) < trunc(sysdate)
AND cta.INVOICE_CURRENCY_CODE <> 'INR'
AND hou.ORGANIZATION_ID = cta.ORG_ID
AND cta.ORG_ID = NVL (:p_org_id, cta.ORG_ID)
AND hp.PARTY_ID = hca.PARTY_ID
--AND hp.PARTY_NAME='Tea Promotors Export Pvt.
Ltd.'
AND ps.INVOICE_CURRENCY_CODE <> 'INR'
AND rctt.ORG_ID = cta.ORG_ID
AND ps.AMOUNT_ADJUSTED IS NULL -- added on
10jul2012
--AND cta.TRX_NUMBER='511120003'
--AND trunc(ps.DUE_DATE) between
nvl(:p_from_date,trunc(ps.DUE_DATE)) and
nvl(:p_to_date,trunc(ps.DUE_DATE))
--AND trunc(ps.GL_DATE) between
nvl(:p_from_date,trunc(ps.GL_DATE)) and
nvl(:p_to_date,trunc(ps.GL_DATE)
AND TRUNC (ps.GL_DATE) BETWEEN NVL (:p_from_date,
TRUNC
(ps.GL_DATE))
AND NVL (:p_to_date,
TRUNC
(ps.GL_DATE))) AR_TAB
--AND AR_TAB.Amount_Remaining_INR <>0
WHERE ( NVL (ABS (AR_TAB.INR_AMT), 0)
- NVL (ABS (AR_TAB.ar_acctd_amt_due), 0)) <> 0)
MAIN_TAB
where trx_num = '20171126'
ORDER BY MAIN_TAB.PARTY_NAME ASC;