Oracle Forms 10g LOV第二次没有出现

时间:2016-04-28 07:17:34

标签: oracle10g oracleforms

我已经创建了Oracle Forms 10g表单,并希望通过按下按钮来显示LOV。按下按钮按下时,我有:

go_item('MyBlock.Item1');
do_key('LIST_VALUES');

LOV有6列,其中2列绑定到2个项目:MyBlock.Item1和MyBlock.Item2。当我按下按钮时,LOV出现,我可以做出选择。 LOV将数据插入MyBlock.Item1和MyBlock.Item2,一切都很好。 但如果我想做出另一个选择并再次按下按钮,则LOV不会出现。我不知道这是什么问题。

按钮和两个项目都在同一个数据块中,我为这两个项目设置了更新允许和必需为否以及鼠标导航到否为按钮(我在几个论坛上看到了这一点)。

2 个答案:

答案 0 :(得分:0)

尝试在这两行之间放置同步命令:

go_item('MyBlock.Item1');
Synchronize;
do_key('LIST_VALUES');

答案 1 :(得分:0)

我终于找到了解决方案(使用oracle的OTN讨论)。 问题是我在第一次弹出LOV后调用的存储过程。第一次,在我选择一个值后,我使用存储过程删除另一个块的记录。在该过程中,我设置了MyBlock.Item1和MyBlock.Item2列的值。但在形式上,旧的价值仍然存在于物品上。我在程序中删除了更新这两列,现在可以正常工作了。但我需要将这两个字段自动更新为空。

解决方案是我首先在表单上更改这些项的值,然后调用存储过程。它现在有效。