FRM-40400:事务完成:已应用和保存X条记录"消息框不显示处理方法

      oldmesl := :system.message_level;
      :system.message_level := 25;--不显示长度超过25的信息
        do_key('COMMIT_FORM');
      :system.message_level := oldmesl;

每次成功退出保存修改或添加记录时窗体都会弹出“FRM-40400:事务完成:已应用和保存X条记录。" 
的消息窗,可不可以在适当的触发器中改变它的属性?

1.

:system.message_level :=10; 
commit; 
:system.message_level :=10;

就不会有任何显示。
------------------------------------------

l_level := :system.message_level;

:system.message_level :=25; 
commit; 
:system.message_level :=l_level; 

*提示信息如果小于20,系统隐藏消息。

*如果等于25,则有异常会产生报警。

*值越大,系统所能显示的提示信息越严重!(每个系统消息有一个严重等级),你可以使用这个变量来屏蔽一些你认为不需要的系统消息

SYSTEM.MESSAGE_LEVEL stores one of the following message severity levels: 0, 5, 10, 15, 20, or 25. The default value is 0.
SYSTEM.MESSAGE_LEVEL can be set to either a character string or a number. The values assigned can be any value between 0 and 25, but values lower than 0 or higher than 25 will generate an error. 
During a Runform session, Form Builder suppresses all messages with a severity level that is the same or lower (less severe) than the indicated severity level. 

Assign a value to the SYSTEM.MESSAGE_LEVEL system variable with standard PL/SQL syntax: 

:System.Message_Level := value; 

The legal values for SYSTEM.MESSAGE_LEVEL are 0, 5, 10, 15, 20,and 25.  Form Builder does not suppress prompts or vital error messages, no matter what severity level you select.

2.

在ON-MESSAGE事件
begin
       if message_code in (40400,40401,40406,40407)   then
         clear_message;
end if;
end;

原文地址:https://www.cnblogs.com/toowang/p/5951916.html