版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、oracle ebs二次开发 开发技术规范 文档作者:netcom 创建日期:2012-05-17 确认日期: 控制编码: 当前版本:1.0 拷贝编号_ 新海外营销系统 ii 目录 文档控制文档控制ii 更改记录 .ii 审阅 .ii 发布 .ii 前言前言1 目的.1 范围.1 参考材料.1 文件内容文件内容2 1开发基本准则.3 1.1一般原则.3 1.2程序文件存放规范.3 2命名规范.4 2.1数据库对象命名.4 2.2程序文件命名.4 2.3应用对象命名.4 2.4form对象命名.4 3代码规范.5 3.1form代码标准.5 3.2report代码标准 .5 3.3pl/sql代
2、码标准.5 附录.6 新海外营销系统前言 开发技术规范1 前言 目目的的 为了保证程序编写的风格与oracle r12标准程序一致,同时又要能很好区分oracle r12 标准程序与开发的程序,使得程序的备份及移植变得更为容易和快捷,也为了以后的 版本升级做准备,特制定本规范。 通过制定该规范标准,也有助于提高代码编写的可读性和使用的一致,使得后续的维 护工作变得方便。 范围范围 本文件适用于美的制冷事业部新海外营销系统项目,也适用于基于oracle r12使用 oracle form&report进行二次开发的项目。 参考材料参考材料 新海外营销系统error! reference sour
3、ce not found. 开发技术规范2 文件内容 1开发基本准则开发基本准则 1.1一般原则一般原则 1.1.1权限控制权限控制 1.所有开发人员使用netcom用户登录正式服务器, 且只有对$netcom_top目录 的读写权限。($netcom _top = /u1/prodebs/apps/apps_st/appl/netcom/12.0.0) 2.所有开发人员使用netcom用户登录正式db,对oracle ebs标准表,视图, 索引只有读权限,对package, procedure有查看和执行权限, 但没有修改权 限 3.所有报表可以直接由开发人员部署到$netcom_top相应
4、目录下, 所有开发的 form,新建的表,视图,需要连同开发申请,上线申请一起发布给正式环境管 理员(目前暂定为王振波)审核后实施. 1.2对象驻留对象驻留规范规范 1.2.1数据库对象创建原则数据库对象创建原则 需要建立单独的数据库用户netcom,使用单独的表空间和索引表空间。 新建的表,序列生成器,索引必须在netcom用户下创建,创建后同时创建apps用户 的同义词,新建的视图,包,存储过程在apps用户下创建(放到正式环境必须要由系 统管理员审核后实施 ) 数据库对象与数据库用户的关系如下: 文件类型文件类型存放目录存放目录备注备注 表 netcom 视图 apps 同义词 apps
5、 序列生成器 netcom 索引 netcom 存储过程及函数 apps 存储程序包 apps 数据库触发器 apps 新海外营销系统error! reference source not found. 开发技术规范3 1.2.2程序文件的存放程序文件的存放 为了区分标准文件对象,所有开发的程序需要建立独立目录结构(/netcom),单独存 储。 完成的目录为:/u1/prodebs/apps/apps_st/appl/netcom/,目录结构如下图所 示: 文件存放对应目录如下表: 文件类型文件类型存放目录存放目录备注备注 表单(form) 文件 $netcom_top/forms源程序及编
6、译后的可执行文 件,都存放在该目录下。该 目录下,还需要分语言。 报表 (report)文 件 $netcom_top/reports该目录下,还需要再分语 言。 sqlload控 制文件 $netcom_top/bin 接口数据文件$netcom_top/data unix脚本文件$netcom_top/bin sqlplus程序 文件 $netcom_top/sql指用于并发程序的 sqlplus程序文件 sql、pl/sql 安装脚本文件 $netcom_top/install指创建数据库对象(包括数 据库表、视图、同义词、序 列、存储函数、过程序、程 序包、数据库触发器等)的 安装脚本
7、文件 fndload数据及 安装脚本 $netcom_top/install也可在 $netcom_top/install目 录下建立子目录fndload来 新海外营销系统error! reference source not found. 开发技术规范4 存放 工作流文件$netcom_top/install也可在 $netcom_top/install目 录下建立子目录wf来存放 1.3客制化开发原则客制化开发原则 1 1、 禁止直接修改、删除系统自带的任何程序文件(除系统专为客户化预留的程序 (如:custom.pll)以外),需要对系统标准程序进行修改时,应拷贝后更名成 一新的程序文件
8、,新的程序名称统一命名为:nc_+原文件名,并在系统中重新登 记,上挂到新的客制化menu中。 2 2、 禁止直接更改、删除系统本身的任何数据库对象(包括:表、视图、同义词、序 列、索引、程序包、过程、函数、触发器等)。需要对系统标准程序进行修改 时,应拷贝后更名成一新的程序文件,新的程序名称统一命名为:nc_+对象名 3、 禁止客户化程序向erp系统的业务基表直接插入、更改、删除数据。如有数据引入 的需求,应首先考虑用系统的标准的interface开放接口表,其次用标准api函数 (因为极少数局部修改可能没有对应的接口表)。 4、 如果确实系统没有提供相应开放接口表和api函数,而业务确实需
9、要直接写到erp 标准基表,需向it部提出申请,待组织专业人员进行方案评审后方可进行。 5、 所有的客户化程序应登记在netcom客户化模块(如:) 6、 所有客户化程序应与系统标准程序保持一致风格。 新海外营销系统error! reference source not found. 开发技术规范5 2命名规范命名规范 2.1数据库对象命名数据库对象命名 常用数据库对象命名规则如下: 对象类型对象类型命名命名解释解释备注备注 表 nc_exam_order _wgl nc_xxx_module_d ddd xxx = 应用简称 module = 模块简称 dddd = 表的简称 简称应该由有实
10、际意义的简短英语 单词构成,不要用流水号等无意字 符构成(以下同)。 例:nc_om_order_summary, 在最大长度基础上减少在最大长度基础上减少3 3位,尽量位,尽量 减少减少5 5位。位。 视图 nc_table_vn table = 基表名 v = 表示视图 i = 序号 例:nc_om_order_summary_v 增加规则:增加规则: 1 1、 多语言视图多语言视图_vl_vl 2 2、 快码类型对应的视图快码类型对应的视图 所有值和有效值所有值和有效值 同义词与原对象同名与它引用的原对象同名 序列生成器 table_s table = 基表名 s = 表示序列生成器 例
11、:nc_om_order_summary_s 索引 nc_table_tn table = 基表名 t: u = 表示唯一性索引 n = 表示非唯一性索 引 n = 序号 例: nc_om_order_summary_n2 表示在 表上的第二个非唯一性索引 存储过程 nc_xxx_dddd_p xxx = 应用简称 dddd = 存储过程的简称 p = 表示存储过程 例: nc_om_order_import_p 存储函数 nc_xxx_dddd_f xxx = 应用简称 dddd = 存储函数的简称 f = 表示存储函数 例: nc_get_list_price_f 存储程序包 nc_xxx
12、_dddd_pkg xxx = 应用简称 dddd = 程序包简称 pkg = 表示程序包 例: nc_work_order_import_pkg 数据库触发器 nc_table_xyz_t table= 基表名 x:b = before(事前 触发) a = after(事后 触发) y:i = insert(插 入) u = update(修 改) d = delete(删 除) z:s = 语句级 r =纪录级 t= 表示触发器 原则上不使用数据库出发器。 如果表名加上前、后缀,超过了名 字空间的长度(32位),可以将表 名作一些简化 例:nc_om_order_summary_bur_
13、t 表示在客户化表 nc_mo_order_summary上的纪录级 触发器,在修改前触发 新海外营销系统error! reference source not found. 开发技术规范6 2.2程序文件命名程序文件命名 常用程序文件命名规则如下: 程序文件类型程序文件类型命名命名解释解释备注备注 表单(form) xxxxxx_module_d ddd.fmb.fmb module: 对应的 oracle应用, 如:po、inv等 ,标示它 是对哪个应用进行的客户 化开发。 dddd = 表单简称 简称应该由有实际意义的简短英语 单词构成,不要用流水号等无意字 符构成(以下同) 例:nc_
14、po_receive_query.fmb 表单(form) nc_xxx_module _dddd.fmb xxx = 应用简称 module = 模块简称 dddd = 表单简称 简称应该由有实际意义的简短英语单 词构成,不要用流水号等无意字符构 成(以下同) 例:nc_om_order_summary.fmb 报表 (report) nc_xxx_module _dddd.rdf xxx = 应用简称 module = 模块简称 dddd = 报表简称 例:nc_om_order_summary .rdf sqlload控制文 件 nc_xxx_dddd.c tl xxx = 应用简称 d
15、ddd = 控制文件简称 例:nc_ar_cash_receipt.ctl 接口数据文件 nc_xxx_dddd.e xt xxx = 应用简称 dddd = 接口数据文件简 称 ext =数据文件的扩展 名(如:txt、csv、xls 等) 例:nc_ar_cash_receipt.txt unix脚本文件 nc_xxx_dddd.s h xxx = 应用简称例:nc_download_concurrent_d efine.sh sqlplus程序文 件 nc_xxx_dddd.s ql xxx = 应用简称 dddd= 程序文件简称 指用于并发程序的sqlplus程序文件 例:nc_wor
16、k_order_batch_close. sql sql、pl/sql安 装脚本 nc_xxx_dddd.s ql xxx = 应用简称 dddd= 安装脚本文件简 称 指创建数据库对象(包括数据库表、 视图、同义词、序列、存储函数、过 程序、程序包、数据库触发器等)的 安装脚本文件 例:nc_table_create.sql fndload数据文 件 nc_xxx_ dddd.ldt xxx = 应用简称 dddd= fndload数据类 型,一般有以下几类: concurrents= 并发程序 functions = 功能 lookups = 快码 menus = 菜单 messages
17、= 提示消息 profiles = 配置文件 valuesets = 值集 例: nc_lookups.ldt 附加程序库文 件 nc_xxx_module _dddd.pll xxx = 应用简称 module = 模块简称 dddd = 附加程序简称 例: nc_om_order.pll 工作流文件 nc_xxx_module _dddd.wft xxx = 应用简称 module = 模块简称 dddd = 工作流简称 例:nc_om_order_confirm.wft 新海外营销系统error! reference source not found. 开发技术规范7 2.3应用对象命名
18、应用对象命名 常用应用对象命名规则如下: 程序文件类型程序文件类型命名命名解释解释备注备注 表单(form) xxxxxx_module_d ddd.fmb.fmb module: 对应的 oracle应用, 如:po、inv等 ,标示它 是对哪个应用进行的客户 化开发。 dddd = 表单简称 简称应该由有实际意义的简短英 语单词构成,不要用流水号等无 意字符构成(以下同) 例:nc_po_receive_query.fmb 并发程序名 xxx dddddd xxx = 应用简称 dddddd = 并发程序的描述 最终用户提交请求时看到的名称, 应该用友好的中文描述。 例:“nc.车间任务物
19、料短缺表” 并发程序简称 xxx_module_dd dd xxx = 应用简称 module = 模块简称 dddd = 并发程序简称 简称应该由有实际意义的简短英语 单词构成。 例:nc_om_order_list (并发)可执 行程序简称 xxx_module_dd dd xxx = 应用简称 module = 模块简称 dddd = 执行程序简称 一般与并发程序简称相同 例:nc_om_order_list 值集名 xxx_module_dd dd xxx = 应用简称 module = 模块简称 dddd = 值集的简称 例:nc_om_order_number 预置文件名 xxx.
20、dddddd xxx = 应用简称 dddddd = 预置文件描述 例:nc.用户安全级别 职责名公司段值公司段值 xxx.dddddd xxx = 应用简称 dddddd = 职责描述 例:nc.生产单管理 菜单名 xxx_module_dd dd xxx = 应用简称 module = 模块简称 dddd = 菜单名的简称 例:nc_om_main_menu 功能名 xxx_module_dd dd xxx = 应用简称 module = 模块简称 dddd = 功能名的简称 例:nc_om_order 请求集名 xxx.dddd xxx = 应用简称 dddd = 报表集的描述 例:nc
21、.项目相关资料导入请求集 请求组名 xxx.dddd xxx = 应用简称 dddd = 请求组的描述 例:nc.生产订单请求组 请求组代码 xxx_module_dd dd xxx = 应用简称 module = 模块简称 dddd = 请求组的简称 例:nc_om_all_rep_group 消息 xxx_module_dd dd xxx = 应用简称 module = 模块简称 dddd = 消息的简称 例:nc_om_no_bom_found 附件相关对象附件相关对象 xxx.ddddxxx.dddd xxxxxx = = 应用简称应用简称 dddddddd = = 附件的描述附件的描
22、述 例:例:nc.生产单生产单12345散件清单散件清单 快码类型 xxx_module_dd dd xxx = 应用简称 module = 模块简称 dddd = 快码的简称 例:nc_om_approve_status 描述性弹性域 名称 dddd dddd = 表名称例:nc_om_order 描述性弹性域 标题 xxx.dddd xxx = 应用简称 dddd = 弹性域的描述 例:nc.生产单头信息 新海外营销系统error! reference source not found. 开发技术规范8 2.4form对象命名对象命名 一般来讲,form中对象如果是表示复数的应以复数结尾的
23、单词命名(例如,纪录组名,lov名等); 如果对象是表示单数的则以单数结尾的单词命名(如块名,窗口名等)。 描述应是有意义的英文单词或缩写,但不能使用保留字,如folder、calendar、appcore等, 常 用form对象命名规则如下: 对象类型对象类型命名命名解释解释备注备注 表单(form) xxxxxx_module_ddd d.fmb.fmb module: 对应的 oracle应用, 如:po、inv等 ,标 示它是对哪个应用进 行的客户化开发。 dddd = 表单简称 简称应该由有实际意义的简短英 语单词构成,不要用流水号等无 意字符构成(以下同) 例:nc_po_rece
24、ive_query.fmb 全局变量 ddddd ddddd = 变量的描述描述应该有有实际意义的简短英语 单词或缩写构成,一般不能使用汉 语拼音缩写。下同 局部变量 v_ddddd ddddd = 变量的描述 参数(过程、函 数) p_ddddd ddddd = 变量的描述 值列表lov ddddd ddddd = lov的描述描述应尽量与其使用的记录组相同 记录组 ddddd ddddd = 记录组描述 触发器trigger t_ddddd ddddd = 触发器描述仅限于增加的新增的触发器 form过程(包) dddd_private 或 formname_pkg dddd = 数据块名
25、 formname = form名称 对于数据块dml语句的包,采用 dddd_private格式。 数据块 (block) ddddd ddddd = 数据块描述若有基表,则命名以靠近基表为原 则,从块的名称可以看出所对应基 表名称。 若无对应基表,则命名以靠近所属 功能为原则,从块的名称可以看出 该区块的功能。例 如,toolbar,control等。 项(item)基表项: dddd 同步项: dddd_mir 合计 项:dddd_t otal dddd = 基表字段名 画布(canvas) ddddd ddddd = 画布描述以所显示的主要内容为命名原则, 尽可能的与其包含的主要的块名
26、相 同。 窗口 (windows) ddddd ddddd = 窗口描述与所显示的主画布名称尽可能相同 关系 (relation) rl_block1_bloc k2 block1 = 主数据块描 述block2 = 从数据块 描述 新海外营销系统error! reference source not found. 开发技术规范9 3代码规范代码规范 3.1form代码标准代码标准 3.1.1使用模版使用模版template.fmb创建创建form form必须用到许多库文件。因此修改sie_template.fmb 完成客制化会是一个比较好 的做法。 因为template.fmb 本身就已经
27、内含许多form所需要包含的库文件, 可以避 免我们自己去搜寻库文件, 然后加到自己程序的麻烦。 3.1.2以以package及及function方式處理方式處理form trigger 所需要呼叫的程式所需要呼叫的程式 虽然form 6i 以上版本可让我们在触发器中直接写代码,但是为了日后维护及阅读上 的方便,建议将触发器所需要处理的程序写在package 中,而在触发器中呼叫这些 package 中的过程或函数。 3.1.3所有的对象都要設定所有的对象都要設定subclass 在模版template.fmb中,有各种各样的属性类为我们设置了form对象的基本属性,在 form中添加对象时,
28、我们只要为对象设置subclass,对少量的属性做修改,就可以保 障开发出来的form 风格一致。对表的修改的要求 凡是涉及到需要对基表进行修改(update)的操作,除了修改实际需要的字段信息 之外,必须同时更新以下信息: 1、 last_update_date 2、 last_updated_by 3.1.4form界面布局要求界面布局要求 1、 界面上的所有按钮,都要设定alt组合快捷键,如:“确定”按钮项的“标签” 属性,应该设为:“确定&o”,这样可通过组合快捷键alto来访问该按钮;同 一个窗口上,不同的按钮要设定不同的组合快捷键,且不要与系统菜单的组合快 捷键重复,对于以下系统菜
29、单使用的快捷键,在开发时不要进行引用: 1)f,表示“文件”菜单; 2)e,表示“编辑”菜单; 3)v,表示“查看”菜单; 4)l,表示“文件夹”菜单; 5)t,表示“工具”菜单; 6)w,表示“window”菜单; 7)h,表示“帮助”菜单。 新海外营销系统error! reference source not found. 开发技术规范10 3.2pl/sql代码标准代码标准 3.2.1使用工具使用工具 强烈推荐使用工具软件pl/sql developer v6.03或更高版本编写pl/sql程序。此工 具软件除能美化(beautifier)pl/sql程序外,还自带了很多常用的pl/sq
30、l程序模版, 用户也可自行定义具有自己公司风格的模版。 3.2.2使用基表使用基表(视图视图)别名别名 除sql语句所使用到的基表或视图名称极短(小于4字符)外,需要在sql语句中为表或 视图指定别名。其命名规格以简短为原则,一般为基表或视图名称每一节单词的第一 个字母,如mtl_system_items的别名一般指定为msi。 3.2.3例外处理例外处理 尽可能多的使用exception捕捉各种例外,并返回用户可读懂的信息,如无法确定 是否有其他例外,可在每个pl/sql程序块的例外中加上when others语句。 例外信息统一风格,例外信息统一风格, 定义统一的例外处理定义统一的例外处理
31、package 统一返回在哪个统一返回在哪个package、procedure中发生的例外中发生的例外 对日志中的一些调试信息,通过参数设定是否需要输出对日志中的一些调试信息,通过参数设定是否需要输出 3.2.4注释注释 pl/sql有两种表示注释的方法,分别为- -和/* */,对于多行或整段的注释一般采 用后者,对于单行或行尾的注释一般采用前者。以下从几个主要地方注释做个规定, 力求统一。 包、过程、函数注释 /*= * copyright (c) sie consulting co., ltd all rights reserved * = * program name: package
32、 name * author : $osuser * date : $date $time * purpose : purpose * parameters : * in x -参数x 的简要说明 * out y -参数y 的简要说明 * called : * called by : * description : * * update history * version date name description * - - - - * v1.0 $date $osuser creation * =*/ 如增加包中的过程或函数,需在包的注释中的update history中增加相应的信息。如 仅是修改过程或函数,则在过程或函数的注释中的update history中增加相应的信 息。上述注释可增加到pl/sql developer 的program uni
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 22330.3-2026无规定动物疫病区标准第3部分:无猪水疱病区
- 电商行业社交电商与直播带货方案
- 质量管理体系建设指导书模板
- 采购供应商信息评估与分析工具
- 采购成本控制流程与操作指南模板
- 员工离职信息安全管理团队预案
- 产品质量担保期限延长承诺书(6篇)
- 活动赞助资金支配承诺书(9篇)
- 湖北省南漳县2026年初三第一次诊断考试英语试题文试题含解析
- 隐秘信息严格保护承诺书(8篇)
- 2026广西防城港市从“五方面人员”中选拔乡镇领导班子成员23人考试备考题库及答案解析
- 儿童脓毒性休克管理专家共识(2025) 课件
- 2026湖南衡阳市招聘衡东县政务服务中心综窗工作人员3人笔试备考试题及答案解析
- 异形钛阳极定制化生产项目可行性研究报告
- 2026年宁夏石嘴山市单招职业适应性测试题库及答案详解一套
- 2026年常州机电职业技术学院单招职业适应性测试题库附答案详解(完整版)
- 2026届河南省濮阳市下学期高中三年级第一次模拟考试英语试卷(试卷+解析)
- 2026年山东春季高考车辆维修类专业知识(理论)模拟试题
- 2026年福建省三明市中考一模英语试卷试题(含答案详解)
- 2026年国际关系理论与实践外交政策研究探讨考试题目
- 烟草应聘面试题及答案
评论
0/150
提交评论