0% found this document useful (0 votes)
69 views4 pages

New Aging

The document appears to be an SQL query that is: 1) Selecting customer information such as number, name and transaction type along with current balance and balances for periods 1 through 13. 2) Joining several tables related to customers, transactions, terms and aging to retrieve the necessary data. 3) Grouping the results by customer number, name and transaction type.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
69 views4 pages

New Aging

The document appears to be an SQL query that is: 1) Selecting customer information such as number, name and transaction type along with current balance and balances for periods 1 through 13. 2) Joining several tables related to customers, transactions, terms and aging to retrieve the necessary data. 3) Grouping the results by customer number, name and transaction type.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 4

SELECT DISTINCT --PAYMENT_SCHEDULE_ID,

-- 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

You might also like