New Aging
New Aging
-- CUSTOMER_ID ,
CUSTOMER_NUMBER ,
CUSTOMER_NAME ,
TRANSACTION_TYPE ,
-- TRX_DATE ,
-- TRX_DATE_DUE_DAYS ,
-- INTERFACE_HEADER_ATTRIBUTE1 ,
-- INTERFACE_HEADER_ATTRIBUTE5 ,
-- AGE ,
SUM (CASE WHEN PERIOD_SEQUENCE_NUM = 1 THEN REMAINING_AMOUNT END)
Current_bal ,
SUM (CASE WHEN PERIOD_SEQUENCE_NUM = 2 THEN REMAINING_AMOUNT END) period1,
SUM (CASE WHEN PERIOD_SEQUENCE_NUM = 3 THEN REMAINING_AMOUNT END) period2 ,
SUM (CASE WHEN PERIOD_SEQUENCE_NUM = 4 THEN REMAINING_AMOUNT END) period3,
SUM (CASE WHEN PERIOD_SEQUENCE_NUM = 5 THEN REMAINING_AMOUNT END) period4,
SUM (CASE WHEN PERIOD_SEQUENCE_NUM = 6 THEN REMAINING_AMOUNT END) period5,
SUM (CASE WHEN PERIOD_SEQUENCE_NUM = 7 THEN REMAINING_AMOUNT END) period6,
SUM (CASE WHEN PERIOD_SEQUENCE_NUM = 8 THEN REMAINING_AMOUNT END) period7,
SUM (CASE WHEN PERIOD_SEQUENCE_NUM = 9 THEN REMAINING_AMOUNT END) period8,
SUM (CASE WHEN PERIOD_SEQUENCE_NUM = 10 THEN REMAINING_AMOUNT END) period9,
SUM (CASE WHEN PERIOD_SEQUENCE_NUM = 11 THEN REMAINING_AMOUNT END) period10,
SUM (CASE WHEN PERIOD_SEQUENCE_NUM = 12 THEN REMAINING_AMOUNT END) period11,
SUM (CASE WHEN PERIOD_SEQUENCE_NUM = 13 THEN REMAINING_AMOUNT END) period12,
SUM (CASE WHEN PERIOD_SEQUENCE_NUM = 14 THEN REMAINING_AMOUNT END) period13,
SUM (REMAINING_AMOUNT) REMAINING_AMOUNT
FROM
(
SELECT DISTINCT
TRX_PAY.PAYMENT_SCHEDULE_ID,
CUST.CUSTOMER_ID,
CUST.CUSTOMER_NUMBER,
CUST.CUSTOMER_NAME,
LV.MEANING TRANSACTION_TYPE,
TRX.TRX_NUMBER,
TRX.TRX_DATE,
TRX.TRX_DATE + NVL (RTL.DUE_DAYS, 0) TRX_DATE_DUE_DAYS,
TRX.INTERFACE_HEADER_ATTRIBUTE1,
TRX.INTERFACE_HEADER_ATTRIBUTE5,
( TO_DATE (SYSDATE, 'dd-mm-rrrr')
- (TO_DATE (TRX.TRX_DATE, 'dd-mm-rrrr') + NVL (RTL.DUE_DAYS, 0)))
AGE,
/* DECODE (NVL (TRX_PAY.AMOUNT_DUE_REMAINING, 0),
0, TRX_PAY.AMOUNT_DUE_ORIGINAL,
TRX_PAY.AMOUNT_DUE_REMAINING)*/
NVL (TRX_PAY.AMOUNT_DUE_REMAINING, 0)
REMAINING_AMOUNT,
AAPL.BUCKET_SEQUENCE_NUM PERIOD_SEQUENCE_NUM,
AAPL.REPORT_HEADING1
FROM RA_CUSTOMER_TRX_ALL TRX,
AR_CUSTOMERS CUST,
RA_CUST_TRX_TYPES_ALL TRX_TYPES,
AR_PAYMENT_SCHEDULES_ALL TRX_PAY,
FND_LOOKUP_VALUES LV,
RA_TERMS_LINES RTL,
AR_AGING_BUCKET_LINES_VL AAPL,
AR_AGING_BUCKETS AAP,
( SELECT CUSTOMER_TRX_ID,
SUM (NVL (QUANTITY_INVOICED, 0) * NVL (UNIT_SELLING_PRICE, 0))
TOTAL_AMOUNT
FROM RA_CUSTOMER_TRX_LINES_ALL TRX_LINES
GROUP BY CUSTOMER_TRX_ID) TRX_LINES,
(SELECT COMB.CODE_COMBINATION_ID,
TRX_DIST.CUSTOMER_TRX_ID,
COMB.SEGMENT3 REV_COMB
FROM RA_CUST_TRX_LINE_GL_DIST_ALL TRX_DIST,
GL_CODE_COMBINATIONS COMB
WHERE TRX_DIST.CODE_COMBINATION_ID = COMB.CODE_COMBINATION_ID
AND TRX_DIST.ACCOUNT_CLASS = 'REV') COST_CENTER,
(SELECT COMB.CODE_COMBINATION_ID,
TRX_DIST.CUSTOMER_TRX_ID,
TRX_DIST.GL_DATE,
COMB.SEGMENT4 REC_ACCOUNT_SEGMENT,
COMB.SEGMENT4 REC_COMB
FROM RA_CUST_TRX_LINE_GL_DIST_ALL TRX_DIST,
GL_CODE_COMBINATIONS COMB
WHERE TRX_DIST.CODE_COMBINATION_ID = COMB.CODE_COMBINATION_ID
AND TRX_DIST.ACCOUNT_CLASS = 'REC') ACCOUNT_LINE
WHERE CUST.CUSTOMER_ID = TRX.SOLD_TO_CUSTOMER_ID
AND TRX_LINES.CUSTOMER_TRX_ID = TRX.CUSTOMER_TRX_ID
AND TRX.CUSTOMER_TRX_ID = COST_CENTER.CUSTOMER_TRX_ID(+)
AND TRX.CUSTOMER_TRX_ID = ACCOUNT_LINE.CUSTOMER_TRX_ID(+)
AND TRX.CUSTOMER_TRX_ID = TRX_PAY.CUSTOMER_TRX_ID
AND TRX.CUST_TRX_TYPE_ID = TRX_TYPES.CUST_TRX_TYPE_ID
AND TRX.TERM_ID = RTL.TERM_ID(+)
AND ( ( ( RTL.SEQUENCE_NUM = (SELECT MAX (SEQUENCE_NUM)
FROM RA_TERMS_LINES
WHERE TERM_ID = TRX.TERM_ID)
AND ( TO_DATE (SYSDATE, 'dd-mm-rrrr')
- ( TO_DATE (TRX.TRX_DATE, 'dd-mm-rrrr')
+ RTL.DUE_DAYS)) BETWEEN AAPL.DAYS_START
AND AAPL.DAYS_TO)
AND TRX.TERM_ID IS NOT NULL)
OR ( TRX.TERM_ID IS NULL
AND AAPL.BUCKET_SEQUENCE_NUM =
(SELECT MIN (X1.BUCKET_SEQUENCE_NUM)
FROM AR_AGING_BUCKET_LINES_VL X1
WHERE X1.AGING_BUCKET_ID = AAPL.AGING_BUCKET_ID)))
AND TRX_TYPES.TYPE = LV.LOOKUP_CODE
AND LV.LANGUAGE = USERENV ('LANG')
AND LV.VIEW_APPLICATION_ID = 222
AND LV.SECURITY_GROUP_ID = 0
AND LOOKUP_TYPE = 'INV/CM'
AND AAPL.AGING_BUCKET_ID = AAP.AGING_BUCKET_ID
AND AAP.BUCKET_NAME = '14 Bucket Aging'--:PERIOD_NAME
AND TO_NUMBER (CUST.CUSTOMER_NUMBER) =
NVL ( :CUST_NUM, TO_NUMBER (CUST.CUSTOMER_NUMBER))
AND TRX_TYPES.TYPE IN ('CM', 'DM', 'INV')
AND TRX_PAY.ACTUAL_DATE_CLOSED > :P_INVOICE_DATE
-- AND 'DETAIL' = :REPORT_STYLE
AND TRX.ORG_ID = TRX_TYPES.ORG_ID
AND TRX_PAY.ORG_ID = TRX.ORG_ID
-- AND TRX.ORG_ID = :ORG_ID
AND (TRX.TRX_DATE <= :P_INVOICE_DATE OR :P_INVOICE_DATE IS NULL)
-- AND (TRX.TERM_DUE_DATE <= :P_INVOICE_DATE OR :P_INVOICE_DATE IS NULL)
UNION ALL
SELECT DISTINCT
TRX_PAY.PAYMENT_SCHEDULE_ID,
CUST.CUSTOMER_ID,
CUST.CUSTOMER_NUMBER,
CUST.CUSTOMER_NAME,
LV.MEANING TRANSACTION_TYPE,
TRX.TRX_NUMBER,
TRX.TRX_DATE,
TRX.TRX_DATE + NVL (RTL.DUE_DAYS, 0),
TRX.INTERFACE_HEADER_ATTRIBUTE1,
TRX.INTERFACE_HEADER_ATTRIBUTE5,
( TO_DATE (SYSDATE, 'dd-mm-rrrr')
- (TO_DATE (TRX.TRX_DATE, 'dd-mm-rrrr') + NVL (RTL.DUE_DAYS, 0)))
AGE,
0 REMAINING_AMOUNT,
AAPL.BUCKET_SEQUENCE_NUM PERIOD_SEQUENCE_NUM,
AAPL.REPORT_HEADING1
FROM RA_CUSTOMER_TRX_ALL TRX,
AR_CUSTOMERS CUST,
RA_CUST_TRX_TYPES_ALL TRX_TYPES,
AR_PAYMENT_SCHEDULES_ALL TRX_PAY,
FND_LOOKUP_VALUES LV,
RA_TERMS_LINES RTL,
AR_AGING_BUCKET_LINES_VL AAPL,
AR_AGING_BUCKETS AAP,
( SELECT CUSTOMER_TRX_ID,
SUM (NVL (QUANTITY_INVOICED, 0) * NVL (UNIT_SELLING_PRICE, 0))
TOTAL_AMOUNT
FROM RA_CUSTOMER_TRX_LINES_ALL TRX_LINES
GROUP BY CUSTOMER_TRX_ID) TRX_LINES,
(SELECT COMB.CODE_COMBINATION_ID,
TRX_DIST.CUSTOMER_TRX_ID,
COMB.SEGMENT3 REV_COMB
FROM RA_CUST_TRX_LINE_GL_DIST_ALL TRX_DIST,
GL_CODE_COMBINATIONS COMB
WHERE TRX_DIST.CODE_COMBINATION_ID = COMB.CODE_COMBINATION_ID
AND TRX_DIST.ACCOUNT_CLASS = 'REV') COST_CENTER,
(SELECT COMB.CODE_COMBINATION_ID,
TRX_DIST.CUSTOMER_TRX_ID,
TRX_DIST.GL_DATE,
COMB.SEGMENT4 REC_ACCOUNT_SEGMENT,
COMB.SEGMENT4 REC_COMB
FROM RA_CUST_TRX_LINE_GL_DIST_ALL TRX_DIST,
GL_CODE_COMBINATIONS COMB
WHERE TRX_DIST.CODE_COMBINATION_ID = COMB.CODE_COMBINATION_ID
AND TRX_DIST.ACCOUNT_CLASS = 'REC') ACCOUNT_LINE
WHERE CUST.CUSTOMER_ID = TRX.SOLD_TO_CUSTOMER_ID
AND TRX_LINES.CUSTOMER_TRX_ID = TRX.CUSTOMER_TRX_ID
AND TRX.CUSTOMER_TRX_ID = COST_CENTER.CUSTOMER_TRX_ID(+)
AND TRX.CUSTOMER_TRX_ID = ACCOUNT_LINE.CUSTOMER_TRX_ID(+)
AND TRX.CUSTOMER_TRX_ID = TRX_PAY.CUSTOMER_TRX_ID
AND TRX.CUST_TRX_TYPE_ID = TRX_TYPES.CUST_TRX_TYPE_ID
AND TRX.TERM_ID = RTL.TERM_ID(+)
AND ( ( ( RTL.SEQUENCE_NUM = (SELECT MAX (SEQUENCE_NUM)
FROM RA_TERMS_LINES
WHERE TERM_ID = TRX.TERM_ID)
AND ( TO_DATE (SYSDATE, 'dd-mm-rrrr')
- ( TO_DATE (TRX.TRX_DATE, 'dd-mm-rrrr')
+ RTL.DUE_DAYS)) NOT BETWEEN AAPL.DAYS_START
AND AAPL.DAYS_TO)
AND TRX.TERM_ID IS NOT NULL)
OR TRX.TERM_ID IS NULL)
AND TRX_TYPES.TYPE = LV.LOOKUP_CODE
AND LV.LANGUAGE = USERENV ('LANG')
AND LV.VIEW_APPLICATION_ID = 222
AND LV.SECURITY_GROUP_ID = 0
AND LOOKUP_TYPE = 'INV/CM'
AND AAPL.AGING_BUCKET_ID = AAP.AGING_BUCKET_ID
AND AAP.BUCKET_NAME = '14 Bucket Aging'--:PERIOD_NAME
AND TO_NUMBER (CUST.CUSTOMER_NUMBER) =
NVL ( :CUST_NUM, TO_NUMBER (CUST.CUSTOMER_NUMBER))
AND TRX_TYPES.TYPE IN ('CM', 'DM', 'INV')
AND TRX_PAY.ACTUAL_DATE_CLOSED > :P_INVOICE_DATE
-- AND 'DETAIL' = :REPORT_STYLE
AND TRX.ORG_ID = TRX_TYPES.ORG_ID
AND TRX_PAY.ORG_ID = TRX.ORG_ID
-- AND TRX.ORG_ID = :ORG_ID
AND (TRX.TRX_DATE <= :P_INVOICE_DATE OR :P_INVOICE_DATE IS NULL)
-- AND (TRX.TERM_DUE_DATE <= :P_INVOICE_DATE OR :P_INVOICE_DATE IS NULL)
ORDER BY 1
)
GROUP BY --PAYMENT_SCHEDULE_ID,
-- CUSTOMER_ID ,
CUSTOMER_NUMBER ,
CUSTOMER_NAME ,
TRANSACTION_TYPE --,
-- TRX_DATE ,
-- TRX_DATE_DUE_DAYS ,
-- INTERFACE_HEADER_ATTRIBUTE1 ,
-- INTERFACE_HEADER_ATTRIBUTE5 ,
-- AGE