2012年6月21日星期四

Forms Builder 10g IDE介绍

工欲善其事, 必先利其器. 在做forms开发之前, 有必要对Forms Builder这个开发工具有一定程度的了解. 接下来我会参照下图对一些主要的功能进行说明:











域1: 菜单栏
File > Connect/Disconnect 用于数据库连接, 这里会用到tnsnames.ora指定的名称进行连接, 通过环境变量TNS_ADMIN指定.
File > Convert 用于在二进制的fmb文件和文本文件fmt之间进行转换, fmt格式是forms早起版本的格式以文本方式保存.
View > Ownership view 默认会显示所有的forms对象, 比如blocks/triggers/windows等
View > Visual View 只会显示可视化对象windows/visual attributes
View > Stacked Views 用于显示Stacked Canvas和Tab Canvas, 默认情况下这两种画布在设计时不显示. 注意: 这个选项需要在layout editor中选中Canvas时才会出现.
Layout > Align Components 对多个item一次性进行水平/垂直方向的布局操作, 这个排列布局时比较有用.
其它菜单的功能基本就没有什么值得介绍的了, 看了基本都会用.
域2: Object Navigator
Object Navigator树显示的是所有的forms(也称为module), Menus(forms菜单), PL/SQL Libraries(pll库, 被多个forms共享使用), Object Libraries(包含多个forms对象,用于subclass或者copy), Built-in Packages(基础程序库, 比如常用的standard package包含了诸如go_item/go_block之类的基础调用). 这里重点介绍的是Module下面的组件.

1, Triggers
Trigger等价于其他3GL中的event handler, 可以在trigger里面编写相应的事件处理代码. Forms分三种级别form,block和item. Module下面的Trigger指的是form level的trigger.
2, Alerts
对话框, 这在EBS开发中被fnd_messages代替不会被使用.
3, Data Blocks
这是forms开发的重头戏, 基本上forms开发就是围绕着几个block转.可以将block理解为数据库中表或者视图, 而block下面的item则对应其中的列. 这在以后的文章中会详细讲到.
4, Canvases
画布, 在构建forms UI界面时所有的item都必须放在一张画布上面, 画布包含以下类型: Content(内容画布)/Tab(Tab页画布)/Stacked(堆叠画布).
5, Editors
Item内容编辑框, EBS中自带有编辑框因而不会被用到.
6, LOVs
全称List of Values. 用于选择输入的对话框, 可以理解为一个为方便和验证输入存在的东西, 这在EBS中会经常遇到.
7, Object Groups
与上面提到的Object Libraries类似, 用于创建一些公用的forms对象比如block/canvas之类, 被其他的forms继承或者拷贝. 目前遇到使用Object Groups的情况有query find window和folder功能.
8, Parameters
forms参数, 有两个用途. 一是作为调用forms的参数, 比如EBS模板中的QUERY_ONLY参数; 二是用于存储一些临时的值, 比如作基于lov的query find时就会用到.
9, Popup Menus
邮件菜单,EBS中提供了相应的接口用于扩展.不多作讨论.
10, Program Units
这也是forms开发中代码的一个聚集地, 通常forms开发建议的是不要在trigger中编写过多的代码, 而是集中编码为program unit的形式在trigger中进行调用.
11, Property Classes
属性类, 主要用于规范化. 举例来说TEMPLATE.fmb中的TEXT_ITEM property class定义了文本框的相关属性信息, 每个TEXT ITEM如果都设置Subclass Info 为该属性类, 则可以保证这些ITEM在显示上的一致性.
12, Record Groups
记录组,实际上就是一条sql语句. LOV和Hierarchy Tree会用到.
13, Visual Attributes
用于定义一些可视化属性, 比如宽高/颜色等. 典型的应用是设置行标指示器的颜色.
14, Windows
可以理解为Canvas的容器, 一个forms必须至少有一个window.
域3: Layout Editor
这个区域用于编辑UI界面, 使用快捷键F2调用. 主要使用到的是区域上方用于对其的工具条, 如下:
其他的基本很少会使用到.


域4: Property Palette
属性面板, 使用快捷键F4调用. 每个forms对象包括window/canvas/block/item都有相应的属性可以在属性面板中查看, 由于涉及到的属性多而繁杂, 不作一一列举.
基本上关于forms builder要说的就是这些了, 对比其他的IDE会有很多不同的地方, 个人觉得还是要慢慢适应, 熟能生巧吧.

--EOF--

没有评论:

发表评论