您的位置:首页 > 产品设计 > UI/UE

[Form builder]:about SYSTEM.MESSAGE_LEVEL

2020-02-17 00:27 507 查看

If you want to suppress error messages then you have to set a system variable :system.message_level.

I use to set this system variable in a Pre-Form trigger. There is no restriction in using this variable. You can set it to difference values in each Pre-Block triggers if you want.

SYSTEM.MESSAGE_LEVEL stores one of the following message severity levels: 0, 5, 10, 15, 20, or 25. The default value is 0. Form Builder does not suppress prompts or vital error messages, no matter what severity level you select.

Assume that you want Form Builder to display only the most severe messages (level 25). The following Pre-Form trigger suppresses all messages at levels 20 and below.

:System.Message_Level := '20';

If you want to display your own message then it can be done in On-Message and On-Error triggers.

One can either set the message level using the system variable SYSTEM.MESSAGE_LEVEL or trap errors using the ON-ERROR or ON-MESSAGE triggers.

MESSAGE_LEVEL:

Set to 0, 5, 10, 15, 20, 25 to suppress all messages with severity below this level. The default level is 0. 
Messages with a level higher than 25 cannot be suppressed. See the "Forms Error Messages Manual" for more details about the various MESSAGE_LEVEL's: 0 - Default value. All types of messages from the other levels of severity. 5 - Reaffirms an obvious condition. 10 - Indicates that the operator has made a procedural mistake. 15 - Declares that the operator is attempting to perform a function for which the form is not designed. 20 - Indicates a condition where the operator cannot continue an intended action due to a problem with a trigger or another outstanding condition. 25 - Indicates a condition that could result in the form performing incorrectly. 25 - Indicates a message severity level that you cannot suppress via the SYSTEM.MESSAGE_LEVEL system variable.

examples:-

:SYSTEM.MESSAGE_LEVEL := '25';
COMMIT;
:SYSTEM.MESSAGE_LEVEL := '0';
/* For suppressing FRM-40100: At first record. */
:SYSTEM.MESSAGE_LEVEL := '5';
FIRST_RECORD;
:SYSTEM.MESSAGE_LEVEL := '0';
/* For suppressing FRM-40350: Query caused no records to be retrieved. */
:SYSTEM.MESSAGE_LEVEL := '5';
EXECUTE_QUERY;
:SYSTEM.MESSAGE_LEVEL := '0';

During a Runform session, Oracle Forms suppresses all messages with a severity level that is the same or lower (less severe) than the indicated severity level.

You cannot suppress "only" messages from range 10 to 15. You can suppress any messages that severity is lower or equal to the number you put in
the MESSAGE_LEVEL variable.

:SYSTEM.MESSAGE_LEVEL := 15 will suppress any message that severity code is 15 or lower.

转载于:https://www.cnblogs.com/pompeii2008/p/5337960.html

  • 点赞
  • 收藏
  • 分享
  • 文章举报
deyu2539 发布了0 篇原创文章 · 获赞 0 · 访问量 519 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: