在 oracle 表单 10g 中的 LOV 填充后未触发后查询触发器
Posted
技术标签:
【中文标题】在 oracle 表单 10g 中的 LOV 填充后未触发后查询触发器【英文标题】:Post query trigger not firing after LOV population in oracle forms 10g 【发布时间】:2014-04-19 09:08:47 【问题描述】:我有一个主详细信息表单,其中基于第一个块显示第二个块中的详细信息。问题是,当我使用 LOV 选择值时,后查询触发器没有在第二个块中触发,我不明白为什么。关系设置正确,因为当我使用表单上的默认键浏览记录时,记录会正确显示。我打开LOV的代码如下:
DECLARE
SUCCESS BOOLEAN;
BEGIN
do_key('clear_form');
SUCCESS := SHOW_LOV('STUDENT_LIST');
set_item_property('registration.netid', property_true);
END;
【问题讨论】:
post-query
触发器与 LOV 无关。
【参考方案1】:
您必须调用 execute_query 才能触发 post_query。
【讨论】:
我意识到,之后,当我通过 LOV 更改我的值时,我有一个问题,“你想保存更改吗?”信息。从论坛搜索中,我认为这与由于选择新项目而更改的项目状态有关,但我不知道如何绕过此消息我尝试过 execute_query(no_validate) 和 clear_block(no_validate) 但没有利用。我将所有非数据库项目设置为 NO 并在我的所有项目属性上插入允许/允许查询,以允许它们接收 LOV 值。我真的被困住了。 这与您的原始问题无关,无论您如何称呼:do_key('clear_form');那么您的表单中有 Key-CLRFRM 触发器吗?如果没有 key-clrfrm,将调用 do_key('clear_form') 更改为 clear_form('no_validate');或调用 clear_form('no_validate');在触发器 Key-CLRFRM 中。 这仍然不起作用,但无论如何谢谢你,我想我将不得不继续在论坛中搜索类似的问题来解决这个问题。以上是关于在 oracle 表单 10g 中的 LOV 填充后未触发后查询触发器的主要内容,如果未能解决你的问题,请参考以下文章