gpt4 book ai didi

oracle - 表单抑制错误消息并捕获 frm-40350

转载 作者:行者123 更新时间:2023-12-01 11:39:56 27 4
gpt4 key购买 nike

我在按钮的 WHEN-BUTTON-PRESSED 触发器上有以下代码

BEGIN   

SYNCHRONIZE;
populate_maximo_records;

END;

会有这样一种情况,即没有任何记录填充到 block 中。如果没有记录,当前抛出如下错误信息

frm-40350 query caused no records to be retrieved

相反,我想抑制上述消息并显示自定义消息。我该怎么做?

最佳答案

您可以使用 On-Message 或 On-Error 触发器来捕获任何内部表单消息或错误。 FRM-40350 被归类为信息类型(可以在表单帮助中检查),因此必须在 On-Message 触发器中处理。捕获消息的代码应该是这样的:

IF message_code = 40350 THEN
Message('Your custom message');

ELSE
Message(message_type||'-'||TO_CHAR(message_code)||':'||message_text);

END IF;

请注意,“On”触发器取代了隐式表单功能,因此如果您在示例中省略了 ELSE 语句,那么您将隐藏所有其他表单消息!使用 On-Error 触发器时,您必须记得在显示您自己的消息后使用 RAISe,否则表单将继续,因为错误从未发生过!

IF error_code = 50026 THEN  
Message('My Own message');
RAISE FORM_TRIGGER_FAILURE;

ELSE
Message(error_type||'-'||TO_CHAR(error_code)||':'||error_text);
RAISE FORM_TRIGGER_FAILURE;

END IF;

关于oracle - 表单抑制错误消息并捕获 frm-40350,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22192151/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com