Oracle EBS二次开发.doc

上传人:仙人指路1688 文档编号:2394926 上传时间:2023-02-17 格式:DOC 页数:15 大小:180KB
返回 下载 相关 举报
Oracle EBS二次开发.doc_第1页
第1页 / 共15页
Oracle EBS二次开发.doc_第2页
第2页 / 共15页
Oracle EBS二次开发.doc_第3页
第3页 / 共15页
Oracle EBS二次开发.doc_第4页
第4页 / 共15页
Oracle EBS二次开发.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《Oracle EBS二次开发.doc》由会员分享,可在线阅读,更多相关《Oracle EBS二次开发.doc(15页珍藏版)》请在三一办公上搜索。

1、Oracle EBS二次开发开发技术规范文档作者:NETCOM创建日期:2012-05-17确认日期:控制编码:当前版本:1.0拷贝编号_目录文档控制ii更改记录ii审阅ii发布ii前言1目的1范围1参考材料1文件内容21开发基本准则31.1一般原则31.2程序文件存放规范32命名规范42.1数据库对象命名42.2程序文件命名42.3应用对象命名42.4FORM对象命名43代码规范53.1FORM代码标准53.2REPORT代码标准53.3PL/SQL代码标准5附录6前言目的为了保证程序编写的风格与Oracle R12标准程序一致,同时又要能很好区分Oracle R12标准程序与开发的程序,使

2、得程序的备份及移植变得更为容易和快捷,也为了以后的版本升级做准备,特制定本规范。通过制定该规范标准,也有助于提高代码编写的可读性和使用的一致,使得后续的维护工作变得方便。范围本文件适用于美的制冷事业部新海外营销系统项目,也适用于基于Oracle R12使用Oracle Form&Report进行二次开发的项目。参考材料文件内容1 开发基本准则1.1 一般原则1.1.1 权限控制1. 所有开发人员使用NETCOM用户登录正式服务器, 且只有对$NETCOM_TOP目录的读写权限。($NETCOM _TOP = /U1/PRODEBS/APPS/APPS_ST/APPL/NETCOM/12.0.0

3、)2. 所有开发人员使用NETCOM用户登录正式DB,对ORACLE EBS标准表,视图,索引只有读权限,对PACKAGE, PROCEDURE有查看和执行权限, 但没有修改权限3. 所有报表可以直接由开发人员部署到$NETCOM_TOP相应目录下, 所有开发的FORM,新建的表,视图,需要连同开发申请,上线申请一起发布给正式环境管理员(目前暂定为王振波)审核后实施.1.2 对象驻留规范1.2.1 数据库对象创建原则需要建立单独的数据库用户netcom,使用单独的表空间和索引表空间。新建的表,序列生成器,索引必须在netcom用户下创建,创建后同时创建APPS用户的同义词,新建的视图,包,存储

4、过程在apps用户下创建(放到正式环境必须要由系统管理员审核后实施 )数据库对象与数据库用户的关系如下:文件类型存放目录备注表netcom视图APPS同义词APPS序列生成器netcom索引netcom存储过程及函数APPS存储程序包APPS 数据库触发器APPS1.2.2 程序文件的存放为了区分标准文件对象,所有开发的程序需要建立独立目录结构(/netcom),单独存储。完成的目录为:/u1/prodebs/apps/apps_st/appl/netcom/,目录结构如下图所示:文件存放对应目录如下表:文件类型存放目录备注表单(Form)文件$NETCOM_TOP/forms源程序及编译后的

5、可执行文件,都存放在该目录下。该目录下,还需要分语言。报表(Report)文件$NETCOM_TOP/reports该目录下,还需要再分语言。SQLLOAD控制文件$NETCOM_TOP/bin接口数据文件$NETCOM_TOP/dataUNIX脚本文件$NETCOM_TOP/binSQLPLUS程序文件$NETCOM_TOP/sql指用于并发程序的SQLPLUS程序文件SQL、PL/SQL安装脚本文件$NETCOM_TOP/install指创建数据库对象(包括数据库表、视图、同义词、序列、存储函数、过程序、程序包、数据库触发器等)的安装脚本文件Fndload数据及安装脚本$NETCOM_TO

6、P/install也可在$NETCOM_TOP/install目录下建立子目录fndload来存放工作流文件$NETCOM_TOP/install也可在$NETCOM_TOP/install目录下建立子目录wf来存放1.3 客制化开发原则1、 禁止直接修改、删除系统自带的任何程序文件(除系统专为客户化预留的程序(如:custom.pll)以外),需要对系统标准程序进行修改时,应拷贝后更名成一新的程序文件,新的程序名称统一命名为:NC_+原文件名,并在系统中重新登记,上挂到新的客制化MENU中。2、 禁止直接更改、删除系统本身的任何数据库对象(包括:表、视图、同义词、序列、索引、程序包、过程、函

7、数、触发器等)。需要对系统标准程序进行修改时,应拷贝后更名成一新的程序文件,新的程序名称统一命名为:NC_+对象名3、 禁止客户化程序向ERP系统的业务基表直接插入、更改、删除数据。如有数据引入的需求,应首先考虑用系统的标准的INTERFACE开放接口表,其次用标准API函数(因为极少数局部修改可能没有对应的接口表)。4、 如果确实系统没有提供相应开放接口表和API函数,而业务确实需要直接写到ERP标准基表,需向IT部提出申请,待组织专业人员进行方案评审后方可进行。5、 所有的客户化程序应登记在NETCOM客户化模块(如:) 6、 所有客户化程序应与系统标准程序保持一致风格。2 命名规范2.1

8、 数据库对象命名常用数据库对象命名规则如下:对象类型命名解释备注表NC_EXAM_ORDER_WGLNC_XXX_Module_DDDDXXX = 应用简称Module = 模块简称DDDD = 表的简称简称应该由有实际意义的简短英语单词构成,不要用流水号等无意字符构成(以下同)。例:NC_OM_ORDER_SUMMARY,在最大长度基础上减少3位,尽量减少5位。视图NC_TABLE_VnTABLE = 基表名V = 表示视图I = 序号例:NC_OM_ORDER_SUMMARY_V增加规则:1、 多语言视图_vl2、 快码类型对应的视图所有值和有效值同义词与原对象同名与它引用的原对象同名序列

9、生成器TABLE_STABLE = 基表名S = 表示序列生成器例:NC_OM_ORDER_SUMMARY_S索引NC_TABLE_TnTABLE = 基表名T: U = 表示唯一性索引 N = 表示非唯一性索引n = 序号例:NC_OM_ORDER_SUMMARY_N2 表示在表上的第二个非唯一性索引存储过程NC_XXX_DDDD_PXXX = 应用简称DDDD = 存储过程的简称P = 表示存储过程例:NC_OM_ORDER_IMPORT_P存储函数NC_XXX_DDDD_FXXX = 应用简称DDDD = 存储函数的简称F = 表示存储函数例:NC_GET_LIST_PRICE_F存储程

10、序包NC_XXX_DDDD_PKGXXX = 应用简称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_T 表示在客户化表NC_MO_ORDER_SU

11、MMARY上的纪录级触发器,在修改前触发2.2 程序文件命名 常用程序文件命名规则如下:程序文件类型命名解释备注表单(Form)XXX_Module_DDDD.fmbModule: 对应的ORACLE应用,如:PO、INV等 ,标示它是对哪个应用进行的客户化开发。DDDD = 表单简称简称应该由有实际意义的简短英语单词构成,不要用流水号等无意字符构成(以下同)例:NC_PO_RECEIVE_QUERY.fmb表单(Form)NC_XXX_Module_DDDD.fmbXXX = 应用简称Module = 模块简称DDDD = 表单简称简称应该由有实际意义的简短英语单词构成,不要用流水号等无意字

12、符构成(以下同)例:NC_OM_ORDER_SUMMARY.fmb报表(Report)NC_XXX_Module_DDDD.rdfXXX = 应用简称Module = 模块简称DDDD = 报表简称例:NC_OM_ORDER_SUMMARY .rdfSQLLOAD控制文件NC_XXX_DDDD.ctlXXX = 应用简称DDDD = 控制文件简称例:NC_AR_CASH_RECEIPT.ctl接口数据文件NC_XXX_DDDD.extXXX = 应用简称DDDD = 接口数据文件简称Ext =数据文件的扩展名(如:txt、csv、xls等)例:NC_AR_CASH_RECEIPT.txtUNI

13、X脚本文件NC_XXX_DDDD.shXXX = 应用简称例:NC_DOWNLOAD_CONCURRENT_DEFINE.shSQLPLUS程序文件NC_XXX_DDDD.sqlXXX = 应用简称DDDD= 程序文件简称指用于并发程序的SQLPLUS程序文件例:NC_WORK_ORDER_BATCH_CLOSE.sqlSQL、PL/SQL安装脚本NC_XXX_DDDD.sqlXXX = 应用简称DDDD= 安装脚本文件简称指创建数据库对象(包括数据库表、视图、同义词、序列、存储函数、过程序、程序包、数据库触发器等)的安装脚本文件例:NC_TABLE_CREATE.sqlFndload数据文件

14、NC_XXX_ DDDD.ldtXXX = 应用简称DDDD= Fndload数据类型,一般有以下几类:CONCURRENTS= 并发程序FUNCTIONS = 功能LOOKUPS = 快码MENUS = 菜单MESSAGES = 提示消息PROFILES = 配置文件VALUESETS = 值集例: NC_LOOKUPS.ldt附加程序库文件NC_XXX_Module_DDDD.pllXXX = 应用简称Module = 模块简称DDDD = 附加程序简称例: NC_OM_ORDER.pll工作流文件NC_XXX_Module_DDDD.wftXXX = 应用简称Module = 模块简称D

15、DDD = 工作流简称例:NC_OM_ORDER_CONFIRM.wft2.3 应用对象命名常用应用对象命名规则如下:程序文件类型命名解释备注表单(Form)XXX_Module_DDDD.fmbModule: 对应的ORACLE应用,如:PO、INV等 ,标示它是对哪个应用进行的客户化开发。DDDD = 表单简称简称应该由有实际意义的简短英语单词构成,不要用流水号等无意字符构成(以下同)例:NC_PO_RECEIVE_QUERY.fmb并发程序名XXX DDDDDDXXX = 应用简称DDDDDD = 并发程序的描述最终用户提交请求时看到的名称,应该用友好的中文描述。 例:“NC.车间任务物

16、料短缺表”并发程序简称XXX_Module_DDDDXXX = 应用简称Module = 模块简称DDDD = 并发程序简称简称应该由有实际意义的简短英语单词构成。 例:NC_OM_ORDER_LIST(并发)可执行程序简称XXX_Module_DDDDXXX = 应用简称Module = 模块简称DDDD = 执行程序简称一般与并发程序简称相同例:NC_OM_ORDER_LIST值集名XXX_Module_DDDDXXX = 应用简称Module = 模块简称DDDD = 值集的简称例:NC_OM_ORDER_NUMBER预置文件名XXX.DDDDDDXXX = 应用简称DDDDDD= 预置

17、文件描述例:NC.用户安全级别职责名公司段值XXX.DDDDDDXXX = 应用简称DDDDDD= 职责描述例:NC.生产单管理菜单名XXX_Module_DDDDXXX = 应用简称Module = 模块简称DDDD = 菜单名的简称例:NC_OM_MAIN_MENU功能名XXX_Module_DDDDXXX = 应用简称Module = 模块简称DDDD = 功能名的简称例:NC_OM_ORDER请求集名XXX.DDDDXXX = 应用简称DDDD = 报表集的描述例:NC.项目相关资料导入请求集请求组名XXX.DDDDXXX = 应用简称DDDD = 请求组的描述例:NC.生产订单请求组

18、请求组代码XXX_Module_DDDDXXX = 应用简称Module = 模块简称DDDD = 请求组的简称例:NC_OM_ALL_REP_GROUP消息XXX_Module_DDDDXXX = 应用简称Module = 模块简称DDDD = 消息的简称例:NC_OM_NO_BOM_FOUND附件相关对象XXX.DDDDXXX = 应用简称DDDD = 附件的描述例:NC.生产单12345散件清单快码类型XXX_Module_DDDDXXX = 应用简称Module = 模块简称DDDD = 快码的简称例:NC_OM_APPROVE_STATUS描述性弹性域名称DDDDDDDD = 表名称

19、例:NC_OM_ORDER描述性弹性域标题XXX.DDDDXXX = 应用简称DDDD = 弹性域的描述例:NC.生产单头信息2.4 FORM对象命名一般来讲,FORM中对象如果是表示复数的应以复数结尾的单词命名(例如,纪录组名,LOV名等);如果对象是表示单数的则以单数结尾的单词命名(如块名,窗口名等)。描述应是有意义的英文单词或缩写,但不能使用保留字,如FOLDER、CALENDAR、APPCORE等,常 用Form对象命名规则如下:对象类型命名解释备注表单(Form)XXX_Module_DDDD.fmbModule: 对应的ORACLE应用,如:PO、INV等 ,标示它是对哪个应用进行

20、的客户化开发。DDDD = 表单简称简称应该由有实际意义的简短英语单词构成,不要用流水号等无意字符构成(以下同)例:NC_PO_RECEIVE_QUERY.fmb全局变量DDDDDDDDDD = 变量的描述描述应该有有实际意义的简短英语单词或缩写构成,一般不能使用汉语拼音缩写。下同局部变量V_DDDDDDDDDD = 变量的描述参数(过程、函数)P_DDDDDDDDDD = 变量的描述值列表LOVDDDDDDDDDD = LOV的描述描述应尽量与其使用的记录组相同记录组DDDDDDDDDD = 记录组描述触发器TRIGGERT_DDDDDDDDDD = 触发器描述仅限于增加的新增的触发器For

21、m过程(包)DDDD_PRIVATE或Formname_PKGDDDD = 数据块名Formname = FORM名称对于数据块DML语句的包,采用DDDD_PRIVATE格式。数据块(BLOCK)DDDDDDDDDD = 数据块描述若有基表,则命名以靠近基表为原则,从块的名称可以看出所对应基表名称。若无对应基表,则命名以靠近所属功能为原则,从块的名称可以看出该区块的功能。例如,TOOLBAR,CONTROL等。项(Item)基表项: DDDD同步项: DDDD_MIR合计项:DDDD_TOTALDDDD = 基表字段名画布(CANVAS)DDDDDDDDDD = 画布描述以所显示的主要内容为

22、命名原则,尽可能的与其包含的主要的块名相同。窗口(WINDOWS)DDDDDDDDDD = 窗口描述与所显示的主画布名称尽可能相同关系(relation)RL_block1_block2block1 = 主数据块描述block2 = 从数据块描述3 代码规范3.1 FORM代码标准3.1.1 使用模版Template.fmb创建FormForm必须用到许多库文件。因此修改SIE_Template.fmb 完成客制化会是一个比较好的做法。 因为Template.fmb 本身就已经内含许多Form所需要包含的库文件, 可以避免我们自己去搜寻库文件, 然后加到自己程序的麻烦。3.1.2 以Packa

23、ge及Function方式處理Form Trigger 所需要呼叫的程式虽然Form 6i 以上版本可让我们在触发器中直接写代码,但是为了日后维护及阅读上的方便,建议将触发器所需要处理的程序写在Package 中,而在触发器中呼叫这些Package 中的过程或函数。3.1.3 所有的对象都要設定Subclass在模版Template.fmb中,有各种各样的属性类为我们设置了Form对象的基本属性,在Form中添加对象时,我们只要为对象设置Subclass,对少量的属性做修改,就可以保障开发出来的Form 风格一致。对表的修改的要求凡是涉及到需要对基表进行修改(UPDATE)的操作,除了修改实际

24、需要的字段信息之外,必须同时更新以下信息:1、 LAST_UPDATE_DATE2、 LAST_UPDATED_BY3.1.4 Form界面布局要求1、 界面上的所有按钮,都要设定ALT组合快捷键,如:“确定”按钮项的“标签”属性,应该设为:“确定&O”,这样可通过组合快捷键AltO来访问该按钮;同一个窗口上,不同的按钮要设定不同的组合快捷键,且不要与系统菜单的组合快捷键重复,对于以下系统菜单使用的快捷键,在开发时不要进行引用:1) F,表示“文件”菜单;2) E,表示“编辑”菜单;3) V,表示“查看”菜单;4) L,表示“文件夹”菜单;5) T,表示“工具”菜单;6) W,表示“Windo

25、w”菜单;7) H,表示“帮助”菜单。3.2 PL/SQL代码标准3.2.1 使用工具强烈推荐使用工具软件PL/SQL Developer V6.03或更高版本编写PL/SQL程序。此工具软件除能美化(beautifier)PL/SQL程序外,还自带了很多常用的PL/SQL程序模版,用户也可自行定义具有自己公司风格的模版。3.2.2 使用基表(视图)别名除SQL语句所使用到的基表或视图名称极短(小于4字符)外,需要在SQL语句中为表或视图指定别名。其命名规格以简短为原则,一般为基表或视图名称每一节单词的第一个字母,如mtl_system_items的别名一般指定为msi。3.2.3 例外处理尽

26、可能多的使用EXCEPTION捕捉各种例外,并返回用户可读懂的信息,如无法确定是否有其他例外,可在每个PL/SQL程序块的例外中加上WHEN OTHERS语句。例外信息统一风格,定义统一的例外处理Package统一返回在哪个Package、Procedure中发生的例外对日志中的一些调试信息,通过参数设定是否需要输出3.2.4 注释PL/SQL有两种表示注释的方法,分别为- -和/* */,对于多行或整段的注释一般采用后者,对于单行或行尾的注释一般采用前者。以下从几个主要地方注释做个规定,力求统一。l 包、过程、函数注释/*=* Copyright (C) SIE Consulting Co.

27、, Ltd All rights reserved * =* Program Name: Package 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 * =*/如增加包中的

28、过程或函数,需在包的注释中的Update History中增加相应的信息。如仅是修改过程或函数,则在过程或函数的注释中的Update History中增加相应的信息。上述注释可增加到PL/SQL Developer 的Program units模板中使用。数据库包创建模板:Package的返回信息,也要定义Messagel 注释的基本原则过程中定义的变量需要注释其含义,过程或函数中关键性语句也要注释其作用,对于较复杂的程序,则对该段程序的流程进行描述,在程序中的关键位置应加入相应的注释,对于非首次作者修改原有的程序,要对所做的修改部分加以标示,并作相应的注释。注释的格式无特殊要求,一般单行以-

29、 -注释,多行以/* */注释。l 增加程序select count(*) from where and -added by xxx 2006-05-28 and -end added by xxx 2006-05-28 and 蓝色部分为新增加的程序l 修改/删除程序select count(*) from where and -changed by xxx 2006-05-28 -and and -end changed by xxx 2006-05-28 and 蓝色部分为修改的程序,修改为3.2.5 美化规则为了增强PL/SQL程序的可读性,必须使用美化规则美化,可使用以下美化规则文件

30、:d3.3 源代码管理规范为了达到多人协同开发及源程序版本控制的目的,确定采用以下方式管理源代码:u 在VSS上项目代码01 DEVELOPER目录下按源代码类型创建目录,例如Forms、Reprots、SQL、WF等。u 对于程序较多的源程序类型,如Form、Report等,还需要按模块创建相应的子目录,例如PI、MO、SO等。u 程序员在创建程序提交到开发环境编译前,必须将源程序上传到Vss相应的目录下,此后必须从VSS将源程序CHECK OUT后才可对程序进行修改。u 原则上程序员不能对单个源程序长期保持CHECK OUT的状态,但对于需要多天才能完成的源程序,在开发期间可一直 保持,但至少一天CHECK IN一次,以便在VSS上保持最新版本。u 发布程序到测试环境或正式环境,必须从VSS上获取最新版本来发布。附录附录

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号