ITPub博客

首页 > 数据库 > Oracle > Oracle Forms Server 疑难排解

Oracle Forms Server 疑难排解

原创 Oracle 作者:YoungEric 时间:2007-10-04 09:58:02 0 删除 编辑
P.S http://blog.chinaitlab.com/user1/263089/archives/2005/18679.html[@more@]

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:orantbinifrun60.exe module=myform userid=scott/tiger
debug_messages=yes

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

d)利用BREAK 内置子程序

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

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10484922/viewspace-974702/,如需转载,请注明出处,否则将追究法律责任。

上一篇: Form 开发问题
请登录后发表评论 登录
全部评论

注册时间:2007-12-18

  • 博文量
    79
  • 访问量
    211245