forms oracle runtime_Oracle Forms Server 疑难排解

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、全局、系统变量

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值