oracle form开发

oracle form开发

转自:http://hutianci.iteye.com/blog/970372
经常需要修改的触发器:

ACCEPT

APP_STANDARD.EVENT(‘ACCEPT’);

这个触发器处理菜单或工具条上调用Save and Proceed (保存并继续)动作。它执行保存,并移动到指定当作第一个导航块的块上。

替换这个触发器中的代码,或创建块级触发器并把执行类型指定为‘Override’.

FOLDER_RETURN_ACTION

Null;

这个触发器允许指定客户华的文件夹事件

用需要的处理文件夹动作的代码替换。

KEY_DUPREC

APP_STANDARD.EVENT(‘KEY-DUPREC’);

这个触发器禁用了Oracle 表单默认的重复记录的功能。

KEY-CLRFRM

APP_STANDARD.EVENT(‘KEY-CLRFRM’);

这个触发器在试图清空form前验证记录

在原来的代码后添加附加的代码,通常你你应添加GO_BLOCK如果form中存在多个的区域,使用GO_BLOCK在调用清空from操作后重新填充控制菜单

KEY_MENU

APP_STANDARD.EVENT(‘KEY-MENU’);

这个触发器禁用了Oracle froms的Block Menu 命令

为了启用从特定的块对替代的块通过键盘操作,那么编写块级KEY_MENU并且设定执行类型为’Override ’这个触发器会打开一个与弹出式菜单相同的LOV

KEY_LISTVAL

APP_STANDARD.EVENT(‘KEY-LISTVAL’);

这个触发器执行弹性域操作或引用LOV

创建块或项级触发器并设置执行类型为‘Override’,可以使用日历或动态执行弹性域

ON-ERROR

APP_STANDARD.EVENT(‘ON-ERROR’);

这个触发器处理服务器或客户端的所有的错误,使用消息字典调用。

为了捕获处理指定的错误,在调用APP_STANDARD前检查指定的错误

declare

original_mess varchar2(80);

begin

IF MESSAGE_CODE = THEN

original_mess := MESSAGE_TYPE||’–’||

to_char(MESSAGE_CODE)||’: ’||MESSAGE_TEXT;

––– your code handling the error goes here

message(original_mess);

ELSE

APP_STANDARD.EVENT(’ON_ERROR’);

END IF

end;

POST-FORM.

APP_STANDARD.EVENT(‘POST-FORM’);

这个触发器是预留为以后使用

添加附加的代码在原有代码之后。

PRE-FORM

FND_STANDARD.FORM_INFO(’$Revision: $’,

’,

’’,

’$Date: $’,

’$Author: $’);

APP_STANDARD.EVENT(’PRE–FORM’);

APP_WINDOW.SET_WINDOW_POSITION(’BLOCKNAME’,

’FIRST_WINDOW’);

这个触发器初始化Oracle 应用的内部值和菜单。在这里输入的值将在Oracle应用程序菜单‘Help About Oracle Applications’中看到。

你必须编辑应用程序的简称,应用的简称控制当用户选择‘help’按钮后哪个应用的在线帮助文档将被调用。如果你将应用的简称设置为FND,你的用户将会看不到任何帮助因为Oracle应用程序将不能建立可用的帮助目标。

Form的名称是用户form名称(form标题)。

Oracle公司使用源控制系统,它可以自动更新以“$”开头的值,如果你不使用这个源控制系统你可以按你的开发信息编辑这些值。

你必须编辑APP_WINDOW中的BLOCKNAME为你自己的block.不要编辑FIRST_WINDOW

QUERY_FIND

APP_STANDARD.EVENT(‘QUERY_FIND’);

这个触发器将设置显示字符串’Query Find is not available ’

在这个触发器中替代代码,当你创建窗口或Row_LOV在你的form中时创建块级触发器并设置执行类型为‘Override’

WHEN-NEW-FORM-INSTANCE

FDRCSID(’$Header: ... $’);

APP_STANDARD.EVENT(’WHEN–NEW–FORM–INSTANCE’);

–– app_folder.define_folder_block(’template test’,

’folder_block’, ’prompt_block’, ’stacked_canvas’,

’window’, ’disabled functions’);

--app_folder.event(’VERIFY’);

调用 APP_STANDARD.EVENT 是为了在query-only模式下调用FND_FUNCTION.EXECUTE,调用FNDRCSID是为了Oracle 应用程序的源控制系统(source control system).APP_FOLDER 只为了Oracle应用程序内部调用。客户化form不需要FDRCSID或APP_FOLDER调用,但是如果将它们留在触发器中也没有影响。

在现有的代码前添加附加代码。

WHEN-NEW-RECORD-INSTANCE

APP_STANDARD.EVENT(‘WHEN-NEW-RECORD-INSTANCE’);

这个触发器管理Oracle应用程序菜单和工具栏

创建块级触发器并设置执行类型为‘Before’.

WHEN-NEW-ITEM-INSTANCE

APP_STANDARD.EVENT(‘WHEN-NEW-ITEM-INSTANCE’);

这个触发器管理Oracle应用程序的菜单和工具栏

如果你添加弹性域方法调用,你应该添加它在APP_STANDARD.EVENT 调用前调用,通常,你不应该添加任何代码在这个触发器中,这样的代码将会影响你表单的速度并且影响每一个项

不能修改的触发器

Oracle应用程序不支持修改form级的触发器

CLOSE_THIS_WINDOW

从菜单Action->Close 调用触发器APP_CUSTOM.CLOSE_WINDOW 。

CLOSE_WINDOW

APP_CUSTOM.CLOSE_WINDOW(:SYSTEM.EVENT_WINDOW);

这个出发其处理所有关闭窗口的事件。编写处理关闭窗口的事件必须写在APP_CUSTOM.CLOSE_WINDOW包中

EXPORT

App_standard.event(‘EXPORT’);

这个触发器是“Action,Export”菜单中的选择。

FOLDER_ACTION

App_folder.event(:global.folder_action);

KEY-COMMIT

App_standard.event(‘KEY-COMMIT’);

这个触发器处理正常的提交或form调用

KEY-EDIT

App_standard.event(‘KEY-EDIT’);

这个触发器处理弹性域或日历,编辑器操作。

KEY-EXIT

App_standard.event(‘KEY-EXIT’);

这个触发器处理关闭事件和退出enter-query状态

KEY-HELP

App_standard.event(‘KEY-HELP’);

这个触发器调用窗口的帮助系统。

LASTRECORD

APP_STANDARD.EVENT(‘LASTRECORD’);

这个触发器处理菜单(Go ->LAST RECORD)事件

MENU_TO_APPCORE

App_standard.event(:global.menu_to_appcore);

这个触发器支持Special菜单

STANDARD_ATTACHMENTS

Atchmt_api.invoke;

这个触发器处理附件菜单或工具按钮的调用

WHEN-WINDOW-CLOSE

Execute_trigger(‘CLOSE_WINDOW’);

这个触发器集中了form的关闭事件

WHEN-FORM-NAVIGATE

你不能修改这个触发器,它包含了标准的行为,当最小化的表单被导航到的时候正常化这个表单。

ZOOM

Appcore_custom.event(‘ZOOM’);

这个触发器处理菜单或工具条按钮’Action,Zoom ’事件。

第25章 附件

定义:

这里有必要定义一些特别的术语,这些属于将在下边用到。

文件:

文件是任何一个可以给另一个对象或动作提供信息的对象。例如包括了图像,文字处理文件,广义表,或文本。

实体:

一个实体是一个包含Oracle应用程序数据的对象,例如一个项,一个order 或一个order line . 在用户关联附件到一个实体前,必须先启用这个实体。

在附件中,一个实体可以被当作一个基本实体,或一个相关的尸体,基本实体是一个块的主实体,相关的实体通常通过外键关系关联到一个块。

附件:

一个关联到实体的文件被称作一个附件

附件方法:

在你的应用中的一个form. 或 form. 方法无法使用附件。你必须安装附件到你的form. 或方法中,这就是说,你必须在附件方法窗口中定义一个‘附件方法’。

文件分类:

一个文件分类是一个被应用到单独的附件或文件的标签。文件类型通过特殊的form或form方法约束文件可浏览或可添加提供安全性。

当你安装附件时,你分配文件类型到特殊的forms或form. functions.当一个用户定义一个文件,用户分配一个类型到文件。附件form是仅查询这些分配到一个类型的文件

附件是怎样运行的:

在幕后:

关联实体和文件的信息是存储在Oracle 应用对象库的表中:FND_ATTACHED_DOCUMENTS。

安装附件功能到你的form

你可以安装附件到任何form. 中,你可以附加文件,图像,文本,文件URL,文件或其它信息

为了安装附件功能到你的form

前提:

为你的应用程序的附件做计划。

使用Document Entities窗口 定义你的文件实体

使用Document Categroies窗口 定义你的文件类型

使用Attachment Functions窗口定义附件功能

文件实体窗口

使用这个窗口注册附件实体,一个表可以包含多个实体,尽管附件可能在多个地方被使用到但是这个实体只需要被注册一次,

文件实体块

:输入包含实体的主要的表的名字。

实体ID输入唯一标志内部实体的名字。通常这个名称和表的名字是相同的。如果在表中有一个以上的实体,就在表名后添加唯一的信息,如在表DEM_PRODUCTS后添加COMPUTER唯一标识,DEM_PRODUCTS_COMPUTER。

实体名称:当form显示附件列表给一个实体时实体名称用户可以看到。输入一个有意义的实体名称

提示: 用户实体提示。

应用:拥有实体的应用(或拥有实体表的应用)

需要注意的是,如果你在Oracle硬哟娜个程序的表或form上定义客户化的附件功能。你应该定义你的客户化实体命名为客户化的应用名称来代替Oracle应用程序产品名称。这帮助你维护你升级后的客户化实体。

文件类型窗口

文件类型通过约束文件提供安全性。它可在指定的form或form方法中可视或添加。

当用户定义一个文件,用户分贝一个类型给这个文件,附件窗口仅能查询那些与form或form方法相关的类别所分配的附件。

Oracle应用程序提供“杂项”的类别,你可以分配到你的附件功能,如果你使用这个类别,你可以不需要定义任何新的类型.

文件类型块

类型: 输入一个用户友好的名称,用户将在附件窗口中看到这个名字。

默认类型默认类型是当用户创建一个新的文件时的默认数据类型。用户可以覆 盖这个默认数据类型。包含 段文本(VARCHAR2(2000)),长文本(LONG),网页(网页是以附加URL的格式)文件(文件是外部文件如Microsoft Word文件,Microsoft Excel文件,图像文件或其他类型的文件当文件类型的附件被加载,他们被上传到数据库中,当文件类型的附件被选择,附件窗口将显示一个“Open Domcument”按钮,它调用Web浏览器并把文件传送给浏览器,Web浏览器处理文件的输出)

文件引用:使用文档引用来指出文件管理系统维护的文件。

生效日期:类型生效的日期。

类型分配窗口

使用类型分配窗口来查看目前使用你的分类的附件功能或分配一个或多个已存在的附件功能到你的分类中。

类型:

选择FORM或FUNCTION

名称:

输入需要使用你的分类的form功能的名称(已启用附件)
启用:

如果分类对于这个form. h或功能启用则勾选。

附件功能窗口

使用附件功能窗口来建立你的附件功能到你的form或form. 功能。

附件功能块

类型:选择FORM或功能或报表,这个功能类型决定值列表的值

名称: 通过列表值选择你想建立附件的form. 或form. funct,或报表

用户名称用户友好的form. function 或报表名称

会话上下文字段:

可选的输入字段或参数的名称,这些字段或参数名称将获取会话的上下文通常会话上下文保留组织名称或账簿名称。你必须输入Oracle Forms内部字段名称,而不是现实的提示,使用格式block.field 你必须包含块名称

启用

如果附件功能被启用则勾选。

类别窗口

使用这个窗口浏览或分配文件类型到你的附件功能。

类型:

输入你想分配到这个功能的类型,你必须分配至少一个类别到你的附件功能。Oracle应用程序提供“杂项”分类你可以分配到你的附件功能中。

启用:

如果分类要启用勾选这个复选框

块说明窗口

块的说明是必须的它决定附件工具栏的图标是否可用。此外,许多与块有关的属性影响附件form的外观和作用

如果你使用这个form为reports 建立附件分类你不需要使用块或实体窗口

块名:Oracle Forms 块名。输入您需要附件功能的唯一的块

方法:选择“Allow Change”或“Query Only”,“Allow Change”意味着当附件窗口被块调用时,用户可以插入,更新或删除附件,“Query Only”意味着用户只能查看,但不能修改,删除或创建附件。如果你选择“Query Only”它会被应用于块中的所有附件的所有实体。如果你选择“Allow Change”,你可以选择性的给指定的实体指定的特别约束权限。

安全等级

选择组织,帐套,营业单元或无,取决于form和它的数据是如何保证的。金融的应用通常由帐套保证 。加工应用通常由组织保证,人力资源应用通常由营业单元ID保证。

当一个文件被定义时,它的安全机制同样被定义,例如你可以指定一个文件由组织来保证,并且属于ABC组织,附件系统将只在ABC组织调用form时显示。

为了在跨安全级别来方便的共享文件,一个文件的安全级别可以定义为‘None’或定义为’Shared’。

● 组织

如果附件由组织所保证,输入存储你组织ID的上下文名字使用格式block.field(例如,ITEMS.Organization_id)你必须包含块名

● 账套

如果附件的安全级别为帐套,输入存储你帐套ID的上下文的名称,使用格式block.field (例如,JOURNAL_ENTITIES.SET_OF_BOOKS_ID).必须包含块名。

● 营业单元

如果你的附件安全级别定义为营业单位,输入保存你营业单元的ID,使用格式block.field

上下文1-3

你可以建立你的附件功能,附件窗口显示的标题有超过3个值,这些值可以帮助用户指定用户添加文件的记录。你可以指定附件可以使用这些值的三个区域名字。

输入包含附件form标题的信息的字段名称。使用格式block.field你必须包含block 名称。

实体说明窗口

使用实体说明窗口列出你的块的实体和提供每个实体的信息。你必须完成块说明中每个块中的实体说明。如果你有在多个块中使用的实体,你必须完成为每个块完成实体说明并提供实体所有的信息。

实体:输入实体名称

显示方法:附件窗口含有两个显示附件的模式,这个模式与“Include Related Documents”复选框相互切换。唯一的区别是当用户进入窗口时附件将被查询。如果“Include Related Documents”复选框没有选中,窗口只有当附件直接关联到当前记录时才被显示。

主要实体:不管“Include Related Document”复选框是否选中,你都希望能立即见到附件窗口则指定某个实体为“Main Window”。通常你应将基本实体(或允许插入新的附件的实体块)该指定“Main Window”

包含使附件工具图标可选的实体应该设置显示模式为“Main Window”用户应该从来不会遇到图标指示附件存在,但是按下图标后却没有查询到附件。

相关实体: 如果实体附件设置显示模式为“Related Window”它将与设置为“Main Window并且”Include Related Document”复选框选中的实体单独显示。

第27章 客户化开发标准

客户化Oracle应用程序概览

一些最常用的个性化类型包括:

改变forms

- 外观

- 验证逻辑

- 动作

改变reports或程序

- 外观

- 逻辑

数据库个性化

- 添加只读模式

- 增强与数据库出发器的逻辑

整合第三方客户软件
- 重新连接程序

定义你的客户化应用

使用应用窗口注册你的客户化应用,给你的客户化应用使用一个直观的应用名称和简称。这个名称最好是Oracle应用程序的扩展 ,如对Oracle General Ledger的扩展应该属于一个客户应用命名为Custom General Ledger加上应用的简称 XXGL

虽然你的简称可以达到50个字符,但是为了简化维护你和调用你的应用程序我们建议你只是用4到6个字符作为应用的简称。

为了减少客户化应用的简称与以后的Oracle应用程序简称相冲突,我们建议你的客户化应用简称以“XX“开始。

定义你的客户化应用的路径结构

使用正确的操作系统命令创建你的应用路径结构,你应该定义一个版本号做为路径的一部分来支持多个版本,使用Oracle应用程序发布的版本号在你的应用路径中,例如,11.5为11i版本。

修改你的应用程序环境文件。

修改你的应用环境文件来定义一个你应用根路径的环境变量添加你的客户化应用根路径环境变量到adovars.env文件,而不是.env文件

你必须重新启动Forms Server和你的内部并发管理器,这样Oracle应用程序对象库可以找到应用组件。

添加新的组件

每一次你开发了一个组件,将它放置在正确的客户化应用的子路径下

添加一个FORM

你可以使用Oracle应用对象库和Oracle Forms创建与Oracle应用程序整合的新的forms

你必须以TEMPLAT form开始,遵循Oracle应用form开发规范

如果是对Oracle 应用程序form的修改,你应该先拷贝原始的form并在拷贝上进行修改。

将你完成的form上传到正确的客户化应用路径下,并注册form为Oracle应用对象库,关联到你的客户化应用并为你的from定义一个功能。

在你注册完你的form并定义为一个方法后,你可以添加到相应的菜单中或定义一个新的菜单。

添加一个报表和并发程序

你可以编写Oracle Reports并发程序(包含报表和程序),SQL*Plus , PL/SQL,C,Pro*C和内核脚本。

添加一个新的报表提交form

Oracle应用对象库提供给你标准的请求提交接口,可以运行和监视你的应用程序和报表。你不必再定义和维护一个特别的forms来提交并发请求,使用提交请求

如果你想从客户化FORM中提交报表或程序,你可以使用Oracle应用程序对象库中提供的标准方法来提交一个并发程序给并发管理器。一个客户报表提交form应该包含对每个参数值的验证。

添加在线帮助:

在11i版本,Oracle应用提供HTML格式的在线帮助。你可以简单的扩展Oracle应用在线帮助。

添加菜单:

你可以定义一个新的菜单来调用你的forms或oracle 应用的菜单和forms.我们建议你一直输入你的客户化应用简称作为菜单名称的一部分。

添加职责:

你可以使用职责菜单定义新的职责。

添加消息字典的消息

你可以在消息字典中定义你自己的消息,关联你的消息到你的客户化应用,在升级过程中,所有的关联到Oracle应用程序的客户化消息都会被删除。而关联到客户化应用的消息不会被删除。

第28章 使用CUSTOM库

编写CUSTOM 库

CUSTOM库是一个Oracle Forms Developer PL/SQL 库,它允许你充分使用Oracle Forms Developer直接整合你的代码到Oracle 应用程序而不必改变Oracle Application 的代码。

什么时候使用CUSTOM库

在一些主要的情况下,可以使用CUSTOM 库。

Zoom Zoom 通常会打开另一个form并且可以传递参数到达开的form中。

通用事件的逻辑 在确定的通用form事件中,增强Oracle 应用程序的逻辑例如:

WHEN-NEW-FORM-INSTANCE 或WHEN-VALIDATE-RECORD你可以使用通用事件来改变区域的提示和其他的属性,隐藏区域,添加验证和其它

产品特殊事件的逻辑 在确定的产品特殊事件中增强或替换Oracle 应用程序逻辑实现业务逻辑。

客户定义菜单 在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->Switch Responsibility”来切换职责时触发进行验证。这个方法只对基于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

procedure custom.event(event_name varchar2);

这个方法允许你在指定的事件中执行你的代码。通常测试事件名称然或测试form和块。

作为默认这个方法应该返回null;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9466564/viewspace-715149/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9466564/viewspace-715149/

你可能感兴趣的:(人工智能,数据库,java)