ImageVerifierCode 换一换
格式:DOCX , 页数:44 ,大小:1.10MB ,
资源ID:25823575      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/25823575.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(OracleEBSForm个性化地项目的应用实例.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

OracleEBSForm个性化地项目的应用实例.docx

1、OracleEBSForm个性化地项目的应用实例 FORM个性化的应用实例文档作者: YangHe创建日期: 5/20/2007最近更新: 4/28/2022控制编号: FORM个性化V1.0文档版本: 1.0审批:松下富士通汉得 拷贝数 _文档控制变更记录日期作者版本变更参考5/20/2007YangHe1新创建的文档审阅姓名职位分发拷贝数姓名地点1111(9-Dec-96)(9-Dec-96)概述FORM个性化是.10新增的功能。通过个性化设置,我们可以不必去修改ORACLE的FORM源码而实现FORM标准功能的修改,因为个性化代码是独立储存在数据库表中的,FORM的升级均对此无影响。所以

2、在项目上要对FORM进行修改时,如果能行,最好还是用FORM个性化来实现这里顺便提下两个预置文件,一个是Hide Diagnostics menu entry,用来控制help菜单下的Diagnostics是否隐藏,默认为不隐藏。一个是 Utilities:Diagnostics用来控制进入诊断模式时是否需要apps密码,默认为需要密码。根据具体需要看是否设置。FORM个性化触发器事件有五个FORM自带的触发器动作:WHEN-NEW-FORM-INSTANCE、WHEN-NEW-BLOCK-INSTANCE、WHEN-NEW-RECORD-INSTANCE、WHEN-NEW-ITEM-INST

3、ANCE、WHEN-VALIDATE-RECORD以及MENU、SPECIAL(点击自定义的菜单动作,最后的例子中我们可以看到)。通过这些触发器事件,我们可以实现改变ITEMSBLOCKSCANVASESWINDOWSREGIONS等的属性及值、执行FORM的内置函数、显示错误警告MESSAGE信息、显示DEBUG信息、自定义一个菜单项来执行应用中的某功能、创建一个全局变量来传递信息等。FORM个性化操作起来比较简单,ORACLE有一个专门的文档对其进行介绍的,详见METALINK Note:279034.1。这里简单介绍一下在实际项目中的几个应用。安装环境硬件平台: IBM操作系统及版本:

4、Oracle RDBMS 版本: 9.2.0.6.0Oracle EBS 版本: 11.5.10.2安装前准备以上操作,如有疑问,请向系统管理员寻求帮助。阅读说明及约定本文中蓝色字体为需要注意的内容。本文中红色字体为特别重要的内容。本文中黑色粗体10号字为输入的命令。(2-Dec-96) (2-Dec-96)(9-Dec-96)FORM个性化以下介绍的几个FORM个性化应用大部分是基于上海协亨信息科技有限公司ERP项目的实际开发。协亨项目ORACLE销售订单录入控制项目背景及业务需求:协亨手机连锁销售集团是一家主要经营手机销售的连锁零售企业。其在全国有几百家门店,当门店的POS系统上线后,日常

5、销售都是在POS系统中完成的,通过接口传给ORACLE自动生成销售订单,在ORACLE中我们禁止手工录入这个门店的销售订单。具体的控制方法是: 把订单头的销售员设置成必录字段。在离开该字段的时候添加校验: 根据销售员查找门店信息,若找不到,表示这是跟门店无关的销售,不控制。 若找到,则判断该门店是否 已经POS上线,如果已经是POS上线的并且POS控制类型=现实门店,那么就不能通过验证。否则可以通过。销售超级用户职责/订单;退货/销售订单/帮助/诊断/自定义代码/个性化在Oracle 的订单录入界面,禁止录入这个门店的销售订单。在销售订单FORM下进入FORM个性化:FORM个性化界面条件伪代

6、码:销售员id在客户化表XH_SHOP_INFO中有对应的有效门店,且POS上线日期非空,且门店类型为现实门店。序号说明触发器事件触发器对象条件10FORBID SO IMP0RTWHEN-VALIDATE-RECORDORDER:ORDER.SALESREP_ID IN (SELECT SALESREP_ID FROM XH_SHOP_INFO WHERE NVL(END_DATE_ACTIVE,SYSDATE + 1) TRUNC(SYSDATE) AND (SELECT POS_ONLINE_DATE FROM XH_SHOP_INFO WHERE NVL(END_DATE_ACTIVE

7、,SYSDATE + 1) TRUNC(SYSDATE)AND SALESREP_ID = :ORDER.SALESREP_ID) IS NOT NULLAND (SELECT POS_CONTROL_TYPE FROM XH_SHOP_INFO WHERE NVL(END_DATE_ACTIVE,SYSDATE + 1) TRUNC(SYSDATE)AND SALESREP_ID = :ORDER.SALESREP_ID) = REAL活动符合条件的记录在保存时报以下错误:该销售员对应的门店POS已上线,不允许在ORACLE录入订单序号类型消息类型消息文本10消息错误该销售员对应的门店POS

8、已上线,不允许在ORACLE录入订单同时对订单行也要进行限制序号说明触发器事件触发器对象条件10FORBID SO IMP0RT LINEWHEN-VALIDATE-RECORDLINE:ORDER.SALESREP_ID IN (SELECT SALESREP_ID FROM XH_SHOP_INFO WHERE NVL(END_DATE_ACTIVE,SYSDATE + 1) TRUNC(SYSDATE) AND (SELECT POS_ONLINE_DATE FROM XH_SHOP_INFO WHERE NVL(END_DATE_ACTIVE,SYSDATE + 1) TRUNC(SY

9、SDATE)AND SALESREP_ID = :ORDER.SALESREP_ID) IS NOT NULLAND (SELECT POS_CONTROL_TYPE FROM XH_SHOP_INFO WHERE NVL(END_DATE_ACTIVE,SYSDATE + 1) TRUNC(SYSDATE)AND SALESREP_ID = :ORDER.SALESREP_ID) = REAL活动序号类型消息类型消息文本10消息错误该销售员对应的门店POS已上线,不允许在ORACLE录入订单看实际中的应用情况:录入销售订单,销售人员为 1112073曹杨二店,该店POS_ONLINE_DAT

10、E不为空,且POS_CONTROL_TYPE= REAL,即POS上线日期非空,且门店类型为现实门店。新增一条规则,设置销售人员为必需字段序号说明触发器事件触发器对象条件10设置销售人员为必输字段WHEN-NEW-RECORD-INSTANCEORDER活动序号类型对象类型目标对象特性名称值10特性项目ORDER.SALESREP_MIRREQUIRED (APPLICATIONS COVER)真看实际中的应用情况:当我们新建一个销售订单,可以看到,销售人员变成了必输字段。协亨项目ORACLE子库存转移控制业务需求:协亨门店的POS上线前,直接在ORACLE中做子库存转移。POS系统上线后,所

11、有的调拨业务都是在POS中进行的,通过接口传给ORACLE自动做子库存转移,在ORACLE中禁止手工录入该门店对应的子库转移。库存超级用户职责/事务处理/子库存转移/事务处理行/帮助/诊断/自定义代码/个性化在子库存转移界面,在子库存及目标子库存 两个字段上,在离开该字段的时候添加校验:根据子库存的门弹性域查找门店信息,判断该门店是否 已经POS上线,如果已经是POS上线的并且POS控制类型=现实门店,那么就不能通过验证。否则可以通过。即如果在对应门店已上线的子库做子库存转移,在保存时会出现以下错误:序号说明触发器事件触发器对象条件10FORBID SUBINV TRANSFERWHEN-VA

12、LIDATE-RECORDMTL_TRX_LINE(SELECT POS_ONLINE_DATE FROM XH_SHOP_INFO XSWHERE NVL(END_DATE_ACTIVE,SYSDATE + 1) TRUNC(SYSDATE)AND XS.SHOP_NUMBER = (SELECT MSI.ATTRIBUTE1 FROM MTL_SECONDARY_INVENTORIES MSIWHERE NVL(MSI.DISABLE_DATE,SYSDATE) TRUNC(SYSDATE)AND MSI.SECONDARY_INVENTORY_NAME = :MTL_TRX_LINE.S

13、UBINVENTORY_CODE) IS NOT NULLAND (SELECT POS_CONTROL_TYPE FROM XH_SHOP_INFO XSWHERE NVL(END_DATE_ACTIVE,SYSDATE + 1) TRUNC(SYSDATE)AND XS.SHOP_NUMBER = (SELECT MSI.ATTRIBUTE1 FROM MTL_SECONDARY_INVENTORIES MSIWHERE NVL(MSI.DISABLE_DATE,SYSDATE) TRUNC(SYSDATE)AND MSI.SECONDARY_INVENTORY_NAME = :MTL_T

14、RX_LINE.SUBINVENTORY_CODE) = REAL活动序号类型消息类型消息文本10消息错误子库存对应的门店POS已上线,不允许在ORACLE中进行子库存转移序号说明触发器事件触发器对象条件10FORBID SUBINV TRANSFER2WHEN-VALIDATE-RECORDMTL_TRX_LINE(SELECT POS_ONLINE_DATE FROM XH_SHOP_INFO XSWHERE NVL(END_DATE_ACTIVE,SYSDATE + 1) TRUNC(SYSDATE)AND XS.SHOP_NUMBER = (SELECT MSI.ATTRIBUTE1

15、FROM MTL_SECONDARY_INVENTORIES MSIWHERE NVL(MSI.DISABLE_DATE,SYSDATE) TRUNC(SYSDATE)AND MSI.SECONDARY_INVENTORY_NAME = :MTL_TRX_LINE.TRANSFER_SUBINVENTORY) IS NOT NULLAND (SELECT POS_CONTROL_TYPE FROM XH_SHOP_INFO XSWHERE NVL(END_DATE_ACTIVE,SYSDATE + 1) TRUNC(SYSDATE)AND XS.SHOP_NUMBER = (SELECT MS

16、I.ATTRIBUTE1 FROM MTL_SECONDARY_INVENTORIES MSIWHERE NVL(MSI.DISABLE_DATE,SYSDATE) TRUNC(SYSDATE)AND MSI.SECONDARY_INVENTORY_NAME = :MTL_TRX_LINE.TRANSFER_SUBINVENTORY) = REAL序号类型消息类型消息文本10消息错误目标子库存对应的门店POS已上线,不允许在ORACLE中进行子库存转移协亨项目ORACLE杂项事务处理控制业务需求:协亨门店的POS上线前,可以直接在ORACLE中做杂项事务处理。POS系统上线后,门店的盘点是在P

17、OS中做的,通过接口传给ORACLE自动做杂项事务处理。此时在ORACLE中禁止手工录入该门店对应的杂项事务处理。库存超级用户职责/事务处理/杂项事务处理/事务处理行/帮助/诊断/自定义代码/个性化在杂项库存事务处理界面,在子库存字段上,在离开该字段的时候添加校验:根据子库存的门弹性域查找门店信息,判断该门店是否 已经POS上线,如果已经是POS上线的并且POS控制类型=现实门店,那么就不能通过验证。否则可以通过。即如果在对应门店已上线的子库做子库存转移,在保存时会出现以下错误:序号说明触发器事件触发器对象条件10FORBID MISCELL TRANSFERWHEN-VALIDATE-REC

18、ORDMTL_TRX_LINE(SELECT POS_ONLINE_DATE FROM XH_SHOP_INFO XSWHERE NVL(END_DATE_ACTIVE,SYSDATE + 1) TRUNC(SYSDATE)AND XS.SHOP_NUMBER = (SELECT MSI.ATTRIBUTE1 FROM MTL_SECONDARY_INVENTORIES MSIWHERE NVL(MSI.DISABLE_DATE,SYSDATE) TRUNC(SYSDATE)AND MSI.SECONDARY_INVENTORY_NAME = :MTL_TRX_LINE.SUBINVENTOR

19、Y_CODE) IS NOT NULLAND (SELECT POS_CONTROL_TYPE FROM XH_SHOP_INFO XSWHERE NVL(END_DATE_ACTIVE,SYSDATE + 1) TRUNC(SYSDATE)AND XS.SHOP_NUMBER = (SELECT MSI.ATTRIBUTE1 FROM MTL_SECONDARY_INVENTORIES MSIWHERE NVL(MSI.DISABLE_DATE,SYSDATE) TRUNC(SYSDATE)AND MSI.SECONDARY_INVENTORY_NAME = :MTL_TRX_LINE.SU

20、BINVENTORY_CODE) = REAL活动序号类型消息类型消息文本10消息错误子库存对应的门店POS已上线,不允许在ORACLE中进行杂项事务处理添加菜单项调用系统功能同时对订单行也要进行限制以下是个性化的执行效果。在tools菜单里增加了一个菜单项Executable,点击可以调出该并发程序所对应的可执行界面。调出结果如下:整体逻辑:打开并发程序定义界面,在Tools菜单栏下新加一个菜单项。点击该菜单时,如果并发程序名为空,则报一个错误。如果可执行名非空,增加一个全局变量 ,储存可执行的名称。点击新增的菜单项,可以打开可执行FORM。当打开可执行FORM时,对上述定义的全局变量进行初

21、始化。进入查询模式。将全局变量的值赋予可执行名称项值。进行查询。清除全局变量的值。以下是step_by_step编辑详情1、打开并发程序定义界面,再打开FORM个性化界面,定义一个名为Executable的个性化规则,对应的触发器事件为WHEN-NEW-FORM-INSTANCE2、在Actions里,增加一个Menu类型,其中Menu Entry选择SPECIAL1(SPECIAL1至15是在Tools菜单下,16至30是在Reports菜单下,31至45在Actions菜单下),Menu Label输入Executable(即菜单项标签),Icon Name为CONC_PROG即并发程序F

22、ORM对应的BLOCK3、保存,打开可执行界面,可以看到新增的菜单项,点击,没有事件发生。4、在可执行界面下,打开FORM个性化界面,我们增加一个事件为,如果可执行的名称为空,则报一个错误Please Enter Executable Name!新增一个个性化规则Check Executable Name,Trigger Event为SPECIAL1,条件为可执行名称为空。即:CONC_PROG.EXECUTABLE_NAME IS NULL5、在Actions下,设置一个Meassage 类型,Message Type为Error,Message Text为Please Enter Exec

23、utable Name!6、保存。打开并发程序定义界面,Executable Name项为空,直接点击Executable。7、出现错误信息:Please Enter Executable Name!8、在并发定义界面下,打开FORM个性化界面。我们先定义一个全局变量,储存可执行的名称,在后面中要用到。新增一个名为Excutable Entered的个性化规则,Trigger Event为SPECIAL1,条件为:CONC_PROG.EXECUTABLE_NAME is not null9、在Actions里加入一个Property类型,Object Type为Global Variable即

24、全局变量,变量名为XX_XH_EXECUTABLE_NAME,为了便于区分,我们FORM个性化的全局变量全部以XX_开头。Property Name为VALUE,Value为=:CONC_PROG.EXECUTABLE_NAME(前面有=号,如果不加等号的话,会被赋值为 :CONC_PROG.EXECUTABLE_NAME)。10、再增加一个Builtin类型,Builtin Type为Lunch a Function即调用一个功能,Function Code为FND_FNDCPMFE即可执行对应的功能,Function Name会被自动调出。11、保存。打开并发程序界面,查找一个并发程序,点

25、击ToolsExecutable,可以看到可执行定义界面被调出,但是没有数据。12、关闭并发请求界面,打开可执行界面,再打开FORM个性化界面。新增加一个FORM个性化规则INIT XX_XH_EXECUTABLE_NAME,触发器事件为WHEN-NEW-FORM-INSTANCE。我们做这个个性化规则的目的是初始化全局变量INIT XX_XH_EXECUTABLE_NAME。13、在Actions下,增加一个Property 类型,Object Type 为Global Variable,变量名为XX_XH_EXECUTABLE_NAME。Property Name为INITIAL VALU

26、E(注意与VALUE的区别,VALUE是直接赋值,而INITIAL VALUE为如果该变量为null或未被创建,会被赋初值,如果有值的话,则不会覆盖),Value为=null。这个个性化的目的是为了直接打开该FORM时,后面定义的用到此全局变量的个性化规则有效。14、新增一条名为Enter Query的个性化规则。触发器的事件为WHEN-NEW-FORM-INSTANCE,条件为:global.XX_XH_EXECUTABLE_NAME is not null 。即上面定义的那个全局变量的值不为空时才会执行。15、在Actions,设置一个Builtin类型,Builtin Type为DO_K

27、EY,就像在FORM中直接执行的语句。设置Argument为ENTER_QUERY即进入查询模式。16、新增一条名为Execute Query个性化规则,触发器项为WHEN-NEW-RECORD-INSTANCE,对象为FND_EXECUTABLES,条件为:global.XX_XH_EXECUTABLE_NAME is not null。Processing Mode改为Only in Enter-Query Mode。主要是能在查询模式下继续执行该代码,如果不改在并发程序界面调出可执行界面时,可执行会停在查询模式里。17、在Actions里,设置type为Property,Object T

28、ype为Item,Target Object为FND_EXECUTABLES.EXECUTABLE_NAME,Property Name为VALUE,Value为=:global.XX_XH_EXECUTABLE_NAME。18、增加一个Builtin类型,Builtin Type 为DO_KEY,Argument为EXECUTE_QUERY。即进行FND_EXECUTABLES.EXECUTABLE_NAME的值等于全局变量的查询。19、新增一条名为Clear XX_XH_EXECUTABLE_NAME Value个性化规则。触发器事件为WHEN-NEW-RECORD-INSTANCE ,对象为FND_EXECUTABLES,条件为:global.XX_XH_EXECUTABLE_NAME is not null20、在Actions里,设置Type为Property,Object Type为Global Variable,Target Object XX_XH_EXECUTABLE_NAME ,Property Name为VALUE ,Value为=null,即查询完之后将该全局变量的值清空。21、以下是执行情况。已解决和未解决的问题未解决问题编号问题解决方法责任人完成日期影响已解决问题编号问题解决方法责任人完成日期影响 (9-Dec-96)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1