Oracle Forms Server Troubleshooting

发表于:2007-06-22来源:作者:点击数: 标签:
Oracle Forms Server 疑难排解 Oracle 技术白皮书 1 CHECKING FOR FORM_SU CC ESS AFTER CALLING A FORMS BUILT-IN 在调用一个form后,通过 FORM_SUCCESS 内置子程序返回一个可以表示最近一个表单操作成功与否的布尔值,其值为TRUE(成功)和FALSE(失败、严

   

Oracle Forms Server 疑难排解

Oracle 技术白皮书

1  CHECKING FOR FORM_SUCCESS AFTER CALLING A FORMS BUILT-IN

   在调用一个form后,通过 FORM_SUCCESS 内置子程序返回一个可以表示最近一个表单操作成功与否的布尔值,其值为TRUE(成功)和FALSE(失败、严重错误)。如果内置子程序没有成功执行,应该触发FORM_TRIGGER_FAILURE异常处理程序。

   FORM_FAILURE/FORM_FATAL

   其中 FORM_FAILURE是与FORM_SUCCESS对应,而FORM_FATAL的结果值为TRUE(严重错误)和FALSE(成功、失败)

2  TROUBLESHOOTING WITH “QUICK AND DIRTY” TECHNIQUES

      四种技巧:commenting out code, using the “message” built-in, using   the “debug_messages=yes” runtime option, and using the “break” built-in.

    a)注释出你怀疑有问题的代码

      注释掉一行代码用:"--",注释掉一段代码用:"/**/".如果注释掉一个完整的触发器和程序单元,那么你至少需要包括该代码:

      null;

     当修复了问题和查出问题所在处时,千万别忘了把没有用注释去掉

    b)利用message内置子程序

      例如:

      message('The table contains '||to_char(empcount)||' employees');
      synchronize;
      message('Runtotals = '||:control.runtotals);
      --Runtotals will be either“YES” or “NO”
      synchronize;
      message('Beginning Runtotals program unit');
      synchronize;

      message 可以在消息行上显示指定的文本,而且需要把任何数字和日期值转换为文本内型,变量保持在单引号外面,用"||"来连接其他字符串

      synchronize 将显示器的屏幕与表单的内部状态同步 ,从而确保在代码内的某个消息显示在要求的位置

      pause  可以替代synchronize,它不仅使显示同步,而且暂停程序处理,直到(强制)用户按了一个功能键为止

    c)利用表单的"DEBUG_MESSAGES=YES" runtime选项

      可以从菜单设置:Tools -> preferences,也可以从命令行设置:
      On windows:
      c:\orant\bin\ifrun60.exe module=myform userid=scott/tiger
debug_messages=yes

     On Unix:
     f60runm module=myform userid=scott/tiger debug_messages=yes

     d)利用BREAK 内置子程序

       用于中断表格执行并显示调试器,用户可以通过调试器来查看form、program、全局、系统变量

--今天已经看完了,后面的笔记也顺便写了,因为没有及时保存,导致在更新数据时全部丢失,也使几个小时的心血全部白流! ;-(~~~~~~~~

原文转自:http://www.ltesting.net