oracle retail系统中emessage和rtk_errors表的关系

在做form开发的时候,会经常用到错误提示,而form内置的错误提示buit-in是message,往往在retek系统中是不会用到message的,而都是用其提供的MESSGE45库带有的emessage方法,下面就是错误提示的一个示例:

错误提示的一个示例

图1:错误提示的一个示例

上图1表示当item为空的时候,就弹出一个错误提示框,告诉用户item是空,该输入商品了。想必看到这里,很多人都跟我一样有个疑问,为什么代码中写的是emessage('CMX_ENT_ITEM'),而显示出来的不是CMX_ENT_ITEM,却是“输入商品”呢?我们接着这篇文章往下看。

rtk_errors表注册示例

图2:rtk_errors表注册示例

我们看图2可以发现,在rtk_errors表中正注册了有关CMX_ENT_ITEM的信息,原来emessge的错误显示内容是根据rtk_errors得来的。同时,需要注意的是,rtk_errors表注册的时候也是要考虑多语言的,rtk_lang正是表示多语言标识,1表示英文,8表示中文,当语言环境是中文的时候,那么就会显示rtk_lang为8所对应的rtk_text内容。

当然,那是不是每一个emessage调用,都一定要在rtk_errors中注册呢?

答案是否,如果没有在rtk_errors表中注册信息,那么运行emessage('CMX_ENT_ITEM')的时候,就会在弹出的窗口中直接显示“CMX_ENT_ITEM”,这种机制并不是弊端,而确实也在开发的过程中提供了很大的便利。往往对于一些经常出现的错误,而可能也有多中语言环境的用户访问,那么建议在rtk_errors表中做好注册;如果就只是某一种语言的用户访问,同时,该错误提示也很少会出现,只在极少数的情况下提示下,那么也可以直接就在代码中写上提示信息,rtk_errors表也可以不用注册了。

本文标题:oracle retail系统中emessage和rtk_errors表的关系

本文链接:http://yedward.net/?id=137

本文版权归作者所有,欢迎转载,转载请以文字链接的形式注明文章出处。

相关文章