--------------CH集团帐龄报表  CH_ARAGINGNEW
#1
CREATE OR REPLACE VIEW AR_TEMP_V ( CUSTOMER_NUMBER,
CUSTOMER_NAME, CONTRACT_NUMBER, CATEGORY, REMARK_1,
REMARK_2, UPDATE_DATE, DEP_DATE, LAST_UPDATE_DATE,
AREA, AREA1, AREA2, HEADER_ID,
SALESPERSON, ORG_ID, PAYMENT_SCHEDULE_ID, DUE_DATE,
AMOUNT_DUE_ORIGINAL, AMOUNT_CREDITED, AMOUNT_DUE_REMAINING, STATUS,
INVOICE_CURRENCY_CODE, CLASS, GL_DATE, ARAA_APPLID_AMT
 ) AS select
  rc.customer_number,
  rc.customer_name,
  --rcta.ATTRIBUTE2 contract_no,
  sha.ATTRIBUTE2 contract_number,
  --rcta.TRX_NUMBER,
  rcta.ATTRIBUTE13 category,
  rcta.ATTRIBUTE12 remark_1,
  rcta.ATTRIBUTE11 remark_2,
  rcta.ATTRIBUTE10 update_date,
  dep.dep_date,
  --ARPT_SQL_FUNC_UTIL.GET_FIRST_REAL_DUE_DATE(rcta.CUSTOMER_TRX_ID, rcta.TERM_ID, rcta.TRX_DATE) term_due_date,
  --rcta.TRX_DATE
  rt.LAST_UPDATE_DATE,
  raa.attribute2 area,
  raa.attribute4 area1,
  raa.attribute5 area2,
  sha.header_id,
  rsa.NAME salesperson,
  apsa.org_id,
  apsa.PAYMENT_SCHEDULE_ID,
  apsa.DUE_DATE,
  apsa.AMOUNT_DUE_ORIGINAL+nvl(apsa.AMOUNT_CREDITED,0)  AMOUNT_DUE_ORIGINAL,
  nvl(apsa.AMOUNT_CREDITED,0) AMOUNT_CREDITED,
  apsa.AMOUNT_DUE_REMAINING,
  apsa.STATUS,
  apsa.INVOICE_CURRENCY_CODE,
  apsa.CLASS,
  apsa.gl_date,
  nvl(app.araa_applid_amt,0) araa_applid_amt
from
  ar.ar_payment_schedules_all apsa,
  ar.ra_customers rc,
  ar.ra_customer_trx_all rcta,
  oe.so_headers_all sha,
  ar.RA_ADDRESSES_ALL raa,
  ar.ra_site_uses_all rsua,
  (select sha1.ATTRIBUTE2 attr2,max(rt1.LAST_UPDATE_DATE) LAST_UPDATE_DATE
   from ar.ra_terms rt1,oe.so_headers_all sha1
   where sha1.terms_id=rt1.term_id(+) 
   group by sha1.ATTRIBUTE2) rt,
  ar.ra_salesreps_all rsa,
  (select
     sum(decode(araa.APPLICATION_TYPE,'CASH',araa.AMOUNT_APPLIED,decode(araa.CUSTOMER_TRX_ID,null,araa.AMOUNT_APPLIED,0))) araa_applid_amt,
     araa.APPLIED_PAYMENT_SCHEDULE_ID,
     ARAA.ORG_ID  araa_org_id
   from
     ar.ar_receivable_applications_all araa
   where
     araa.DISPLAY='Y'
     AND araa.STATUS='APP'
     and araa.gl_DATE<=nvl(sysdate,sysdate)+1
   group by  araa.APPLIED_PAYMENT_SCHEDULE_ID,ARAA.ORG_ID  ) app,
   (select
  org_id,
  header_id,
  max(ACTUAL_DEPARTURE_DATE) dep_date
from
  apps.ch_oracleso_serial_v
  group by org_id,header_id) dep
where
  apsa.customer_id=rc.customer_id and
  apsa.org_id=rcta.org_id and
  apsa.customer_trx_id=rcta.customer_trx_id and
  rcta.org_id=sha.org_id(+) and
  rcta.interface_header_attribute1=to_char(sha.order_number(+)) and
  sha.org_id=raa.org_id(+) and
  sha.customer_id=raa.customer_id(+) and
  sha.org_id=rsua.org_id(+) and
  sha.INVOICE_TO_SITE_USE_ID=rsua.SITE_USE_ID(+) and
  sha.ATTRIBUTE2=rt.ATTR2(+) and
 
  nvl(rsua.ADDRESS_ID,-1)=nvl(raa.ADDRESS_ID,-1) and
  rsua.SITE_USE_CODE(+)='BILL_TO' and
  sha.org_id=rsa.org_id(+) and
  sha.salesrep_id=rsa.salesrep_id(+) and
  apsa.PAYMENT_SCHEDULE_ID=app.APPLIED_PAYMENT_SCHEDULE_ID(+) and
  apsa.org_id=app.araa_org_id(+) and
  apsa.AMOUNT_DUE_ORIGINAL>0 and
  apsa.AMOUNT_DUE_ORIGINAL+nvl(apsa.AMOUNT_CREDITED,0) <>0 and
  apsa.gl_date<=nvl(sysdate,sysdate)+1  and 
  sha.org_id=dep.org_id  and 
  sha.header_id=dep.header_id

---------------
#2

CREATE OR REPLACE FUNCTION  ar_temp_f(
                        P_org_id      in number,
                        P_contract      in varchar2
                       )
                 return number IS

V_amount         number DEFAULT NULL;

BEGIN
       select
       sum(round((((nvl(sla.ordered_quantity,0)-nvl(sla.cancelled_quantity,0))
  *nvl(sla.selling_price,0))*(1+nvl(decode(avta.AMOUNT_INCLUDES_TAX_FLAG,'Y',0,avta.tax_rate),0)/100)),2))
  into v_amount
  from oe.so_headers_all sha,oe.so_lines_all sla,
       ar.ar_vat_tax_all avta
  where sha.header_id=sla.header_id
  and  sla.ORDERED_QUANTITY-nvl(sla.CANCELLED_QUANTITY,0)>0
   and  sla.org_id=avta.org_id(+)
   and   sla.tax_code=avta.tax_code(+)
   and sha.org_id=P_ORG_ID
  and sha.ORDER_CATEGORY='R'
  and nvl(avta.END_DATE,sysdate+1)>sysdate
and  not exists
     (select 'x'    from oe.so_headers_all sha1,oe.so_lines_all sla1
    where  sha1.header_id=sla1.header_id
       and sha1.org_id=sla1.org_id
       and sla1.ORDERED_QUANTITY-nvl(sla1.CANCELLED_QUANTITY,0)>0
       and sha1.ORDER_CATEGORY='RMA'
       and sla1.org_id=sha.org_id
        and sla1.RETURN_REFERENCE_ID=sla.line_id)
  and sha.attribute2=p_contract
  group by sha.attribute2;
  return(V_amount);
  exception
    when others then
     RETURN(NULL);
 end ar_temp_f;
/
------------------------------------------
#3
select contract_number,
  remark_1,
  update_date,
  dep_date,
  category,
  remark_2,
 min(due_date),
  area,
  area2,
  salesperson,
  customer_number,
  customer_name,
 ar_temp_f(org_id,contract_number) contract_amount,
 sum(decode(sign(0-(trunc(sysdate)-trunc(due_date))),1 ,amount_due_original-nvl(araa_applid_amt,0),null)) 小于0天,
 sum(decode(sign(1-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(30-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))) as 小于31天,
 sum(decode(sign(31-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(60-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))) as 小于61天,
 sum(decode(sign(61-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(90-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))) as 小于91天,
 sum(decode(sign(91-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(180-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))) as 小于181天,
 sum(decode(sign(181-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(270-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))) as 小于271天,
 sum(decode(sign(271-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(365-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))) as 小于366天,
 sum(decode(sign(366-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(547-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))) as 小于1年半,
 sum(decode(sign(548-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(730-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))) as 小于2年,
 sum(decode(sign(731-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(1095-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))) as 小于3年,
 sum(decode(sign(1096-(trunc(sysdate)-trunc(due_date))),-1 ,amount_due_original-nvl(araa_applid_amt,0),null)) 大于3年
  from ar_temp_v
  where org_id=439 and contract_number='CH2008/0854' --and amount_due_original>nvl(araa_applid_amt,0)
  group by
   contract_number,
  remark_1,
  update_date,
  dep_date,
  category,
  remark_2,
  area,
  area2,
  salesperson,
  customer_number,
  customer_name,
  ar_temp_f(org_id,contract_number)
---------------------------------------
#

select contract_number 合同号,
  remark_1 合同条款,
  update_date 更新日期,
  dep_date 出机日期,
  category 分类状态,
  remark_2 逾期原因,
 min(due_date) 到款日期,
  area 区域,
  area2 办事处,
  salesperson 销售员,
  customer_number 客户编号,
  customer_name 客户名称,
 ar_temp_f(org_id,contract_number) 合同金额,
 (nvl(sum(decode(sign(0-(trunc(sysdate)-trunc(due_date))),1 ,amount_due_original-nvl(araa_applid_amt,0),null)),0) +
nvl(sum(decode(sign(1-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(30-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))),0)+
nvl(sum(decode(sign(31-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(60-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))),0)+
nvl(sum(decode(sign(61-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(90-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))),0) +
nvl(sum(decode(sign(91-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(180-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))),0) +
nvl(sum(decode(sign(181-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(270-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))),0)+
nvl(sum(decode(sign(271-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(365-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))),0)+
nvl(sum(decode(sign(366-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(547-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))),0) +
nvl(sum(decode(sign(548-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(730-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))),0) +
nvl(sum(decode(sign(731-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(1095-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))),0) +
nvl(sum(decode(sign(1096-(trunc(sysdate)-trunc(due_date))),-1 ,amount_due_original-nvl(araa_applid_amt,0),null)),0)
) 至今尚欠金额
 sum(decode(sign(0-(trunc(sysdate)-trunc(due_date))),1 ,amount_due_original-nvl(araa_applid_amt,0),null)) 未逾期金额,
 (
nvl(sum(decode(sign(1-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(30-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))),0)+
nvl(sum(decode(sign(31-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(60-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))),0)+
nvl(sum(decode(sign(61-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(90-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))),0) +
nvl(sum(decode(sign(91-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(180-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))),0) +
nvl(sum(decode(sign(181-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(270-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))),0)+
nvl(sum(decode(sign(271-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(365-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))),0)+
nvl(sum(decode(sign(366-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(547-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))),0) +
nvl(sum(decode(sign(548-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(730-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))),0) +
nvl(sum(decode(sign(731-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(1095-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))),0) +
nvl(sum(decode(sign(1096-(trunc(sysdate)-trunc(due_date))),-1 ,amount_due_original-nvl(araa_applid_amt,0),null)),0)
) 逾期金额
 sum(decode(sign(1-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(30-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))) as 小于31天,
 sum(decode(sign(31-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(60-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))) as 小于61天,
 sum(decode(sign(61-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(90-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))) as 小于91天,
 sum(decode(sign(91-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(180-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))) as 小于181天,
 sum(decode(sign(181-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(270-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))) as 小于271天,
 sum(decode(sign(271-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(365-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))) as 小于366天,
 sum(decode(sign(366-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(547-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))) as 小于1年半,
 sum(decode(sign(548-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(730-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))) as 小于2年,
 sum(decode(sign(731-(trunc(sysdate)-trunc(due_date))),1,null,decode(sign(1095-(trunc(sysdate)-trunc(due_date))),1,amount_due_original-nvl(araa_applid_amt,0),null))) as 小于3年,
 sum(decode(sign(1096-(trunc(sysdate)-trunc(due_date))),-1 ,amount_due_original-nvl(araa_applid_amt,0),null)) 大于3年
  from ar_temp_v
  where org_id=439 --and contract_number='CH2008/0854' --and amount_due_original>nvl(araa_applid_amt,0)
  group by
   contract_number,
  remark_1,
  update_date,
  dep_date,
  category,
  remark_2,
  area,
  area2,
  salesperson,
  customer_number,
  customer_name,
  ar_temp_f(org_id,contract_number)

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12122734/viewspace-481893/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12122734/viewspace-481893/

view \function\行转列的方法。相关推荐

  1. pandas 选取第一行_用pandas中的DataFrame时选取行或列的方法

    如下所示: import numpy as np import pandas as pd from pandas import Sereis, DataFrame ser = Series(np.ar ...

  2. python怎么选取不连续的列_用pandas中的DataFrame时选取行或列的方法

    如下所示: import numpy as np import pandas as pd from pandas import Sereis, DataFrame ser = Series(np.ar ...

  3. excel根据条件列转行_“Excel怎样将列转为行 Excel列转行方法“excel有条件转置

    EXCEL中如何将大量竖列数据一次性转为横行.如图. 很简单就可实现,用QQ说吧..87017761打字很麻烦.. Excel怎样将列转为行 Excel列转行方法 目标:将一列数转数据,比如将A列数据 ...

  4. SAP:FMALV转OOALV函数及多行多列实现方法

    ALV多选行.多选列的实现方法: 一.展示方式: 1.function-ALV: 首先在ALV要显示数据的内表里,添加一个字段(假设字段名是:SEL),然后设置layout的属性box_fieldna ...

  5. C# DataTable 行转列通用方法

    废话不多说,直接上代码,别问我代码是谁,为什么要上它?(注意,转发或者引用我的代码的,请标明出处连接,否则菊花难保!) 下面举两个列子的数据,如下代码所示 DataTable CreateDt1() ...

  6. MySQL 行转列的方法

    建表 CREATE TABLE `score` (`Id` int(11) NOT NULL AUTO_INCREMENT,`UserName` varchar(50) DEFAULT NULL,`S ...

  7. oracle行转列处理方法,oracle行转列解决办法

    oracle行转列 Cust prod 1       A 1       B 1       C 2       A 2       B Return Cust     Prod1     Prod ...

  8. 实现获取鼠标在QtableView上的几行几列的方法

    1 在Qt 设计师中右键QTableView槽函数,选中entered. 2 在构造函数中写上 ui->tableView->setMouseTracking(true);这样就可以获得Q ...

  9. VBA中用range来循环行、列的方法

    range 的用法 1. Range("A1:B10") 这个用于选则一片区域,当行为变量时可以用 range("A" & i & " ...

最新文章

  1. 新建ROS工作工作空间
  2. 脉讯发布“社群搜索工具” 助企业精准洞察消费者需求
  3. idea控制台输出乱码
  4. 印度市场,圆不了二线国产手机的美梦
  5. Python小白的数学建模课-B3. 新冠疫情 SIS模型
  6. 用计算路由的方法优化BI后台性能
  7. Linux sudo 被曝提权漏洞,任意用户均能以 root 身份运行命令
  8. 收藏!本、硕、博、程序员必备神器
  9. 陈希孺《概率论与数理统计》读书笔记
  10. [逆向]汇编movs,stos,rep指令讲解
  11. ChemDraw怎样输入大括符?
  12. Ubuntu上安装QQ,无法显示图片和头像
  13. 2017.03.24回顾 归一化 标准化 R2 date_format 共线性 系数检验 决策树
  14. 计算机清理方法,电脑清理方法 电脑要如何清理
  15. 洛谷题解——P1873:砍树
  16. h5新API=>IntersectionObserver
  17. 浅谈信息安全的职业发展方向规划(乙方安全公司篇)
  18. prusai3打印机使用教程_打印虎原创RepRapPrusai33D打印机校准图解教程系列之二.pdf...
  19. 1000个微信小程序源码分享
  20. Spring Cloud-Alibaba

热门文章

  1. C# break和continue用法
  2. 关于对接海康设备的坑
  3. 简单的类实现接口的方法
  4. html keyframes无效,CSS Module解决全局或本地使用@keyframes无效问题
  5. indexedDB(三)查询(详细)篇
  6. Hive 3.1.2Linux CentOs 安装,踩坑 Dbeaver 连接Hive
  7. 区域卫生平台用户分析
  8. scp拷贝文件报错-bash: scp: command not found
  9. UltraEdit 15.10注册码
  10. 在查找预编译头时遇到意外的文件结尾 是否忘记了向源中添加 include StdAfx h