编写CUSTOM 库CUSTOM库是一个OracleForms Developer PL/SQL 库,它允许你充分使用Oracle Forms Developer直接整合你的代码到Ora
编写custom 库
custom库是一个oracleforms developer pl/sql 库,它允许你充分使用oracle forms developer直接整合你的菜单 在oracle 应用程序form中添加条目到special菜单中,例如一个打开客户化form的条目。
设置视觉属性 使用custom库在运行时来改变视觉属性,使用oracle forms内建程序 set_va_property 来设置custom1 – custom5的视觉属性,并使用app_item_property2.set_property在运行时来应用视觉属性。
编写zoom
zoom允许用户调用在每一个块中调用逻辑,例如,你可能希望在输入采购订单form时打开供应商form,你可以在这一个块上使用zoom并且当用户调用它,你可以打开供应商form
11i版本zoom的行为:
oracle 应用程序提供一个菜单项和工具栏中的一个按钮,用户可以调用zoom,只有当这个块在custom库zoom逻辑定义后,,菜单项和按钮才可用。
当光标在form中改变到不同的块中,form调用custom库中的zoom_avaliable 方法。如果这个方法返回true,zoom条目和按钮可用,如果返回false不可用。
如果zoom条目是可用的,这是当用户调用zoom时调用custom中的zoom方法。你基于当前form和块编写这个事件的方法。
在custom库中编写zooms
1. 添加一个custom.zoom_avaliable方法只是form 和块什么时候可以启用zoom
2. 添加在zoom事件中添加custom.event过程。
支持一个块中的多zoom时间。
11i版中oracle应用程序为zoom提供一个lov和相应的参数:
u lov:appcore_zoom
u 参数:appcore_zoom_value
使用lov和参数当这个块含有多余1个的zoom时提供给用户一个lov。
编写zoomlov到custom库中。
在custom库中(包括zoom事件代码)
1. 创建一个记录组合,并填充可用的zoom名字和值
2. 添加记录组到appcore_zoom lov中
3. 调用show_lov来显示lov给用户
4. 如果用户选择一个zoom,将返回值给appcore_zoom_value参数
5. 得到参数的值选择不同的zoom
编写通用form事件
你可以编写逻辑,在特别的form并在块的特别的事件中触发,你可以编写逻辑在一下的事件中:
when–form–navigate
when–new–form–instance
when–new–block–instance
when–new–record–instance
when–new–item–instance
when–validate–record
specialn (n 是1 到 45之间的一个数)
zoom
export
key–fn (n 是1 到 8之间的一个数)
一些oracle 应用程序forms例如多数的oracle人力资源模块的form可能提供附加的事件调用custom库,这些附加事件被列在拥有这个form的产品的文档中。你可以编写逻辑在custom库中以相同的方法在通用时间中编写逻辑。
在custom库中为通用的form时间编写逻辑:
1. 在custom.event过程中为特别的事件添加一个分支。
在分支内部,指定你希望你的逻辑触发的form 和 块并添加逻辑到你希望发生的事件到这些块中。
编写产品指定的事件:
为了编写产品指定的事件逻辑到custom库中:
1. 为特殊的产品的指定的事件添加分支到custom.event过程中
在分支中添加逻辑。
2. 如果要支持客户化的执行类型,添加分支到custom.style方法来指定执行类型。
添加客户化条目到special菜单中。
为了在custom 库中添加逻辑到special菜单中的条目
1. 在custom.event过程中添加分支事件when-new-form-instance
在这个分支中指定你希望添加逻辑的form和块,添加逻辑到special菜单中
2. 将特别的specialn事件添加分支到custom.event过程。
在这个分支中,指定逻辑发生的form和块。添加逻辑到你的special菜单中。如果是你开发的form你应该添加逻辑到用户命名的specialn触发器中。
oracle应用对象库产品特别的事件。
oracle 应用对象库提供可以使用custom库使用的产品特别事件。
when-logon-changed 事件
使用when-logon-changed事件在用户使用”file-> log on as a different user”立即触发来验证。这个方法是只是对基于oracle forms developer开发的form有效。而对基于html或java 的from是无用的。
你可以使用fnd_profile.get方法得到新的用户名和其他预置文件值
如果因为一些原因在这个时间中的代码抛出form_trigger_failure的异常,用户将返登录界面。
when-rsponsibility-changed 事件
使用when-responsibility-changed事件当用户使用“fiel->switchresponsibility”来切换职责时触发进行验证。这个方法只对基于oracle forms developer 开发的forms有效。
你可以通过fnd_profile.get 方法得到新的职责名称和其他预置文件的值。如果因为一些原因在这个事件中的代码抛出 form_trigger_failure的异常,用户将返回如同选择了一个错误的职责的值列表界面。
custom 包
custom包包含了下列的方法和过程
custom.zoom_avaliable
custom.style
custom.event
custom.zoom_available
function custom.zoom_available return boolean;
如果对于这个块zoom是可用的,则返回true,否则返回false,通常用于测试form和块。
通常这个方法返回false
custom.style
function custom.style(event_name varchar2) return integer;
这个方法允许你决定执行的类型。你可以选择代码的执行为,之前,之后,或替代。注意的是一些产品特定事件是不支持所有的执行类型的custom.style不对通用form事件或zoom起作用。
下列的包变量以用作返回值:
custom.before
custom.after
custom.override
custom.standard
作为默认值,这个方法返回custom.standard
custom.event
procedurecustom.event(event_name varchar2);
这个方法允许你在指定的事件中执行你的代码。通常测试事件名称然或测试form和块。
作为默认这个方法应该返回null;

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号