• EBS开发_fnd_message使用


    (35条消息) EBS开发_fnd_message使用_蜗牛先生快跑的博客-CSDN博客

    Cux_Cap_Util_Pkg.Error_Log(p_Function_Name => 'CUX_FSSC_SOURCE_CHANGE_TRG',
    p_Error_Message => Substr(SQLERRM, 1, 200));
    Fnd_Message.Set_Name('AR', '错误信息');
    Fnd_Message.Set_Token('', SQLERRM);
    App_Exception.Raise_Exception;

     

    信息类
    1.fnd_message.debug(‘message_string’);
    —在EBS上弹出警告信息
    2.上面的等效使用:
    fnd_message.set_string(‘your message string’);
    fnd_message.show;
    3.下面两类特殊错误应用:
    fnd_message.set_name(‘FND’,'FORM_RECORD_DELETED’);fnd_message.error;—-记录已删除
    fnd_message.set_name(‘FND’, ‘FORM_RECORD_CHANGED’); fnd_message.error; —记录已改变
    fnd_message.set_name(‘FND’, ‘FORM_COULD_NOT_RESERVE_RECORD’);
    fnd_message.question(‘NO’, ‘YES’, ”, 2, 1, ‘caution’) = 2
    fnd_message.set_name(‘FND’, ‘FORM_UNABLE_TO_RESERVE_RECORD’);

    1. 调式
    fnd_message.debug(‘Message’);
    2. 出错消息
    fnd_message.set_name(‘<APP_SHORT_NAME>’,'<Message_CODE>’) ;
    fnd_message.error;
    3. 提示消息
    fnd_message.set_name(‘<APP_SHORT_NAME>’,'<Message_CODE>’) ;
    fnd_message.show;
    4. 询问信息
    fnd_message.set_name(‘<APP_SHORT_NAME>’, ‘<Message_CODE>’);
    if fnd_message.question(‘YES’,'NO’,NULL,1,2) = 1 then
    –do something
    else
    –do something
    end if;

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

    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;

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

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

    Fnd_Message.Set_Name(‘FND’,'日期不能为空!’);
    Fnd_Message.Error;
    Raise Form_Trigger_Failure;
    ————————————————
    版权声明:本文为CSDN博主「蜗牛先生快跑」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/u013711561/article/details/78359899

    FND_MESSAGE 消息提示详解

     

     1.FND_MESSAGE.warn
      以选择信息的方式显示给用户,可以选择Ok或者Cancel,返回值分别是TRUE和FALSE

    ifFND_MESSAGE.warn then
    fnd_message.debug('True');
    else
    fnd_message.debug('False');
    end if;

        执行效果如下:
        点击OK会弹出True
        点击Cancel会弹出False
    2.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);
    复制代码

    message用法总结:
    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信息

  • 相关阅读:
    二维码在短信业务应用的初步构思
    Twproject Gantt开源甘特图功能扩展
    vscode 1.5安装体验
    OpenLiveWriter代码插件
    golang语言构造函数
    WebAPI接口返回ArrayList包含Dictionary对象正确解析
    golang枚举类型
    Gatekeeper Pattern 把关(守门人)模式
    .NET Core Windows环境安装与体验
    Federated Identity Pattern 联合身份模式
  • 原文地址:https://www.cnblogs.com/shuihaya/p/15341368.html
Copyright © 2020-2023  润新知