添加新字段后,表单在查询模式下停留

时间:2017-01-29 11:49:27

标签: oracle debugging oracle10g oracleforms

我在6i中有一个旧的oracle表单,最近我添加了两个在两个不同字段下链接的无线电组。 每当我进入查询模式 - F7并输入我的搜索条件时,它会在退出查询模式时挂起 - F8。 我尝试通过TOAD获取查询并单独运行它,它运行没有任何问题。

如果删除这些字段,查询将正常运行。

关于那些新领域或广播组,我错过了什么?实际上,我将这些字段和无线电组项目与现有的其他字段进行了比较,它们非常相似。

2 个答案:

答案 0 :(得分:0)

这显然是一个调试问题。看起来您添加的字段会破坏在某个时刻在表单中调用的触发器(例如“ KEY-NXTBLK ”,“ KEY-NEXT-ITEM ”,. ..)。

你应该做的事情:

  • 了解如何使用 Forms Debugger (可能很棘手,我自己也忘了抱歉)
  • 如果您觉得太棘手, 启用表单跟踪 ,知道执行操作时会发生什么 - 这取决于运行表单的服务器;谷歌是你的朋友。
  • 确定执行操作时引发的触发器
  • 检查您的数据库在执行操作时运行的查询,例如当天最重要的问题:

    SELECT sql_text, cpu_time, elapsed_time,  last_load_time FROM v$sql
     where to_date(last_load_time,'YYYY-MM-DD/HH24:MI:SS') > trunc(sysdate)
    order by cpu_time desc;
    

答案 1 :(得分:0)

这是Oracle Forms令人讨厌的功能 - 如果您从数据库中选择其他值,然后在Radio Button Value Property中选择,Oracle表单会丢弃整个选定的记录而不会发出任何警告并提取下一条记录。

例如,如果您为M(男性)和F(女性)定义了单选按钮,并且在您的数据库中是相应列中具有X值的记录,则这些记录将永远不会显示。如果你有很多这些记录,表单需要很长时间才能找到第一个可接受的行,程序看起来像冻结。

有一个简单的解决方案 - 设置Mapping of Other Values property以将非预期值分配给有效的无线电组状态。

您可以在复选框和列表项上找到相同的行为。