oracle form开发转载的资料

经常需要修改的触发器:

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 = <your message number> 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: <Number>$’,

’<Form Name>’,

’<Application Shortname>’,

’$Date: <YY/MM/DD HH24:MI:SS> $’,

’$Author: <developer name> $’);

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文件,图像文件或其他类型的文件当文件类型的附件被加载,他们被上传到数据库中,当文件类型的附件被选择,附件窗口将显示一个“O

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值