首页  ·  知识 ·  生产制造
EBS客户化PL/SQL开发新手注意事项
网友   http://space.itpub.net/22518/viewspace-573050    编辑:德仔   图片来源:网络
1.客户化请求视情况看是否需要设置成不兼容 2.客户化请求视情况看是否需要定义专门并发管理器 3.开发大数据量处理考虑并
1.客户化请求视情况看是否需要设置成不兼容
2.客户化请求视情况看是否需要定义专门并发管理器
3.开发大数据量处理考虑并发处理
4.在WHERE条件中注意字段为空的情况;在WHERE条件中尽量不要用函数,特别是该函数的值是常量;
在视图(view)WHERE条件中尽量不要加函数或者加order by.
5.数组不能在没有赋值的请况下被引用,否则会不报错而莫名其妙退出或者不报错而隐hide难以发现的错误。
比如: a := array(2).qty;
6.循环变量初始化
7.程序写完,要初步优化(有人客户化一个较复杂程序,需要多次用到同一张表,连一个索引都没有创建,客户也能忍受,哭死.......)
8.避免硬编码
9.边写程序边写安装文档
10.函数或者过程的参数类型不要弄错,比如应该是VARCHAR2,但写成了NUMBER型;传入参数的顺序和函数参数的顺序不要搞颠倒
11.建立临时表要考虑建session_id字段
12.同一个游标名不能被循环嵌套打开,否则会报错
declare
  cursor cur_datais.......
begin
  for rec_data1 in cur_data loop
    ......
    for rec_data2 in cur_data loop
      .......
    end loop;
  end loop;
end;
13.注意程序代码在正式环境,复制环境,测试环境的一致性,别只更新测试环境而忘了在正式环境中更新(特别是在上线前)
14.详细日志,方便查错
15.期初期末汇总/明细等算法一致性
16.是否要考虑接口中的数据,如果不考虑,不同时点会有不同结果。
17.在要求输入数字处找到非数字字符
18.注意物料单位转换,比如采购数量,库存事物数量(一般取primary_quantity)等等
19.代码中除数为0的情况
20.客户化请求,在重新算某期数据时,要视情况先把某期数据先删除
21.如果仅用来判断是否存在
select count(1) from ...... where .....
请加上rownum = 1
22.还会出现
select * from a,b
where a.column1 = a.column1 (本意是 a.column1 = b.column1)
    and a.column2 = b.column2
    ........
还好是select,如果是update、delete等,........嘿嘿
23.在oracle数据库10g以下版本,创建完索引后,最好用代码进行统计分析
begin
dbms_stats.gather_index_stats(
   ownname => 'CUX', --此处必须为大写
   indname => 'CUX_XXX_N1', --此处必须为大写
   estimate_percent => 20);
end;
24.EBS自带的程序包默认是不带debug infomation的。
如果需要在pl/sqldeveloper中对它进行调试,
需要对该程序包add debug information。
25.在pl/sql developer中输入一个synonym的名称,
然后选中右键drop,此时pl/sql developer提示要不要drop synonym对应的表,
而不是synonym本身。
 
本文作者:网友 来源: http://space.itpub.net/22518/viewspace-573050
CIO之家 www.ciozj.com 微信公众号:imciow
    >>频道首页  >>网站首页   纠错  >>投诉
版权声明:CIO之家尊重行业规范,每篇文章都注明有明确的作者和来源;CIO之家的原创文章,请转载时务必注明文章作者和来源;
延伸阅读