Oracle_Forms开发基础知识
oracle form编译
oracle form编译标题:Oracle Form编译的工作流程概述:Oracle Form编译是一个重要的过程,它确保了应用程序的正确性和可靠性。
本文将介绍Oracle Form编译的工作流程,从源代码到可执行文件的生成。
一、源代码准备在开始编译前,首先需要准备好源代码。
这些源代码通常包括Form 模块、库文件和引用的对象等。
确保源代码的完整性和正确性,以避免编译过程中出现错误。
二、编译环境设置在进行编译之前,需要设置好合适的编译环境。
这包括指定编译器的路径、设置编译选项和参数等。
确保编译环境的配置正确,以避免编译过程中出现问题。
三、编译过程1. 语法检查:编译器首先会对源代码进行语法检查,以确保代码的正确性。
它会检查代码中是否存在语法错误、拼写错误等。
如果发现错误,编译器会给出相应的错误提示。
2. 语义检查:在通过语法检查后,编译器会进行语义检查。
它会检查代码中是否存在语义错误、逻辑错误等。
例如,检查变量的类型是否匹配、函数的参数是否正确等。
如果发现错误,编译器会给出相应的错误提示。
3. 优化处理:在通过语义检查后,编译器会对代码进行优化处理。
优化处理旨在提高代码的执行效率和性能。
它会对代码进行重构、删除冗余代码、优化算法等。
通过优化处理,可以使生成的可执行文件更加高效。
4. 生成可执行文件:在完成语法检查和优化处理后,编译器会将源代码转换成可执行文件。
这个可执行文件可以在Oracle Form运行时环境中被执行。
生成的可执行文件包括了应用程序的逻辑和界面等。
四、错误处理在编译过程中,可能会出现各种错误。
编译器会给出相应的错误提示,以帮助开发人员找出错误并进行修复。
开发人员需要根据错误提示,逐个解决错误,直到编译成功。
五、测试和调试在编译成功后,需要对生成的可执行文件进行测试和调试。
测试可以帮助开发人员验证应用程序的功能和正确性。
调试可以帮助开发人员找出和修复应用程序中的错误和问题。
六、总结本文介绍了Oracle Form编译的工作流程,从源代码准备到可执行文件生成的整个过程。
Oracle数据库实用教程-第13章 Form基本编程
13.3 检验与例外处理 1. 在项级(Item)设置验证 2.在记录级(Record)设置验证 3.在块(Block)级和Form级设置验
证
5
13.4 用程序实现操作导航
块间导航语法为 GO_BLOCK('BlockName');
项间导航语法为 GO_ITEM('BlockName.ItemName' );
Form模块间导航语法为GO_FORM
('FormName');
6
13.5 错误信息捕获
相关的内部函数如下:
(1)ERROR_CODE表示错误号,数字型 。
(2)ERROR_EXIT错误信息文本,字符型 。
( 3 ) ERROR_TYPE 错 误 的 类 型 , 字 符 型
。
7Hale Waihona Puke 13.6 系统提示信息的处理 Oracle提供了确定提示信息
3
13.2 编写PL/SQL程序单元
Form中可用的PL/SQL程序包括程序 单元、PL/SQL程序库和包。程序单元是 Form模块的子程序。PL/SQL程序库是 一个函数和过程的集合,其中包括自定 义的函数和过程。子程序包是一组由逻 辑上相关的PL/SQL数据类型、实体和子 程序组成的一个应用实体。
9
的内部函数: MESSAGE_CODE、 MESSAGE_TYPE和 MESSAGE_CODE。
8
本章小结
在Form中编程,至少涉及到触发器、程序 单元、PL/SQL程序库、包、检验与例外处理 、用程序实现操作导航、错误信息捕获、系统 提示信息的处理等多个方面。其中最基本也是 最重要的是正确理解Form中的触发器。Form 中的触发器触发器可定义在Form、块、记录 和项4个层次上,由此可完成不同级别的数据 检验和事件处理过程。
OracleForm开发基础知识
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_开发实战
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开发常用技巧
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开发笔记
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。
Oracle_Form培训_V1.0
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 建立连接。
ORACLE_FORMS_培训
开发简单例子:
五.建立控制Block: 1.创建B_CTRL,用于管理B_MAIN中数据, 如查找和保存 2.创建EMP和DATE的ITEM,用于做查询 条件 3.创建按钮FIND和SAVA,用于查找和 保存数据
开发简单例子:
6.在按钮FIND上建立Trigger,指定它 查找B_MAIN 7.在按钮SAVA上建立保存数据Trigger 8.在B_MAIN上建立PRE-QUERY,用于判 断查询条件,如EMPNO和时间等
四.Oracle Application中主要的操作画面都是由Forms Builder制作 而成的.
目录
Oracle Forms Builder介绍 开发软件安装 配置开发环境 Forms Builder基本对象 开发简单例子
开发软件安装:
一.下载Oracle Developer Suite(下载路径参照备注) 二.如下图所示
目录
Oracle Forms Builder介绍 开发软件安装 配置开发环境 Forms Builder基本对象 开发简单例子
开发简单例子:
一.打开TEMPLATE: 1.修改Forms名称. 2.去除数据块中BLOCKNAME和DETAILBLCOK. 3.去除画布中BLOCKNAME. 4.去除窗口中BLOCKNAME.
配置开发环境:
七.如无上述六个步骤的配置,我们在打开template.fmb时,系统 会提示如下图错误:
目录
Oracle Forms Builder介绍 开发软件安装 配置开发环境 Forms Builder基本对象 开发简单例子
Forms Builder基本对象:
1.窗口(Windows):包含画布的窗体. 2.画布(Canvas) :是对ITEM调整的平台. 3.数据块(Block):一般与数据库中表关联. 4.项(Item):基本组织元素. 上述四个为最基本对象,缺一不可. 5.附加库(Attached Libraries):标准PLL文件. 6.LOV:提出用户选择数据. 7.参数:传递参数,相当于全局变量. 8.程序单元:建立PLSQL. 9.记录组(Record Group):提供数据源.
OracleForm开发笔记
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 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数据库交互的用户界面。
通过使用这些概念,开发人员可以设计灵活、高效且易于维护的企业级应用程序。
Oracle_Forms开发基础知识
1.1
安装路径:\\sie-file-svr\01_公司级共享资源\06_工具软件\06开发工具\6i
在安装的过程中,可以一路默认值下去。
需要注意的时候,在安装时,会不停的自动打开很多文件夹和命令提示符的窗口,不要手工去关闭这些窗口,安装程序会自动关闭,知道提示你安装成功(这时可以手工关闭余留下来的没有被关闭的窗口)。
framework similar to a database table
LOV:List Of Value,会直接对应到Text Item上面,点击后会弹出给用户选择数据。
Attached Libraries:存放的是Oracle标准的一些PLL文件。
Property Classes:Oracle标准的一些属性类,我们在建立Window、Canvas、Data Block等都会选择一个属性类以继承一些属性和方法
3.2
Oracle已经为我们提供了一个Form的开发模板,(/disk/DEV/devappl/au/11.5.0/forms/US/TEMPLATE.fmb)
我们的开发实际要基本这个模板,这个模板里面已经存在了我们将会用到的Oracle标准的对象,我们需要做的,就是这这个模板的基础上面,添加我们自己的对象。
下图中,
Description TabPage
Function、User Function Name、Description逗可以随意输入
但User Function Name在下一步注册Menu时会用到。
Form TabPage
Form就是上一步注册Form时你输入的User Form Name了。
<3>、选择Build a new data block manually
OracleERP界面开发(form)-图文
OracleERP界面开发(form)-图文安裝acleForm6i及補丁以後,你自己開發的Form與OracleEBIS其它的Form不一樣,如:1.沒有工具欄;2.不能用通用的快捷鍵Fll、Ctrl+Fll和F6等等這種毛病在第一次開發人員的通病。
後來才知道,沒有做好Form前期準備工作,不多說了,開始做事吧第一:FTP到OracleEBIS服務器的devappl/au/11.5.0(也就是$AU_TOP)目錄下,下載二個文件夾:Form和Reource,將它們保存在目錄D:/0ralce/0racleForm目錄。
第二:修改注冊表2.1開始-->單擊”運行“-->輸入regedit--回車2.2找到HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE數值名稱:NLS_LANG,修改數值數據為AMERICAN_AMERICA.UTF82.3找到HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE數值名稱:FORMS60_PATH,修改數值數據為D:/Oracle/OracleForm/reource;D:/Oracle/OracleForm/FORMS 呵呵。
準備工作做完成。
開發OracleEBISForm需要套用標準模板TEMPLATE.fmb即可,若自己開發類似的功能的Form,那真是NB人也,此文件在D:/Oracle/OracleForm/Form目錄中。
了解一下Form中的常用的對像:l.DataBlock(數據塊):相當於數據源,指定數據來源於哪個表、哪個視圖或過程等等。
2.1tem(項目)是Form最小單元,也是DataBlock最小單元,相當也表或視圖也過程的遊標某一段。
3.Canvae(畫布)用於布局數據垮的界面。
畫布與數據塊沒有直接的對應關系,而是直接與Item對應,一個Canvae上的Item可以來源不同的DataBlock。
4.L0V(L0V):相當於下拉列表也列表5.Parameter(參數)相當於Form的全局變量,用於傳遞參數。
oracleform学习笔记
oracleform学习笔记新增form步骤打开模板TEMPLATE,将其改成⾃⼰所要的名称,删除Data Blacks中的BLOCKNAME,DETAILBLOCK,删除Canvases中的BLOCKNAME,删除Windows中的BLOCKNAME,新增⾃⼰的Windows,Canvases,DateBlacks,在form级别的PRE-FORM中将Blockname改成⾃⼰新增的window,若区分ORG,则将FND_ORG.CHOOSE_ORG;加⼊BLOCK的上⼀⾏,在Program_unit中打开APP_CUSTOM,修改其中的<your first window>为⾃⼰的window,在triggers的when_new_item_instance中加⼊app_window.set_title('<⾃⼰的window名称>',:_code),将org加⼊form的title.1.在Form的title上加上Org_code在Form级的WHEN-NEW-FORM-INSTANCE这个trigger中加⼊app_window.set_title('QUERY_FIND',:_code);即可。
2.查看弹性栏位数据来源的路径:system administrator-->application-->flexfield-->descriptive-->segment3.初始化viewbegindbms_application_info.set_client_info(188);end;对需要user_id才能访问的view,需要先初始化⼀个合法的user_id进去beginfnd_global.apps_initialize(26872,56536,401);end;4.常⽤代码fnd_message.debug('show message'); --show出的提⽰窗⼝raise form_trigger_failure; --配合show message使⽤,中断Form的执⾏在Form open/close的时候对界⾯的设定例:在close_window下写⼊,来控制多window的Form在关闭⼦窗⼝时切回到那个block上去if (wnd = 'QUERY_FIND') then --当query_find这个window关闭的时候app_window.close_first_window; --关闭第⼀个window,即为关闭这个windowelsif (wnd = 'APPROVER_UPDATE') then --当approve_update这个window关闭时go_block('QUERY_FIND'); --go_block到query_find这个block上去end if;在open_window下写⼊以下代码,来控制新window打开的⽅式if (wnd = 'UPDATE_USER') then --当window UPDATE_USER被打开时APP_WINDOW.SET_WINDOW_POSITION('UPDATE_USER', 'CASCADE', 'APPROVER_UPDATE'); --设定UPDATE_USER这个window在APPROVER_UPDATE这个window的左上⾓稍偏下点,具体详见下⾯的介绍SET_WINDOW_PROPERTY('UPDATE_USER', VISIBLE, PROPERTY_TRUE);GO_BLOCK('UPDATE_USER'); --指定要显⽰的blockelsif (wnd = 'ACT') thenAPP_WINDOW.SET_WINDOW_POSITION('ACT', 'CASCADE', 'APPROVER_UPDATE');SET_WINDOW_PROPERTY('ACT', VISIBLE, PROPERTY_TRUE);GO_BLOCK('ACT');end if;app_window.set_window_position详解procedure APP_WINDOW.SET_WINDOW_POSITION(child_window varchar2,style varchar2,parent_window varchar2 default NULL);说明:说明⼦窗⼝的显⽰位置参数:child_window 指定位置的⼦窗体名称style ⼦窗⼝的定位类型parent_window ⼦窗⼝的上阶窗⼝名称style:CASCADE 多个窗⼝从左上向右下排列RIGHT,BELOW ⼦窗⼝在⽗窗⼝的右边或者下⽅,且⽗窗⼝不会覆盖⼦窗⼝OVERLAP ⼦窗⼝和⽗窗⼝重叠,对齐⽗窗⼝左边,但向下位移0.3CENTER ⼦窗⼝在⽗窗⼝的中间显⽰FIRST_WINDOW 显⽰在toolbar的下⽅,通常是主窗⼝处理查询时候,如果查询界⾯栏位不下条件,就表⽰这个栏位为空值⽅法:在显⽰记录的block下的KEY-EXEQRY这个trigger下做判断,然后将最终的where条件赋值给这个block的default_where⾥⾯去。
ORACLE FORM培训资料分解
前言Oracle Forms是Oracle Developer中的一个主要产品,是一个在Windows环境下开发和运行的基于表格的开发工具。
Forms一般翻译成“表格”,但与纸上的表格有很大的区别,纸上的表格是事先画好的、静态的,只能用一次。
而Forms是动态的,不但可修改,而且可完成更多工作,如:查询、分类、统计和效验等。
Forms是一个允许用户添加、修改、删除和查询数据库记录的用户界面。
利用Forms可以快速开发基于表格的多种应用程序,用于表示和操纵数据库的数据。
Forms已经将Oracle数据库直接与应用程序开发软件捆绑在一起,使开发变的容易、快速。
Forms运行在Windows环境下,具有非常友好的图形界面,提供丰富的图形处理功能和对象编辑工具,为应用程序开发和维护提提供许多方便。
Forms还可以处理照片、图像等,为应用提供更复杂界面。
Forms完全使用屏幕图形窗口和工具,操作非常直接方便。
目录第一章 Form基本概念1.什么是Form2.Form模块的结构3.Form模块的层次结构4.Form模块文件组成第二章 Form的工作方式1.Form应用模块的生成2.运行Form模块3.Form工作模式4.查询数据5.插入、更新和删除数据6.提交和回滚事务第三章 Form设计工具1.Form界面设计2.对象导航器3.布局编辑器4.属性选项板5.其他Form设计工具第四章基本Form设计1.块和项2.开发Form的一般步骤3.建立基表块4.建立主从块5.建立控制块第五章常用界面项的设计1.建立文本项2.建立复选框3.建立列表项4.建立单选组5.建立显示项6.建立图像项7.建立按钮第六章其他常用功能设计1.建立值列表(LOV)和记录组2.建立编辑器3.建立报警器第七章窗口和画布视图1.窗口和画布视图的分类2.建立窗口3.建立内容画布视图4.建立堆叠画布视图5.建立工具条画布视图6.建立标签画布视图第八章 Form中的触发器1.Form中的触发器的基本概念2.Form中的触发器类型3.建立触发器4.触发器作用范围第九章触发器编程1.编写触发器2.内部子程序3.验证4.输入项触发器5.非输入项触发器6.使用变量和参数第十章定制菜单1.菜单编辑器2.建立菜单模块第一章Form 基本概念本章介绍有关Form的一些基本概念,包括以下内容:什么是Form。
ORACLE ERP开发之OracleForms基础
ORACLE ERP开发之OracleForms基础(一)—— Forms设置部分责任编辑:晓熊作者:IT168 JarWang2009-04-28【内容导航】∙第1页:Forms基本对象概念∙第2页:深入了解Forms的事务触发机制文本Tag:Oracle ERP【IT168 技术文档】ORACLEERP开发基础之前言/a2009/0427/274/000000274048.shtml Forms基本对象概念明白了上面的基本概念,就可以开工了。
设置ITEM为必填项Setup:Effect:此效果与是set_item_property('test.l_test',required,property_true)一样的。
设置ITEM的初始值为当前日期实现按“ENTER”自动跳至下一条记录设置BLOCK属性:导航器风格:改变记录。
使用堆叠画布Effect:1. 先将数据块、画布布局好(用向导的方式就可以了,具体操作就不用讲了吧)。
2. 在画布中创建一个堆叠画布。
3. 将项的画出属性更为堆叠画布(这一步最关键了)。
4.调整后得到下面这效果了。
深入了解Forms的事务触发机制编写一个健壮的FORMS应用程序,免不了要做各种数据的检验动作。
所以必须了解FORMS事务触发器的工作原理。
其他类型的触发器相对来说比较好理解,就不详说了。
① FORMS处理事务分成发送(POST)和提交(COMMIT)两个阶段。
这个跟JAVA 中的事务操作类似,也就是Statement和Commit两个阶段。
但FORMS一些规则比较死,也就是说规定好POST之前会触发PRE触发器之类等等。
②事务触发器分成三类,PRE-XXX、ON-XXX、POST-XXX,它们的执行顺序可以直接从其英文缩写得出。
例:执行INSERT操作,会按以下顺序进行。
1.1从数据项复制数据。
1.2触发PER-INSERT触发器。
1.3检查记录的惟一性。
OracleEBSForms开发指南(中级)
OracleEBSForms开发指南(中级)信息技术最佳实践ORACLE核心应用技术E-BUSINESSSUITEForm开发指南Author:CreationDate:LatUpdated:DocumentRef:Verion:Approval:黄建华October16,2006March24,2022DRAFT1ACopyNumber_____信息技术最佳实践DocRef:February21,2022DocumentControlChangeRecord4DateAuthorVerionChangeReference16-Oct-06Jianhua.HuangDraft1aNoPreviouDocumentReviewerNamePoitionDitributionLocation1234LibraryMaterProjectLibraryProjectMana gerNoteToHolder:Ifyoureceiveanelectroniccopyofthidocumentandprintitout,pleae writeyournameontheequivalentofthecoverpage,fordocumentcontrolpur poe.Ifyoureceiveahardcopyofthidocument,pleaewriteyournameonthefr ontcover,fordocumentcontrolpurpoe.Form开发指南FileRef:614684.doc(v.DRAFT1A)DocumentControlii信息技术最佳实践Form开发指南FileRef:614684.doc(v.DRAFT1A)DocRef:February21,2022ContentDocumentControl............................................. ................................................................ .....ii1.Folder、JTFGrid........................................................ . (2)1.1.Folder开发步骤(从头开始)............................................................ ...............21.2.Folder问题.............................................................. ............................................71.3.Folder开发步骤(基于模版)............................................................ ...............71.4.JTFGrid开发步骤.............................................................. ...............................102.多语言开发............................................................. .. (14)2.1.国际化支持.............................................................. ..........................................142.2.Form自身的多语言版本.............................................................. .....................142.3.数据多语言开发步骤.............................................................. ..........................142.4.EBS启用新语言时的考虑.............................................................. ...................223.附件开发............................................................. (24)3.1.关于附件.............................................................. ..............................................243.2.标准附件设置.............................................................. ......................................244.Javabean....................................................... (29)4.1.Form与Java............................................................ ...........................................294.2.例子:HelloWorld...................................................... ....................................314.3.例子:执行PC本地命令.............................................................. .....................344.4.例子:读取PC文本文件.............................................................. .....................374.5.例子:通用导入.............................................................. ..................................395.Form个性化............................................................. . (41)5.1.Form个性化概述............................................................. . (41)5.2.例子:修改字段Prompt.......................................................... .........................425.3.例子:有条件显示消息.............................................................. ......................435.4.例子:调用数据库Package......................................................... .....................445.5.例子:添加菜单.............................................................. ..................................445.6.例子:打开功能.............................................................. ..................................455.7.例子:执行查询.............................................................. ..................................465.8.例子:其他应用.............................................................. ..................................475.9.例子:Intance间迁移.............................................................. .......................486.技巧、常用代码............................................................. (49)6.1.Form中的变量.............................................................. .....................................496.2.初始值、格式掩码.............................................................. ..............................496.3.消息处理.............................................................. ..............................................506.4.Special菜单.............................................................. .........................................506.5.库存组织访问.............................................................. .. (50)DocumentControliii信息技术最佳实践DocRef:February21,20226.6.6.7.6.8.7.MFG_ORGANIZATION_ID相关问题 (51)常用内置过程............................................................. .......................................52待续............................................................. .......................................................52Openan dCloedIueforthiDeliverable..................................... .. (53)OpenIue..................................................... ................................................................ 53CloedIue...................................................... ............................................................53Fo rm开发指南FileRef:614684.doc(v.DRAFT1A)DocumentControliv信息技术最佳实践DocRef:February21,20221.Folder、JTFGrid1.1.Folder开发步骤(从头开始)本节标题说明:标准指做Folder都要做而且是一样的步骤,可以考虑做个模版了;普通指和做普通Form一样;特殊指做Folder都要做但需要根据实际内容作修改。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle Server - Enterprise Edition - Version:9.2.0.1 to
Oracle Provider for OLE DB - Version: 9.2.0.1
Microsoft Windows 2000
作用:就是方便上传你写好的Form到Server或者从Server上下载Form或者其他的文件
主机:10.89.48.198
用户名:devap/ dev2ap/ dev3ap/ dev4ap
密码:devap/ dev2ap/ dev3ap/ dev4ap
Form文件所在目录:/disk/DEV/devappl/au/11.5.0/forms/US
得到的Menu是ONT_SUPER_USER
然后我们再到Application Developer下面的Menu处搜索ONT_SUPER_USER,就可以得到你需要的菜单或者子菜单
到此,你已经在可以AP上去看你的Form的运行结果了。
修改fmb文件后,不需要重新注册,只需要重新编译,即可看到修改后的效果。
2.1
Application Developer……> Application……>Form
Form:你编译生成的XXX.fmx文件的文件名(不带后缀)
User Form Name:可以是你任意输入的,并且将在下一步注册Function时用到。
2.2
Application Developer……> Application……>Function
按照我们前面讲的注册Form之后,点击你的Menu,会弹出如下信息,并且不会把你的Form Show出来:
3.2.8
<1>、增加一个Item
<2>、修改Item的属性
好了,到此,一个基本的Form已经完成。
可以正常编译,运行,但是这个Form是一个没有任何实际意义的对象。
我们开发Form的过程,就是按照这个大致流程,后续的过程,就是自己在这个Form里面增加Window、Canvas、Block、Item、Trigger等。
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.
Cause
This is a known BUG in the OCI API Layer. The BUG number is 2549186.
和Block没有直接的对应关系,而是直接和Item对应。
一个Canvas上面可以有来自不同的Block的多个Item.
是我们对Item进行位置调整的平台。
Block:Logical owner of items,items in one block are logically related
There are two main tupes of blocks:data block and control block
找某个模组的菜单名称可以到:
System Administrator……>Security……>Responsibility……>Define
如下图,选择或者输入你想查找的Responsibility的名称,查找后
红色框内的Menu就是你需要的菜单了。
比如下图查找的Reponsibility是:Order Management (Administrator), BQP
3.2.2
这几个Object,是TEMPLATE.FMB自带的对象,需要全部删除的。
注:不删除不会有大的影响,当时会给后期的修改维护带来不便,请删除之.
3.2.3
如图,修改
Name,
SubClass Information,
Title
属性
SubClass Information属性设置:
3.2.4
为了便于识别,我们建议把Window、Canvas采取同样的命名。
framework similar to a database table
LOV:List Of Value,会直接对应到Text Item上面,点击后会弹出给用户选择数据。
Attached Libraries:存放的是Oracle标准的一些PLL文件。
Property Classes:Oracle标准的一些属性类,我们在建立Window、Canvas、Data Block等都会选择一个属性类以继承一些属性和方法
3.2.9
我们都是在Canvas上面对Item进行位置的调整,达到使整个Form看起来美观整齐的目的。
到这里,我们Form的一些基本设置都完成了。该Form可以上传,编译,
但是在编译的时候会有如下的警告信息:No Items on block QUERY_TEST
编译还是能够正常生成FMX文件。
不过Item是我们设计的最小单元,我们的一切数据操作都是对Item进行的,因此一个没有Item的Form是没有实际意义的。
<3>、选择Build a new data block manually
目前我们一般都是用手工建立一个新的Data Block,用Data Block Wizard的情况会在后面有讲解。
然后需要修改Block的一些基本属性:
其中,我们必须设置SubClass Information,其他的一些属性设置会在后面的章节讲到。
3
3.1
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.
如图,需要修改
Name,
SubClass Information,
Window
属性
SubClass Information属性设置:
增加完Canvas之后,别忘了回去设置Window属性的Primary Canvas
3.2.5
如下图:
<1>、选择Data Blocks
<2>、选择Create
选择之后,会弹出一个New Data Block的对话框
Fix
Apply the9.2.0.4.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。
Pll文件所在目录:/disk/DEV/devappl/au/11.5.0/resource(包括Custom.pll)
Fmx文件所在目录:/disk/DEV/devappl/bqe/11.5.0/forms/US
2
在AP上面你才可以看到你所写的Form的真正效果,所以我们还需要把Form挂到Application环境。
1
1.1
安装路径:\\sie-file-svr\01_公司级共享资源\06_工具软件\06开发工具\6i
在安装的过程中,可以一路默认值下去。
需要注意的时候,在安装时,会不停的自动打开很多文件夹和命令提示符的窗口,不要手工去关闭这些窗口,安装程序会自动关闭,知道提示你安装成功(这时可以手工关闭余留下来的没有被关闭的窗口)。
下图中,
Description TabPage
Function、User Function Name、Description逗可以随意输入
但User Function Name在下一步注册Menu时会用到。
Form TabPage
Form就是上一步注册Form时你输入的User Form Name了。
在我们的开发过程中,经常用到的有FORM Trigger、Window、Canvas、Data Block(Item)、LOV(List of Value)、Record Group、Parameters。其中Window、Canvas、Data Block、Item是四个最基本的Object,缺一不可。
Microsoft Windows XP
Microsoft Windows (32-bit)
Symptoms
Using the Oracle Provider for OLEDB9.2.0.1.0 with web applications, the data retrieved and sent to the webpage is good for the first 100rows.
3.2
Oracle已经为我们提供了一个Form的开发模板,(/disk/DEV/devappl/au/11.5.0/forms/US/TEMPLATE.fmb)
我们的开发实际要基本这个模板,这个模板里面已经存在了我们将会用到的Oracle标准的对象,我们需要做的,就是这这个模板的基础上面,添加我们自己的对象。
Item:Form中最基本的组织元素,我们设计的最小单元
Parameter:相当于全局变量,其作用是传递参数,Oracle标准的Form也有单独建一个Block(多个Item)来传递参数的例子。