深入浅出Oracle_EBS之Forms开发指南
Oracle erp最佳技术实践Doc Ref: April 5, 2007ContentsDocument Control开发背景与基础1.1读者基础要求……….…········12.用户和常用工具1.3.AOL开发框架.14多组织支持······················61.5.主要实例基于EBS的Foms开发过程2.1.Form文件类型…22. Forms builder安装23.下载 Template相关文件24.一个简单的例子创建数据库对象2.5个简单的例了从模版开始设计2.6.一个简单的例子编写数据操作触发器322.7个简单的例了.上传&编译372.8.个简单的例子.在EBS中注册运行…37参数、List、LOV、宇段和记录控制、日历4031.例子; Parameter参数32.例子:List值列表.413.3.例子:LOV窗口式值列表423.4例子:字段和记录控制.435.例子:日历3.6.上传&编译&运行行指示符、主从块、滚动条、 Stacked&Tab画布、多行文本…14741.例子:销售订单行e非申;·和474.2.例子: Master- Detail主从块494.3.例子:滚动条·······…···········44.例子: Stacked画布…4.5.画布小结4.6.例子:Tab画布4.7.例子:控制Tab画布624.8.例子:多行文本框63Lov查询、块査询、 Button查询原理52.例子:Lov査询5.3.例子:块查询67Torms开发指南Document control iiFile ref:深入浅出 Oracle ebs之 Forms开发指南doc( V DRAFT1A)Company Confidential- For internal usc onlOracle erp最佳技术实践Doc Ref: April 5, 200754.例子: Button,,,,,,69触发器层次关系、常用触发器编写规范∴…6.1.理解层次关系……,2,触发器原理706.3.基于EBS模版开发的触发器6.4.些触发器的理解…7.描述性弹性域、Key弹性域、Key弹性域査询471.描述性弹性域开发步骤72.Key弹性域开发步骤…..…Folder、 JTF Grid…8.1. Folder开发步骤.82. JTF Grid开发步骤····················85多语言开发91.国际化支持....99.2.Form自身的多语言版木9.3.数据多语言开发步骤…9094.EBS启用新语言时的考虑附件开发.100101.关于附件…100102.标准附件设置1001. Javabean10511.1. Form Java15112.例子: Hello world·······························10711.3.例子:执行PC本地命令···114.例子:读取PC文本文件“申“申·····非非申申申·和11312Form个性化11612.1.Form个性化原理.116122.例子;修改字段 Prompt117123.例子:有条件显示消息118124.例子:添加菜单……125.例子:打开功能120126.例子:执行查询121127.例子: Instance间迁移122技巧、常用代码….123131.Form中的变量……………………………………123132.初始值、格式掩码.…….…12313.3.消息处理.124134. Special菜单….…124135.库存组织访问···········4·:····…124136.常用内置过程…………125137.待续······…··················…······125附录:我开始学习Form时的笔记1,仅供参考,未必100%正确.…126附录:我开始学习Forn时的笔记2,仅供参考,未必100%正确Torms开发指南Document control ivFile ref:深入浅出 Oracle ebs之 Forms开发指南doc( V DRAFT1A)Company Confidential- For internal usc onlOracle erp最佳技术实践Doc Ref: April 5, 200714. Open and Closed issues for this deliverable132Open Issues.132Closed issues∴““·a···;“;132Torms开发指南Document control vFile ref:深入浅出 Oracle ebs之 Forms开发指南doc( V DRAFT1A)Company Confidential- For internal usc onlOracle erp最佳技术实践Doc Ref: April 5, 20071.开发背景与基础11.读者基础要求1、有EBS的使用经验,尤其是Form的使用经验2、创建客户化应用,参考《深入浅出○ racle ebs之全模块设置详例》第一章节3、熟悉PL/SQL4、熟悉 Telnet和FTP工具,熟悉 Windows常规操作5、理解或丌发过数据库应用系统有Form开发经验则更佳12.用户和常用工具1.2.1.区分3类用户1、OS用户:包括超级用户root,应用OS用户如 applprod,数据库OS用户如oraprod。后两个用户具体由dba安装环境时创建,名字不定。2、数据库用户:包括内置管埋用户sys、 system,EBS用户apps,EBS各模块用户applsys、gl、inv、po、ar、ap等等,EBS网关用户 applsyspub3、EBS用户:也叫OA用户、应用用户、ERP用户,包括默认超级用户 sysadmin,其他内置用户(参见《深入浅岀 Oracle ebs之安全机制探索》),企业实施、使用过程中创建的用户。122.Form开发使用的用户和工具Forms开发过程中需要具体使用如下3个用户。1、应用OS用户:用 telnet工具如 SecureCrt登录服务器,获得各$ XXX TOP的具体路径、编译form和pl;用FIP如 cuteftp连接服务器,下载必要文件、上传开发的ormo2、APPS:用PL/ SQL Developer登录数据厍,创建各类数据库对象。3、 sysadmin或者拥有应用开发员和系统管理员职责的等价用户:注册form等各AOL对象、测试form。13.AOL开发框架13.1.再说 NavigatorForms自身菜单其实和传统菜单一样Torms开发指南开发背景与基础2of136File ref:深入浅出 Oracle ebs之 Forms开发指南doc(. DRAFT1A)Company Confidential- For internal usc onlOracle erp最佳技术实践Doc Ref: April 5, 2007回深入浅出 Drade [DS,之m要点英辜dh- soft word文件能C)视图)插入〔)格式具红表格凶)窗口¢)帮) Adobe pdf acrobat conment5然而EBS中基本摒弃 Forms自身的菜单功能,而是专门开发了一个 Navigator界面,采用树形结构显示菜单,每个菜单项对应一个 Forms:Budgets Enter: AmountsEnter budget amountsDeletDefiTransfp这里的菜单是可随意组织的,因此非常灵活,而不用如传统菜单那样要么写死要么用代码控制。实际上,该方式完成∫EBS最主要的安仝性控制——功能安仝性,为什么这么说呢?13.2.AOL开发框架:EBS功能安全性基本原理这里仪说明 Forms部分,其他的可参考《深入浅出 Oracle ebs之安全机制探索》。安全性最终都要落实到“用户”身上,即某一用户是否具有某一权限;功能安全性的核心就是某一用户是否具有运行某一个 Forms的权限。为了方便管理,分类维护,EBS在“用户”和“ Forms”之间加了几个层次。考察如下过程:1、“用户”如 sysadmin登录,系统验证其用户名/密码2、如果OK,系统列出其拥有的所有角色,在EBS中叫“职责”( Responsibility)而每个职责,都对应一个定义好的“菜单”3、当用广选择相应的职责进入“ Navigator”后,显示的就是此菜单的内容4、每个底层菜单项,还不是直接对应 Forms,而是先对应一个“功能”( Function),由功能再去对应一个具体的“ Forms”。这里的好处是,在功能上可以定义参数比如査询条件、控制码等,然后传递给 forms,当然大部分情况是不定义参数,所以功能和 Forms基上是一一对应关系5、用户点击菜单项,到定义 Forms时指定的应用的TOP下,找到“fmx文件”执行之Torms开发指南开发背景与基础3of136File ref:深入浅出 Oracle ebs之 Forms开发指南doc(. DRAFT1A)Company Confidential- For internal usc onlOracle erp最佳技术实践Doc Ref: April 5, 2007所以,反过来,如果我们开发好一个 Forms,要在EBS中跑起来,完整的过程就是为该Forms”定义“功能”,定义“菜单”调用该功能,定义“职责”使用该菜单,最后把职责分配给“用户”等一系列无 Coding的定义T作1.3.3. Template fmb专业的软件系统,其操作方式、界面风格总是非常统一,即便是后来收购集成进来的模块,经过调整优化后,风烙也基本一致。那么如何才能做到统一呢?一是依赖于规范文档,大家老老实实照标准开发;二是采用更加直接有效的办法—一模版。Oracle ebs的 Forms,基本上都是从 Template fmb开始,该模版预先定义了1、各种界面元素的屈性集一一子类2、常用的控件——日历、进度条3、一系列Form级触发器,统一处理各种未被明确处理的事件4、丰富的PLL库函数,大大超越了 Forms builder内置的函数所以,我们基于EBS的开发,当然也是从 Template fmb开始134.EBS文件系统EBS文作系统,指其以怎样的目录结构组织各种可执行文件、命令文件、配置文件的从整个EBS的角度看,分DB、APP两部分、五个大目录:DatabaseApplication TiereyersDATADBAPPLORACOMINOracle 9iOraclAs806omronfor thAOracle hiOraclesfor the oracleDg,irp,RDBMSHTML andApplcationsTechnology其中COMN目录(对应环境变量$ COMMON TOP)存放服务启停脚本和基于HTML的应用文件(Java类、JSP页等):Torms开发指南开发背景与基础4of136File ref:深入浅出 Oracle ebs之 Forms开发指南doc( V DRAFT1A)Company Confidential- For internal usc onlOracle erp最佳技术实践Doc Ref: April 5, 2007adinin himl java porta. tep utilCOMMON TOPadminAPPL(对应环境变量$ APPL TOP)则存放配置文件、各种管理脚本、各模块应用代码PPL(other productON TEXT NAME=CITadminAPPS=CONTEXT NAME erwIL5,0I1.5.0(other product sub directories and filesAPPL下的各个应用模块目录,则是本次介绍的主角了:ll.5.adminfor'lllshtmlJavaIesgpatcheportshelpincludemediaoutplsqlAU模块存放fmb、pl、plx文件、各应用模块存放fmx文件,具体是;SAU TOP/resourcepl件、plx文件SAU_TOP/forms/US英文fmb文件AU_ TOP/forms/<语言代码>特定语种(如ZHs)的fmb文件S<应用简称> TOP/forms/US:各模块英文fmx文件录S<应用简称>TOr/ forms/<语言代码>特定语种(如ZHS)fmb文件Torms开发指南开发背景与基础5of136File ref:深入浅出 Oracle ebs之 Forms开发指南doc( V DRAFT1A)Company Confidential- For internal usc onlOracle erp最佳技术实践Doc Ref: April 5, 2007上面<应用简称>,如INV、GL、AP、AR等等,在 System Administrator职责下的Application/ Register中定义通常各个企业都会创建一个客户化应用来管理二次开发的所有代妈和设置,比如CUX、HAND等,下面以CUX(客户化的意思)为例。总之我们需要的模版及相关文件在AUTO下;我们开发的fmb文件呢,也应根据上述规则传到$AU_TOP/ forms的相关语言路径下,不过为管理、备份方便,实际开发中可能故意违反EBS的规则,与fmx一起放在$ CUX TOP/ forms的相关语言路径下。详情可参考: Arone的《11 Concepts.ppt》或 Oracle的《 racle ApplicationsConcepts》PDF14.多组织支持141.说明Oracle的多组织数据屏蔽,设计要点如下1、核心层次:业务组BG→账套SOB→法人实休LE→经营单位OU→斥存组织INV,这些层次统称为组织,可通过视图 org_organization_definitions查看关系2、数据级別:表中设计有组织ID来屏蔽;不同模坎因为针对的层次不同,其组织ID含义不同,比如HR的表用 Business _group_ld,G的表用 Set of book id,AR/AP/PO/OM等表用经营单位 Org_Id,INV/MRP/WP/BOM等模块用库存组织 Organization_Id3、程序级别:用户登录、选择职责后,其所能操作的业务组、账套、法人实体、经营单位就确定∫,这个是通过相关的 Profile来设置的;当进入制造和库存相关模块,需要通过 Change Organization菜单来获得可操作的库存组织。 Oracle标准的Package、Form、Java等程序,都是严格根据当前用户的参数来过滤各模块表数据15.主要实例本文档主要围绕开发销售订单来介绍Form开发过程中涉及的关键技术点1.51.销售订单销售订单最核心的内容为:某客户,在某天,以何价格,购买多少数量的哪些商品张销售订单,客户是一定的,销售员可能有多个,这里假定只记录主销售员,所以这两个信息构成销售订单的“头信息”;一次订单,客户通常公同时购买多种商品并且未必是同一天要货,这样需求日期、商品、数量、价袼构成销售订单的“行信152.开发需求分析销售订单还需要记录其它重要的内容,这个可直接参照EBS的“ Sales order”,为学习方便,这里仅加入如下不完整、不严谨的信息Torms开发指南开发背景与基础6of136File ref:深入浅出 Oracle ebs之 Forms开发指南doc( V DRAFT1A)Company Confidential- For internal usc onl
下载地址
用户评论