Oracle Form 消息字典

消息字典

 

1.消息的定义

 

路径:应用开发员》应用产品》消息

  • 名称:消息名称可以是字母、数字、连字符(-)、下划线(_)和空格的任意组合,最长可达30个字符。消息字典名称不区分大小写(例如,MESSAGENAME与messagename同名)。
  • 语言:输入此消息的语言代码,简体中文是ZHS,英文是US。
  • 应用产品:输入要为其定义消息文本的应用程序的名称。
  • 编号:如果需要,请输入消息编号。如果为消息定义了非零的消息编号,则消息字典会自动在消息文本前面添加前缀APP:<application short name>-(或其等效名称)。消息字典将0和null视为相同(并且不显示应用程序:<application short name>或消息编号)。
  • 类型:使用消息类型对消息进行分类。消息类型不影响如何在代码中调用消息。
  • 最大长度:消息长度限制(以字节为单位)是菜单项的60,提示的250,标题的80(请注意,这些限制是针对翻译的消息,因此,如果要翻译英语消息,应该缩短30%)。如果指定了最大长度,则它必须介于10和1800之间(包括10和1800),并且必须等于或大于指定的消息文本的实际(字节)长度。
  • 说明:在此字段中输入有助于向翻译人员解释此消息上下文的信息。如果消息类型为Token或Other,则此字段是必需的。
  • 当前消息文本:定义消息内容时可以使用参数,参数是&加上参数名,前后需要空格隔开,比如参数 &HOLDING_EXPENSE_REPORT ,参数名最好大写。

2.生成消息

定义好消息后并不能使用消息,还需要生成消息(经测试,此在FORM中起限制,在PL/SQL的PACKAGE调用不限制),使用应用开发员职责运行请求:生成信息

参数:

  • 语言:选择新消息定义时选择的语言,如ZHS(简体中文)
  • 应用产品:选择新消息定义时选择的应用产品,如CUX_客户化应用
  • 模式:DB_TO_RUNTIME(数据库至运行时间(.msb文件)),此项为默认带出,一般不需改。
  • 文件应用简称(或局部):为空即可
  • 文件名:为空即可

请求运行完成后再次打开并登陆EBS后就可以使用该消息了。

注意:一定要退出EBS后重新登录才可以使用。

3.消息的使用

Oracle的标准用法是使用FND_MESSAGE.SET_NAME( APPL_SHORT_NAME,MESSAGE_NAME) ;

  • APPL_SHORT_NAME:应用产品简称
  • MESSAGE_NAME:消息名称

调试消息

fnd_message.debug('Message');

显示消息

1 fnd_message.set_name('<APP_SHORT_NAME>','<Message_CODE>') ;
2 fnd_message.show;

错误消息

1 fnd_message.set_name('<APP_SHORT_NAME>','<Message_CODE>') ;
2 fnd_message.error;
3 RAISE form_trigger_failure;

提示消息

在FORM左下角显示:

1 fnd_message.set_name('<APP_SHORT_NAME>','<Message_CODE>') ;
2 fnd_message.hint;

警告消息

1 fnd_message.set_name('<APP_SHORT_NAME>','<Message_CODE>') ;
2 fnd_message.warn;

询问消息

 1 fnd_message.set_name('<APP_SHORT_NAME>', '<Message_CODE>');
 2 IF fnd_message.question(button1     => 'YES', --是
 3                         button2     => 'NULL',
 4                         button3     => 'NO', --取消
 5                         default_btn => 1,
 6                         cancel_btn  => 3,
 7                         icon        => 'question') = 1 THEN
 8     --do something
 9 ELSE
10     --do something
11 END IF;

 fnd_message.question函数定义:

1 FUNCTION question(button1     IN VARCHAR2 DEFAULT 'YES',
2                   button2     IN VARCHAR2 DEFAULT 'NO',
3                   button3     IN VARCHAR2 DEFAULT 'CANCEL',
4                   default_btn IN NUMBER DEFAULT 1,
5                   cancel_btn  IN NUMBER DEFAULT 3,
6                   icon        IN VARCHAR2 DEFAULT 'question') RETURN NUMBER

带有参数的消息显示

FORM中弹出错误信息并且使用参数:

1 fnd_message.set_name('<APP_SHORT_NAME>', '<Message_CODE>'); 
2 fnd_message.set_token('<PARAMETER>','Message'); 
3 fnd_msg_pub.add; 
4 fnd_message.error; 
5 RAISE form_trigger_failure; 

PL/SQL程序包中提示错误信息并且使用参数:

1 cux_api.set_message(p_app_name => '<APP_SHORT_NAME>', 
2                     p_msg_name => '<Message_CODE>', 
3                     p_token1 => '<PARAMETER>', 
4                     p_token1_value => 'Message'); 
5 x_return_status := fnd_api.g_ret_sts_error; 
6 raise_exception(x_return_status);

 

posted @ 2020-09-29 19:58  kiko_0926  阅读(280)  评论(0编辑  收藏  举报