




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
System SpecificationProject Code: Project Name: Doc.No.: Page: 451 相关软件的安装1.1 Oracle Client1.1.1 Setup目前我们都是用9iClient,安装基本上是一路Default,如果出现9iClientsetup.exe不能执行的情况,请点击9iClientInstallWin32Setup.exe 进行安装安装时建议安装管理员(Administrator)1.1.2 注册表修改、NLS_LANGHKEY_LOCAL_MACHINESOFTWAREORACLE搜索NLS_LANG,出现NLS_LANGZHS16GBK或者NLS_LANGZHS16CGB231280的地方请全部修改成NLS_LANG=AMERICAN_AMERICA.UTF8、FORMS60_PATH变量在后面加上TEMPLATE/APSTAND.FMB所在的路径(F:WORKFORM)和PLL文件所在的路径(F:WORKPLL)。1.2 Patch安装这个Patch的原因(来自MetaLink):The information in this article applies to: Oracle Server - Enterprise Edition - Version: to Oracle Provider for OLE DB - Version: Microsoft Windows 2000Microsoft Windows XPMicrosoft Windows (32-bit)SymptomsUsing the Oracle Provider for OLEDB .0 with web applications, the data retrieved and sent to the webpage is good for the first 100 rows. After the First 100 rows, th data is displayed as garbage or ?. The OLEDB registry default fetchsize has been changed from the default of 100. CauseThis is a known BUG in the OCI API Layer. The BUG number is 2549186. FixApply the .0 Patch 2 Client/Database patchset on the client machine. The Patch number is 3160576 for the Microsoft Windows (32-bit) platform安装这个补丁就是要修正Oracle的100 Records的BUG。打补丁时请参看文档:1.3 Form Builder在安装的过程中,可以一路默认值下去。需要注意的时候,在安装时,会不停的自动打开很多文件夹和命令提示符的窗口,不要手工去关闭这些窗口,安装程序会自动关闭,知道提示你安装成功(这时可以手工关闭余留下来的没有被关闭的窗口)。1.4 CuteFTP作用:就是方便上传你写好的Form到Server或者从Server上下载Form或者其他的文件主机:98用户名:devap/ dev2ap/ dev3ap/ dev4ap密码:devap/ dev2ap/ dev3ap/ dev4apForm文件所在目录:/disk/DEV/devappl/au/11.5.0/forms/USPll文件所在目录:/disk/DEV/devappl/au/11.5.0/resource(包括Custom.pll)Fmx文件所在目录:/disk/DEV/devappl/bqe/11.5.0/forms/US1.5 NetTerm作用:编译我们写好的Form或者Pll文件点击进入后需要做系列配置:点击上图红色框框内的Button,会弹出配置文件1.5.1 配置IP如下图:Host Name:DEV/DEV2/DEV3或者其他名字均可Host/IP:98Telnet Port:23TCPIP1.5.2 取消本地端回应本地端回应产生的结果是:输入一个字符时,会自动的变成两个如下图红色框,实际上我输入的是一个d,但是显示的却是两个d取消的办法是:点击下图的红色框内的桌面将会弹出下图:去掉本地端回应的复选框的小勾勾然后确定即可。到此基本配置完成1.5.3 登录NetTerm点击下图红色框内Button就可以登录NetTerm了。目前用的用户名和密码分别是:devap/devapdev3ap/dev3apdev2ap/dev2ap1.5.4 NetTerm常用命令、有cd.、ls、cd等常用命令、f60gen编译Formf60gen module=XXPOQ002N.fmb userid=apps/apps123或者f60gen module=XXPOQ002N.fmb userid=apps/apps123 output_file=/disk/DEV3/dev3appl/bqp/11.5.0/forms/US/XXPOQ002N.fmx module_type=form batch=no compile_all=yes、f60gen编译CUSTOM.PLL文件f60gen module=CUSTOM20 userid=apps/apps123 module_type=library module_access=file output_file=CUSTOM20.plx2 注册Form在AP上面你才可以看到你所写的Form的真正效果,所以我们还需要把Form挂到AP环境。2.1 注册FormApplication Developer Application Form Form:你编译生成的 XXX.fmx文件的文件名(不带后缀)User Form Name:可以是你任意输入的,并且将在下一步注册Function时用到。2.2 注册FunctionApplication Developer Application Function下图中,Description TabPageFunction、User Function Name、Description逗可以随意输入但User Function Name在下一步注册Menu时会用到。Form TabPageForm就是上一步注册Form时你输入的User Form Name了。2.3 增加MenuApplication Developer Application MenuPrompt可以随便填写,Function就是你上一步注册的User Function Name一个Menu可以包含很多的子菜单(SubMenu)下图就是目前DEV3上面PO Module的所有菜单,可以看到包含很多的SubMenu和直接的Function(也就是直接的菜单项)找某个模组的菜单名称可以到:System AdministratorSecurityResponsibilityDefine如下图,选择或者输入你想查找的Responsibility的名称,查找后红色框内的 Menu就是你需要的菜单了。比如下图查找的Reponsibility是:Order Management (Administrator), BQP得到的Menu是ONT_SUPER_USER然后我们再到Application Developer下面的Menu处搜索ONT_SUPER_USER,就可以得到你需要的菜单或者子菜单到此,你已经在可以AP上去看你的Form的运行结果了。修改fmb文件后,不需要重新注册,只需要重新编译,即可看到修改后的效果。3 Form开发入门3.1 Form的基本对象3.1.1 基本对象图示如下图,就是一个标准Form(TEMPLATE.fmb)所拥有的所有的对象3.1.2 基本对象说明FORM:可以有多个Window。Window:只能有一个CANVAS,但是还可以包括其他的类型的CANVAS,比如CANVAS_STACKED,这种Canvas类型将在后面的章节中讲到。Canvas:Canvas is a surface where visual objects,such as graphics and items,are arranged.和Block没有直接的对应关系,而是直接和Item对应。一个Canvas上面可以有来自不同的Block的多个Item.是我们对Item进行位置调整的平台。Block:Logical owner of items,items in one block are logically relatedThere are two main tupes of blocks:data block and control blockItem:Form中最基本的组织元素,我们设计的最小单元Parameter:相当于全局变量,其作用是传递参数,Oracle标准的Form也有单独建一个Block(多个Item)来传递参数的例子。Record Group: 主要应用是可以提供给LOV与listitem,ftree作为数据源ArecordgroupisinternalFormBuilderdatastructurethathasacolumn/rowframeworksimilartoadatabasetableLOV:List Of Value,会直接对应到Text Item上面,点击后会弹出给用户选择数据。Attached Libraries:存放的是Oracle标准的一些PLL文件。Property Classes:Oracle标准的一些属性类,我们在建立Window、Canvas、Data Block等都会选择一个属性类以继承一些属性和方法在我们的开发过程中,经常用到的有FORM Trigger、Window、Canvas、Data Block(Item)、LOV(List of Value)、Record Group、Parameters。其中Window、Canvas、Data Block、Item是四个最基本的Object,缺一不可。3.2 利用TEMPLATE.fmb模板来开发FormOracle已经为我们提供了一个Form的开发模板,(/disk/DEV/devappl/au/11.5.0/forms/US/TEMPLATE.fmb)我们的开发实际要基本这个模板,这个模板里面已经存在了我们将会用到的Oracle标准的对象,我们需要做的,就是这这个模板的基础上面,添加我们自己的对象。3.2.1 下载、打开TEMPLATE.fmb然后选择另存为,比如这里的XXPOM100N.FMBForm Name必须符合Form的命名规范之6-3. File naming同时修改下图中的红色方框内的名字,达到保持一致的目的。修改TEMPLATE为XXPOM100N3.2.2 删除自带的样本对象这几个Object,是TEMPLATE.FMB自带的对象,需要全部删除的。注:不删除不会有大的影响,当时会给后期的修改维护带来不便,请删除之.可以删除的Objects3.2.3 增加新的Window如图,修改Name,SubClass Information,Title属性Primary Canvas属性必须在增加Canvas后再设置SubClass Information属性设置:3.2.4 增加Canvas为了便于识别,我们建议把Window、Canvas采取同样的命名。如图,需要修改Name,SubClass Information,Window属性SubClass Information属性设置:增加完Canvas之后,别忘了回去设置Window属性的 Primary Canvas 3.2.5 增加Data Block如下图:、选择Data Blocks、选择Create选择之后,会弹出一个New Data Block的对话框、选择Build a new data block manually、选择Build a new data block manually、选择Create、选择Data Blocks目前我们一般都是用手工建立一个新的Data Block,用Data Block Wizard的情况会在后面有讲解。然后需要修改Block的一些基本属性:其中,我们必须设置SubClass Information,其他的一些属性设置会在后面的章节讲到。3.2.6 修改Trigger这两个Trigger一定要修改,否则你的Form不能正常的运行和关闭。、Form Level Trigger:PRE-FORM修改Form的基本信息,便于后期维护一定要修改成自己的Block Name QUERY_TEST、Program Units:APP_CUSTOM(Package Body)if (wnd = QUERY_TEST) then app_window.close_first_window;3.2.7 修改Form的属性做了上面一系列的设置后,需要完成最后一个设置,修改Form的属性。到这里,我们Form的一些基本设置都完成了。该Form可以上传,编译,但是在编译的时候会有如下的警告信息:No Items on block QUERY_TEST编译还是能够正常生成FMX文件。不过Item是我们设计的最小单元,我们的一切数据操作都是对Item进行的,因此一个没有Item的Form是没有实际意义的。按照我们前面讲的注册Form之后,点击你的Menu,会弹出如下信息, 并且不会把你的Form Show出来:3.2.8 增加Item、增加一个Item、选择 Items、点击 Create、修改Item的属性好了,到此,一个基本的Form已经完成。可以正常编译,运行,但是这个Form是一个没有任何实际意义的对象。我们开发Form的过程,就是按照这个大致流程,后续的过程,就是自己在这个Form里面增加Window、Canvas、Block、Item、Trigger等。3.2.9 在Canvas上进行UI调整我们都是在Canvas上面对Item进行位置的调整,达到使整个Form看起来美观整齐的目的。右键单击一个Item,在弹出的菜单中选择Layout Editer就能打开这个Item所在的Canvas右键单击一个Canvas,在弹出的菜单中选择Layout Editer或者双击该Canvas的图标,都能打开这个CanvasCanvas排版界面:View:运行时所看到的实际大小Canvas:所有Item必须在其上面注意:在Canvas上面看到的Item,必须全部都在这个Canvas的范围里面,否则,在编译时会出现错误:超出Canvas的范围编译时的错误提示4 Form 常用对象设计4.1 日历Calendar的使用这是在TEMPLATE.fmb里面内置的对象,可以看到,Form里面包含Calendar Window、Calendar Canvas、Calendar Data Block以及一些Trigger、Attached Libraries等。4.1.1 设置Item的LOV属性注意:请务必选择No如果需要日期验证,请把Item的Data Type属性设置为Date请注意:这个地方的Validate from list请务必选择No,否则会出现你选择了日期之后弹出一个LOV让你对输入的日期验证,只要你设置Data Type为Date,会自动验证你输入的字符是不是一个合法的日期格式 4.1.2 增加Item Trigger KEY-LISTVAL一定要写,大小写不敏感这样你就可以在你的Form上面看到,光标落入该Item后,就可以弹出一个(下左图)4.1.3 设置Calendar.Show的参数calendar.show是可以带参数的,缺省值就是当前天(可以打开Attached Libraries-APPDAYPK-Calendar)。其参数就是该日历的缺省Date例如:calendar.show(to_date(2004-12-25,YYYY-MM-DD);那么弹出来的就是上面右图的样式4.2 LOV(List of Value)设计LOV一般都是和Item联系在一起,是方便Item取值,验证数据的一种方法.Calendar就是Oracle内置的一个LOV4.2.1 设置Record Group、在弹出的对话框中选择Based on zhe query below并且输入你的SQL语句、选择Create、选择Record Groups如果在此之前你没有用FileConnect来连接到某个DataBase,就会弹出如下的对话框:设置完成后修改该对象的Name(VENDOR_NO)4.2.2 增加LOV、选择Build a new LOV manually、选择LOVS、选择Create4.2.3 设置LOV的属性点击 OK 之后修改LOV的几个属性:Name:Title:Record Group:选择你建立的Record GroupFilter Before Display: Yes:必须输入条件才能有记录出来(以%来匹配)No:如果没有条件则显示所有记录。Automatic Display:Yes:等价于:事件就是你光标一进这个Item,就会弹出LOV。Automatic Refresh:是否每次执行记录组查询 就如动态填充下拉列表数据项是,将填充代码写到和 中一样,主要体现在该在多次调出LOV的时间间隔里,对记录组相应的表作了修改后是否刷新了记录组查询数据。Automatic Select:当只有唯一一条记录是直接接收返回值,而无须弹出LOV让用户做毫无选择的选择。Automatic Skip:Yes:关闭LOV后光标跳到下一个ItemNo:关闭LOV后光标仍然停留在本Item上面当然,最重要的是Column Mapping Properties,点击More:4.2.4 设置Item的List of Values属性Validate from List: 该Item是可以手工输入值的,这个属性就是设置是不是验证你输入的值是否存在于这个LOV里面4.3 增加Choose ORG功能有些Form,在第一次进入的时候需要你选择一个ORG,比如:PO Module-Receiving-Receipts实现这个功能需要如下的几个步骤:4.3.1 增加Parameter在Parameter里面增加如下几个参数:(前后顺序无所谓)CHART_OF_ACCOUNTS_ID(Number)ORG_NAME(Char)ORG_CODE(Char)ORG_ID(Number)4.3.2 修改Trigger在FORM Level的Trigger里面增加一句:FND_ORG.CHOOSE_ORG;这样就可以在你的Form第一次打开之前,会让你选择一个ORG:当然,Choose ORG也可以加载在某一个Block上,那么我们只是需要在Block Level的PRE-BLOCK Trigger里面加上FND_ORG.CHOOSE_ORG;就可以了。4.3.3 显示ORG在Window Title上面选择了一个ORG,Oracle会把你选择的ORG的ORG_CODE显示在Window的Title上面需要修改下面的Trigger:(视你把Choose ORG加在FORM上还是BLOCK上)WHEN-NEW-FORM-INSTANCE或者WHEN-NEW-BLOCK-INSTANCE上增加:APP_WINDOW.SET_TITLE(RESULT,:PARAMETER.ORG_CODE);Window Name这样,你的Form或者Block生成之后会有下面的效果:会在你的Title属性里面设置的字符串后面加上你现在设置的,而不是覆盖你原来的.4.4 List Item4.4.1 在属性里面设置List Item选项这种方式值List Item的选择都是在添加List Item时在属性设置时就全部增加进去的。需要设置下面的几个属性:NameItem TypeSubClass PropertiesInitial Value: 缺省选项还有就是设置选项了:点击 Elemets In List:会弹出如下的对话框值页面显示执行出来的效果:4.4.2 在代码中增加List Item选项这种List Item其实就是我们在某个Trigger里面用代码来增加其选项.比如在Blcok Level的WHEN-NEW-BLOCK-INSTANCE里面增加:Index是1开始,而不是0ADD_LIST_ELEMENT是Form内置的函数,可以在帮助里面查看其参数含义4.4.3 用Record Group的记录作为选项这种情况的选项一般都是从DataBase中读取出来:group_id:=POPULATE_GROUP(VENDOR_RG); POPULATE_LIST(QUERY_TEST.LIST_RECORD_GROUP,VENDOR_RG);POPULATE_GROUP和POPULATE_LIST都是Oracle Form内置函数Block.ListItemRecord Group Name4.5 Text Item最常用的Text Item按照不同的SubClass Information又分为下面的几种情况4.5.1 TEXT_ITEM可编辑的Text_Item这种Text_Item重要的有下面几个属性:Enabled:Justification:Text_Item里面的文本对齐方式Multi-Line:是否是多行文本框Automatic Skip:Yes时,key in 的长度大于Maxinum length时,会自动跳到到下一个ItemKeyboard Navigable:No:按Tab键时光标
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省枣庄市滕州市滕南中学2024-2025学年八年级下学期第二次质量检测生物试题(含答案)
- 保定移动轻钢房施工方案
- 2026届湖北省云梦县英语九上期末考试模拟试题含解析
- 2026届河南聚焦英语九上期末调研模拟试题含解析
- 河南省洛阳市新安县2026届化学九年级第一学期期中经典试题含解析
- 浙江省湖州市名校2026届化学九上期中学业水平测试试题含解析
- 高净值家庭离婚子女财产监护与教育支持协议模板
- 生物技术公司生物酶技术成果转化保密协议
- 物业租赁合同范本:仓储物流租赁及物业管理合同
- 电信运营商客户数据安全保密及通信秘密保护协议
- 【绥化】2025年黑龙江省绥化市兰西县体彩中心招聘体彩专管员1人笔试历年典型考题及考点剖析附带答案详解
- 四川省成都龙泉中学2025-2026学年英语高三第一学期期末学业水平测试模拟试题
- 2025年全国企业员工全面质量管理知识竞赛题库
- 保管员工勤技师综合测试试卷及参考答案
- 2025年AI应用AI Agent架构新范式报告
- 法律顾问服务投标方案(完整技术标)
- 神经系统的分级调节课件 【知识精讲+备课精研+高效课堂】 高二上学期生物人教版选择性必修1
- 中医门诊消毒隔离制度
- 三年级上册数学试卷-第一单元 混合运算 北师大版 (含答案)
- 教学课件-英语学术论文写作(第二版)
- 实习证明模板(两种格式)
评论
0/150
提交评论