Oracle_Forms开发基础知识
- 格式:doc
- 大小:2.97 MB
- 文档页数:35
oracle form编译标题:Oracle Form编译的工作流程概述:Oracle Form编译是一个重要的过程,它确保了应用程序的正确性和可靠性。
本文将介绍Oracle Form编译的工作流程,从源代码到可执行文件的生成。
一、源代码准备在开始编译前,首先需要准备好源代码。
这些源代码通常包括Form 模块、库文件和引用的对象等。
确保源代码的完整性和正确性,以避免编译过程中出现错误。
二、编译环境设置在进行编译之前,需要设置好合适的编译环境。
这包括指定编译器的路径、设置编译选项和参数等。
确保编译环境的配置正确,以避免编译过程中出现问题。
三、编译过程1. 语法检查:编译器首先会对源代码进行语法检查,以确保代码的正确性。
它会检查代码中是否存在语法错误、拼写错误等。
如果发现错误,编译器会给出相应的错误提示。
2. 语义检查:在通过语法检查后,编译器会进行语义检查。
它会检查代码中是否存在语义错误、逻辑错误等。
例如,检查变量的类型是否匹配、函数的参数是否正确等。
如果发现错误,编译器会给出相应的错误提示。
3. 优化处理:在通过语义检查后,编译器会对代码进行优化处理。
优化处理旨在提高代码的执行效率和性能。
它会对代码进行重构、删除冗余代码、优化算法等。
通过优化处理,可以使生成的可执行文件更加高效。
4. 生成可执行文件:在完成语法检查和优化处理后,编译器会将源代码转换成可执行文件。
这个可执行文件可以在Oracle Form运行时环境中被执行。
生成的可执行文件包括了应用程序的逻辑和界面等。
四、错误处理在编译过程中,可能会出现各种错误。
编译器会给出相应的错误提示,以帮助开发人员找出错误并进行修复。
开发人员需要根据错误提示,逐个解决错误,直到编译成功。
五、测试和调试在编译成功后,需要对生成的可执行文件进行测试和调试。
测试可以帮助开发人员验证应用程序的功能和正确性。
调试可以帮助开发人员找出和修复应用程序中的错误和问题。
六、总结本文介绍了Oracle Form编译的工作流程,从源代码准备到可执行文件生成的整个过程。
1 相关软件的安装1.1 Form Builder安装路径:(暂时没有)在安装的过程中,可以一路默认值下去。
需要注意的时候,在安装时,会不停的自动打开很多文件夹和命令提示符的窗口,不要手工去关闭这些窗口,安装程序会自动关闭,知道提示你安装成功(这时可以手工关闭余留下来的没有被关闭的窗口)。
注册表修改<1>、NLS_LANGHKEY_LOCAL_MACHINE\SOFTWARE\ORACLE搜索NLS_LANG, NLS_LANG=CHINESE_CHINA.ZHS16GBK 简体中文NLS_LANG=CHINESE_TAIWAN.ZHT16MSWIN950 繁体中文NLS_LANG=AMERICAN_AMERICA.UTF8 英文<2>、FORMS60_PATH变量在后面加上TEMPLATE/APST AND.FMB所在的路径(D:\WORK11)和PLL文件所在的路径(D:\resource11)。
2 注册表单2.1 注册表单开发管理员 表单表单:你编译生成的XXX.fmx文件的文件名(不带后缀)用户表单名:可以是你任意输入的,并且将在下一步注册功能时用到。
2.2 注册功能开发管理员→功能下图中,功能、用户功能名、说明逗可以随意输入但用户功能名在下一步注册菜单时会用到。
表单就是上一步注册表单时你输入的用户表单名了。
2.3 增加Menu开发管理员→菜单提示可以随便填写,功能就是你上一步注册的用户功能名一个菜单可以包含很多的子菜单找某个模组的菜单名称可以到:系统管理员工→安全性→责任→定义如下图,选择或者输入你想查找的职责的名称,查找后红色框内的菜单就是你需要的菜单了。
3 Form开发入门3.1 Form的基本对象3.1.1 基本对象图示如下图,就是一个标准Form(TEMPLATE.fmb)所拥有的所有的对象3.1.2 基本对象说明FORM:可以有多个窗口。
窗口:只能有一个画布,但是还可以包括其他的类型的画布。
ORACLE FORM 开发实战あsdファsdファsdfas李正海2008/09/22目录1一个基础的FORM (3)2一个查询FORM (12)3多画布的操作方法 (13)4LOV使用 (15)5LIST的使用 (22)6FORM的参数调用 (23)7包含主从表的FORM (26)8加入自定义菜单 (29)9加入图像的方法 (31)10一个选择的范例 (32)11常用系统热键 (35)1一个基础的FORM1.在文件中选择新建,表格,从而新增出一个FORM。
2.建立数据块a)在导航器中点击该FORM,选择数据块向导b)输入表名,点刷新,显示出字段名c)使用,把字段全部选择到数据库项中。
d)点下一步,注意使用默认的:“请先创建数据库,然后调用布局向导”。
3.建立布局a)进入布局向导b)选择默认的布局向导c)选择显示项,把可用项全部变成显示项d)选择框架风格为默认的表格e)指定框架的名称及显示记录数f)完成布局向导4.运行FORMa)运行FORMb)点击查询中的执行,显示出所有数据c)点增加,新建立一条记录,输入数据,点保存,完成一条记录的输入d)在某条记录中,改变数据内容,点保存,完成一条记录的修改e)点删除,则删除该记录f)点退出,结束FORM运行2一个查询FORM1.新建一个块2.加入一个框架3.加入数据项4.加入按纽,输入如下代码:GO_BLOCK('LZHTEST001');SET_BLOCK_PROPERTY('LZHTEST001',DEFAULT_WHERE,'NAME LIKE :block15.text_item21||''%''');EXECUTE_QUERY;3多画布的操作方法1.加入一个画布,再加入一个堆叠式画布。
2.加入两个块3.设置块的关系4.加入向子画布切换的按纽其对应的WHEN_BUTTON_PRESSED语句为go_block('lzhtest0011'); --lzhtest0011为子块名5.加入子画布隐藏的按纽HIDE_VIEW('CANVAS39');-- CANVAS39为子块所在的画布名GO_BLOCK('LZHTEST001');-- LZHTEST001为主块名4LOV使用设置LOV的基本过程包括如下:b)增加LOV,点击在导航器中的LOVS,点后,进行LOV添加。
Oracle Forms开发常用技巧1 手动提交Request在Form里面,我们可以用APPS.FND_REQUEST.SUBMIT_REQUEST 提交一个Request到Oracle Request Manager。
如果提交成功,该函数返回Request ID,否则,返回0。
1.1 初始化在提交一个Request之前,我们会调用Oracle Standard的Procedure对这个Request做一些基本的参数的初始化。
APPS.FND_GLOBAL.apps_initialize (user_id =>APPS.FND_er_id,);resp_id =>APPS.FND_GLOBAL.resp_id, resp_appl_id=>APPS.FND_GLOBAL.resp_appl_id1.2 FND_REQUEST.SUBMIT_REQUEST函数APPS.FND_REQUEST.SUBMIT_REQUEST有105个参数:APPS.FND_REQUEST.SUBMIT_REQUEST(APPLICATION IN VARCHAR2 DEFAULT NULL, PROGRAM IN VARCHAR2 DEFAULT NULL, DESCRIPTION IN VARCHAR2 DEFAULT NULL, START_TIME IN VARCHAR2 DEFAULT NULL, SUB_REQUEST IN BOOLEAN DEFAULT FALSE,RETURN NUMBER;chr(0),'','','','','','','','','','','','','','','','','','','','','','','','','','','','','', '','','','','','','','','','','','','','','','','','','','', '','','','','','','','','','','','','','','','','','','','', '','','','','','','','','','','','','','','','','','','','', '','','','','','','','','',''1.3 参数详解1.3.1 APPLICATION 必需参数Short name of the application associated with the concurrent request to be submitted. 应用程序的名称缩写。
OracleFORM开发笔记1、所有的项都必须要继承⽗项 (2)2、form触发器–了解 (2)3、form中最好使⽤⼤写命名 (2)4、form中的参数: (2)5、fnd_message.debeg (2)6、注意使⽤block、item、form级的触发器 (2)7、画布: (2)8、⼿动创建lov: (2)9、数据块名字不需要和window名称相同 (3)10、Form Trigger触发 (3)11、fnd_message的⽤法 (3)12、将form挂到erp⽅法 (3)13、进⼊form时挑选org_id (3)14、FORM开发标准使⽤FND_STANDARD.SET_WHO (3)15、主从form,⽤块中的relations来创建主块与副块的关系 (4)16、创建form步骤: (4)17、app_find触发器的学习 (4)18、不管是基于基表还是基于视图的Block,都建议编写ON-UPDATE、ON-INSERT、ON-DELETE、ON-LOCK触发器 (5)19、app_item_property.set_property (5)20、添加⽇历项: (5)21、lov的注意 (5)22、滚动条 (6)23、创建堆叠画布 (6)24、添加⾏指⽰符: (6)25、建⽴块查询步骤: (6)26、光标从块A点⼊块B时触发器执⾏过程: (7)27、创建tab画布步骤: (7)28、⼀个导航块中必须有⼀个ITEM可UPDATE或INSERT可输⼊ (8)29、⼀个块名称超过22个字符, (8)30、创建⽂件夹步骤及注意: (8)31、Oracle开发中出现FRM-40831错误的解决办法? (11)32、JTF Grid开发步骤 (11)33、使⽤view开发form步骤: (11)34、跳转到其他的form,在触发器中添加go_item(‘item_name’)函数,⾃动弹出item所在的canvas。
1汉得信息技术有限公司HAND Enterprise Solutions Company Ltd.Oracle_Form培训_V1.0来源:Oracle 标准培训教材编写人:商云方编写日期:20110630版本: 1.0Form Builder 是Oracle 的界面开发工具之一;在Oracle EBS ,Oracle Retek等大型应用产品中被广泛应用;比如EBS中的销售订单Form:URL tp://:8889/forms/frmseStatic HTML files OC4Jor HTTP ServerForms ServletForms Listener Servlet Forms Runtime EngineWeb browser 123DBPLX filesMMX filesForms application executables FMX filesWeb serverForms services客户层中间层: 应用服务器Form 运行原理1、客户端在浏览器中发出一个URL 访问请求2、应用服务器上的web 服务器接收到此请求后转发给Forms Servlet3、应用服务器上Forms Servlet 创建一个包含所需信息的html 页面,启动Form SessionStatic HTML files OC4Jor HTTP ServerForms ServletForms Listener Servlet Forms Runtime EngineURL Web browser45Applet started6DBPLX filesMMX filesForms application executables FMX filesWeb serverForms services 中间层:应用服务器客户层:8889/forms/frmse4、Oracle Web 服务器(或者OC4J )提供一个Java Applet 给客户端按需下载,客户层缓存该Applet5、客户层的Applet 和应用服务器上的Forms Listener Servlet 建立连接。
OracleForm开发笔记⽇期选择实现:1、设置Item属性数据类型:Date值列表:ENABLE_LIST_LAMP从列表中验证:否2、编写Item的KEY-LISTVAL触发器:calendar.show;窗⼝最⼤化时⾃动扩展⽂件夹数据块:在Form触发器:WHEN-WINDOW-RESIZED 增加以下代码1IF :SYSTEM.EVENT_WINDOW IN ('WINDOW_NAME') THEN2 APP_FOLDER.EVENT('WHEN-WINDOW-RESIZED');3END IF;有时⽂件夹堆叠画布设置的宽度不起作⽤,可以在Form触发器下增加如下代码:--设置FOLDER 和窗⼝右边距的距离IF :GLOBAL.FOLDER_ACTION ='VIEW-SIZE'THEN:GLOBAL.FOLDER_VIEW_SIZE_MARGIN :='0.05';END IF;设置记录颜⾊app_record.highlight('RED_REC');设置窗⼝居中在Form触发器:WHEN-NEW-FORM-INSTANCE增加以下代码app_window.set_window_position('WINDOW_NAME','CENTER');设置窗⼝标题在Form触发器:WHEN-NEW-FORM-INSTANCE增加以下代码app_window.set_title('WINDOW_NAME','TITLE_NAME');设置项属性1 set_item_property(ITEMID, insert_allowed, property_false/property_true);--插⼊2 set_item_property(ITEMID, update_allowed, property_false/property_true);--更新3 set_item_property(ITEMID, delete_allowed, property_false/property_true);--删除4 set_item_property(ITEMID, REQUIRED, property_false/property_true);--必需5 set_item_property(ITEMID, ENABLED, property_false/property_true);--可⽤6 set_item_property(ITEMID, DISPLAYED, property_false/property_true); --显⽰两项关联:调⽤app_field.clear_dependent_fields来将两个(或多个)item建⽴关联,当⽗item field变化时,⼦fields清空。
oracle form概念Oracle Forms是Oracle Corporation提供的一种应用程序开发工具,用于创建企业级数据库应用程序的用户界面。
它是一种基于图形用户界面(GUI)的工具,用于设计和构建数据输入表单和报表,以便与Oracle数据库进行交互。
Oracle Forms的主要概念包括:1.表单(Forms):表单是用户界面的主要构建块。
它是一个包含各种用户输入元素(如文本框、按钮、下拉列表等)的窗体,用户可以在其中输入和检索数据。
表单用于与数据库进行通信,执行查询、插入、更新和删除等操作。
2.窗体(Canvas):窗体是表单的一部分,表示用户界面的可见区域。
一个表单可以包含一个或多个窗体,每个窗体可以包含不同的用户界面元素。
窗体可以分为多个块(Block),每个块对应一个数据表或查询结果集。
3.块(Block):块是表单中用于显示和编辑数据的逻辑单位。
每个块对应一个数据表、视图或查询结果集。
块定义了数据的输入和输出,以及与数据库的交互方式。
4.触发器(Triggers):触发器是在特定事件发生时执行的PL/SQL代码块。
例如,在用户点击按钮或在数据更新时触发。
触发器用于定义应用程序的行为和业务逻辑。
5.对象库(Object Library):对象库包含了可在多个表单之间共享和重用的对象,如窗体、块、程序单元等。
这有助于提高开发效率和保持一致性。
6.数据块(Data Block):数据块是表单中用于存储和处理数据库中数据的逻辑结构。
每个数据块对应一个数据表、视图或查询结果集,用于实现数据的输入、修改和展示。
总体而言,Oracle Forms提供了一个可视化的开发环境,使开发人员能够轻松地创建与Oracle数据库交互的用户界面。
通过使用这些概念,开发人员可以设计灵活、高效且易于维护的企业级应用程序。