Oracle EBS 应收账龄取数SQL
生活随笔
收集整理的這篇文章主要介紹了
Oracle EBS 应收账龄取数SQL
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?取值來源與總賬
SELECT decode(gcc.segment5, '0', gcc.segment6, gcc.segment5) cus_code,gcc.segment3,trunc(nvl(to_date(gjl.attribute4, 'RRRR/MM/DD HH24:MI:SS'),gjh.default_effective_date)) act_date,trunc(to_date('2019-01-31 23:59:59', 'RRRR/MM/DD HH24:MI:SS')) -trunc(nvl(to_date(gjl.attribute4, 'RRRR/MM/DD HH24:MI:SS'),gjh.default_effective_date)) + 1 days,SUM(decode(sign(to_date('2019-01-01 00:00:00','RRRR/MM/DD HH24:MI:SS') -trunc(gjl.effective_date)),1,(nvl(gjl.entered_dr, 0) - nvl(gjl.entered_cr, 0)),0)) year_begin,SUM(decode(sign(to_date('2019-01-01 00:00:00','RRRR/MM/DD HH24:MI:SS') -trunc(gjl.effective_date)),1,(nvl(gjl.entered_dr, 0) - nvl(gjl.entered_cr, 0)),0)) period_begin,SUM(CASEWHEN to_date('2019-01-01 00:00:00', 'RRRR/MM/DD HH24:MI:SS') <=trunc(gjl.effective_date) ANDtrunc(gjl.effective_date) <=to_date('2019-01-31 23:59:59', 'RRRR/MM/DD HH24:MI:SS') THENnvl(gjl.entered_dr, 0)ELSE0END) period_dr,SUM(CASEWHEN to_date('2019-01-01 00:00:00', 'RRRR/MM/DD HH24:MI:SS') <=trunc(gjl.effective_date) ANDtrunc(gjl.effective_date) <=to_date('2019-01-31 23:59:59', 'RRRR/MM/DD HH24:MI:SS') THENnvl(gjl.entered_cr, 0)ELSE0END) period_cr,SUM(decode(sign(to_date('2019-01-01 00:00:00','RRRR/MM/DD HH24:MI:SS') -trunc(gjl.effective_date)),1,0,(nvl(gjl.entered_dr, 0) - nvl(gjl.entered_cr, 0)))) period_net,SUM((nvl(gjl.entered_dr, 0) - nvl(gjl.entered_cr, 0))) amountFROM gl_je_headers gjh, gl_je_lines gjl, gl_code_combinations gccWHERE gjh.ledger_id = 2021AND gjh.currency_code = 'CNY'AND gjh.je_header_id = gjl.je_header_idAND gjl.status = 'P'AND gcc.summary_flag <> 'Y'AND gjl.code_combination_id = gcc.code_combination_idAND trunc(nvl(to_date(gjl.attribute4, 'RRRR/MM/DD HH24:MI:SS'),gjh.default_effective_date)) <=to_date('2019-01-31 23:59:59', 'RRRR/MM/DD HH24:MI:SS')AND gjh.default_effective_date <=to_date('2019-01-31 23:59:59', 'RRRR/MM/DD HH24:MI:SS')AND substr(gcc.segment3, 1, 4) = '1122'GROUP BY gcc.segment5,gcc.segment6,gcc.segment3,trunc(nvl(to_date(gjl.attribute4, 'RRRR/MM/DD HH24:MI:SS'),gjh.default_effective_date))? 根據定義的模板取值
SELECT cus.*FROM (SELECT dt.cus_code, dt.segment3,(SELECT ffv.descriptionFROM fnd_flex_values_vl ffv, fnd_flex_value_sets ffvsWHERE ffv.flex_value_set_id = ffvs.flex_value_set_idAND ffvs.flex_value_set_name = '%%_COA_ACC'AND ffv.flex_value = dt.segment3) segment3_desc, dt.cus_name,dt.days_start,dt.aging_bucket_line_id,dt.amount,SUM(dt.year_begin) over(PARTITION BY dt.cus_code, dt.segment3) year_begin_bal,SUM(dt.period_begin) over(PARTITION BY dt.cus_code, dt.segment3) period_begin_bal,SUM(dt.period_dr) over(PARTITION BY dt.cus_code, dt.segment3) period_dr,SUM(dt.period_cr) over(PARTITION BY dt.cus_code, dt.segment3) period_cr,SUM(dt.period_net) over(PARTITION BY dt.cus_code, dt.segment3) period_amount,SUM(dt.amount) over(PARTITION BY dt.cus_code, dt.segment3) sum_amountFROM (SELECT tnt.cus_code,tnt.segment3,afa_ar_book_age_pkg.get_company_name(tnt.cus_code) cus_name,aabl.aging_bucket_line_id,aabl.days_start,SUM(tnt.year_begin) year_begin,SUM(tnt.period_begin) period_begin,SUM(tnt.period_dr) period_dr,SUM(tnt.period_cr) period_cr,SUM(tnt.period_net) period_net,SUM(tnt.amount) amountFROM (SELECT decode(gcc.segment5, '0', gcc.segment6, gcc.segment5) cus_code,gcc.segment3,trunc(nvl(to_date(gjl.attribute4,'RRRR/MM/DD HH24:MI:SS'),gjh.default_effective_date)) act_date,trunc(to_date('2019-01-31 23:59:59','RRRR/MM/DD HH24:MI:SS')) - trunc(nvl(to_date(gjl.attribute4,'RRRR/MM/DD HH24:MI:SS'),gjh.default_effective_date)) + 1 days,SUM(decode(sign(to_date('2019-01-01 00:00:00','RRRR/MM/DD HH24:MI:SS') -trunc(gjl.effective_date)),1,(nvl(gjl.entered_dr, 0) -nvl(gjl.entered_cr, 0)),0)) year_begin,SUM(decode(sign(to_date('2019-01-01 00:00:00','RRRR/MM/DD HH24:MI:SS') -trunc(gjl.effective_date)),1,(nvl(gjl.entered_dr, 0) -nvl(gjl.entered_cr, 0)),0)) period_begin,SUM(CASEWHEN to_date('2019-01-01 00:00:00','RRRR/MM/DD HH24:MI:SS') <=trunc(gjl.effective_date) ANDtrunc(gjl.effective_date) <=to_date('2019-01-31 23:59:59','RRRR/MM/DD HH24:MI:SS') THENnvl(gjl.entered_dr, 0)ELSE0END) period_dr,SUM(CASEWHEN to_date('2019-01-01 00:00:00','RRRR/MM/DD HH24:MI:SS') <=trunc(gjl.effective_date) ANDtrunc(gjl.effective_date) <=to_date('2019-01-31 23:59:59','RRRR/MM/DD HH24:MI:SS') THENnvl(gjl.entered_cr, 0)ELSE0END) period_cr,SUM(decode(sign(to_date('2019-01-01 00:00:00','RRRR/MM/DD HH24:MI:SS') -trunc(gjl.effective_date)),1,0,(nvl(gjl.entered_dr, 0) -nvl(gjl.entered_cr, 0)))) period_net,SUM((nvl(gjl.entered_dr, 0) - nvl(gjl.entered_cr, 0))) amountFROM gl_je_headers gjh,gl_je_lines gjl,gl_code_combinations gccWHERE gjh.ledger_id = 2021AND gjh.currency_code = 'CNY'AND gjh.je_header_id = gjl.je_header_idAND gjl.status = 'P'AND gcc.summary_flag <> 'Y'AND gjl.code_combination_id =gcc.code_combination_idAND trunc(nvl(to_date(gjl.attribute4,'RRRR/MM/DD HH24:MI:SS'),gjh.default_effective_date)) <=to_date('2019-01-31 23:59:59','RRRR/MM/DD HH24:MI:SS')AND gjh.default_effective_date <=to_date('2019-01-31 23:59:59','RRRR/MM/DD HH24:MI:SS') AND substr(gcc.segment3, 1, 4) = '1122'GROUP BY gcc.segment5,gcc.segment6,gcc.segment3,trunc(nvl(to_date(gjl.attribute4,'RRRR/MM/DD HH24:MI:SS'),gjh.default_effective_date))) tnt,ar_aging_bucket_lines_b aablWHERE tnt.days BETWEEN aabl.days_start AND aabl.days_toAND aabl.aging_bucket_id = 1AND (aabl.type <> 'CURRENT')GROUP BY tnt.cus_code,tnt.segment3,aabl.aging_bucket_line_id,aabl.days_start) dt) cusWHERE (cus.year_begin_bal != 0 OR cus.period_begin_bal != 0 ORcus.period_amount != 0 OR cus.sum_amount != 0)ORDER BY segment3, cus_code, days_start;?
總結
以上是生活随笔為你收集整理的Oracle EBS 应收账龄取数SQL的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ios 有很多种cell时的写法 以及
- 下一篇: 存货账龄分析报表(上)