EBS message

fnd_Message小记

示例一:弹出消息窗口,等待用户选择后进行下一步的处理;

declare
v_choose number;
begin
fnd_message.set_string('该物料多发和欠发的物料总成本,占物料需求总成本的比重,' ||
chr(10) || '已经超过预设允差!' ||
chr(10) ||
chr(10) ||' 是否继续?');
v_choose := fnd_message.question('确定', NULL, '取消', 1, 3,'NOTE');

IF v_choose = 3 THEN
RETURN;
ELSIF v_choose = 1 THEN
Your Code;
End if;
end;

说明:
fnd_message.question('确定', NULL, '取消', 1, 3,'NOTE');
实际上,1=yes,2=no,3=CANCEL,例子中,使用了 1,3则form中只有 “确定”“取消”两个按钮,如果使用  fnd_message.question('确定', NULL, '取消', 1, 3,'NOTE');  则会显示“确定”“否”“取消”

FND_MESSAGE.QUESTION(button1 IN varchar2 default ‘YES’,button2 IN varchar2 default ‘NO’,button3 IN varchar2 default ‘CANCEL’;default_btn IN number default 1,cancel_btn IN number default 3,icon IN varchar2 default ‘question’) return number;

要点:
1、chr(10) 代表分行;
2、fnd_message.question默认为Yes,No,Cancel,如果不要其中一项就用Null替代;

示例二:弹出错误提示窗口;

Fnd_Message.Set_Name('FND','日期不能为空!');
Fnd_Message.Error;
Raise Form_Trigger_Failure;

FND_MESSAGE

1 FND_MESSAGE.show 与 FND_MESSAGE.debug
效果相同,用于把信息以最基本的方式显示给用户。
2. FND_MESSAGE.hint
这种方式不会弹出对话框给用户,而是显示在左下脚的状态栏上面
3. FND_MESSAGE.error
以Error信息的方式显示给用户
4. FND_MESSAGE.warn
以选择信息的方式显示给用户,可以选择Ok或者Cancel,返回值分别是TRUE和FALSE
if FND_MESSAGE.warn then
fnd_message.debug('True');
else
fnd_message.debug('False');
end if;
执行效果如下:
点击OK会弹出 True
点击Cancel会弹出 False

5. FND_MESSAGE.question
function QUESTION(BUTTON1 in varchar2 default 'YES',
BUTTON2 in varchar2 default 'NO',
BUTTON3 in varchar2 default 'CANCEL',
DEFAULT_BTN in number default 1,
CANCEL_BTN in number default 3,
ICON in varchar2 default 'question')
return number

调用:
declare
v_result number;
begin
APPS.XXFORM_ADIO_TEST_PKG.RETURN_MESSAGE;
FND_MESSAGE.retrieve;
v_result:=FND_MESSAGE.QUESTION('Yes','No','Cancel',null,null,'Question');
fnd_message.debug(v_result);
end;

2.FND_MESSAGE.DEBUG

后补:

1.设置信息:
--FND_MESSAGE.SET_NAME 语法:
procedure FND_MESSAGE.SET_NAME(application_shortnameIN varchar2,message_name IN varchar2);
作用:
从Message Dictionary获取一条信息
一般情况下在FORM中显示出错信息使用以下代码:
FND_MESSAGE.SET_NAME( APPL_SHORT_NAME,MESSAGE_NAME) ;
FND_MESSAGE.ERROR ;

--FND_MESSAGE.RETRIEVE
作用:
取得一条数据库中的等待信息
--FND_MESSAGE.SET_STRING (value IN varchar2)
作用:
将字符串放到消息栈中,

--FND_MESSAGE.SET_TOKEN
作用:用值替换message的信息中的变量
语法:
procedure FND_MESSAGE.SET_TOKEN(token_name IN VARCHAR2,value IN VARCHAR2
translate IN boolean default FALSE);

--在form用于显示信息的函数
1.FND_MESSAGE.ERROR
2.FND_MESSAGE.WARN
例子
Example:
FND_MESSAGE.SET_NAME(’SQLAP’,’AP_PAY_MULTI_PAY_VOID’);
REC_COUNT:= <NUMBER OF PAYMENTS>;
FND_MESSAGE.SET_TOKEN(’NUM_OF_RECS’,REC_COUNT);
IF (NOT FND_MESSAGE.WARN) THEN
Raise FORM_TRIGGER_FAILURE;
END IF;

3.FND_MESSAGE.QUESTION
语法:
FND_MESSAGE.QUESTION(
button1 IN varchar2 default ‘YES’,
button2 IN varchar2 default ‘NO’,
button3 IN varchar2 default ‘CANCEL’;
default_btn IN number default 1,
cancel_btn IN number default 3,
icon IN varchar2 default ‘question’) return number;
说明:
FND_MESSAGE.QUESTION 返回一个被选中的button的number
Example:
FND_MESSAGE.SET_NAME(’FND’,’ATCHMT-COMMIT BEFORE INVOKING’);
IF FND_MESSAGE.QUESTION
(’YES’,’CANCEL’,NULL,1,2,NULL) = 2 THEN
RAISE FORM_TRIGGER_FAILURE;
END IF;
4.FND_MESSAGE.SHOW
作用:显示信息
5.FND_MESSAGE.DEBUG
6.FND_MESSAGE.GET
作用:
取得在message中设置好的message信息

 

 

:system.message_level

分为0,5,10,15,20,25 默认为0

系统会不会显示信息级别比message_level低的信息。

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 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.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值