Oracle 對話框提示

来源:互联网 发布:python数据频率 编辑:程序博客网 时间:2024/06/02 08:21

1.使用alert
       declare
                        k number;
        begin    
                    SET_ALERT_BUTTON_PROPERTY('ALERT',ALERT_BUTTON1,LABEL,'退出');  --增加一个button
                   SET_ALERT_BUTTON_PROPERTY('ALERT',ALERT_BUTTON2,LABEL,'确定');  --增加另一个button
        SET_ALERT_PROPERTY('ALERT',ALERT_MESSAGE_TEXT,'是否退出');    --设置显示信息
                  SET_ALERT_PROPERTY('ALERT',TITLE,'询问');  --设置标题  
                  k:=show_alert('ALERT');
                  IF k= ALERT_BUTTON1 THEN
                              MESSAGE('-----------------');
                  ELSE
                              MESSAGE('-----------------');
                 END IF;
            end;
 
2.使用message(出现在对话框的左下方)
         message('Message');
3.使用弹出提示窗
  (1)使用普通弹出提示
     fnd_message.debug('message');
       or
      fnd_message.set_string('message');
      fnd_messsage.show;
    (2)使用question提示
         declare
                 v_result int;
         begin
                   FND_MESSAGE.SET_STRING('ARE YOU SURE');
                   v_result:=FND_MESSAGE.QUESTION('Yes','No','Cancel',1,3,'QUESTION');
                                  --yes,no,cancel不用的话可以用NULL占位.
                  IF v_result=1 then
                           fnd_message.debug('yes');
                 elsif v_result=2 then
                          fnd_message.debug('no');
                 else
                          fnd_message.debug('cancel');
                end if;
         end;
          fnd_message.question默认为Yes,No,Cancel,如果不要其中一项就用Null替代;
        (3)使用警告
            begin
                    FND_MESSAGE.SET_STRING('NO DATA');
                   if FND_MESSAGE.warn then
                            fnd_message.debug('你选择了OK');
                  else
                             fnd_message.debug('你选择了取消');
                  end if;
           end;
 
       (4)使用错误提示
                begin
                    FND_MESSAGE.SET_STRING('NO DATA');
                    FND_MESSAGE.ERROR;
                 end;
 
4.处理JAVA 异常
         declare
                 myfile  ora_java.jobject;
                ach_  ora_java.jobject;
          begin
               myfile :=MYFILE2.new('c:/sql.txt');
               ach_ :=ACH.new_0(myfile);
               :text_item4:=MYFILE2.getFileNameFull(myfile);
          exception
                        when ORA_JAVA.JAVA_ERROR then
                                 message(ORA_JAVA.LAST_ERROR);
                     WHEN ORA_JAVA.EXCEPTION_THROWN then
                                 message(Throwable.getLocalizedMessage(ORA_JAVA.LAST_EXCEPTION));
          end;
5.执行动态SQL
        declare
                  c integer;
                  ret integer;
                  stmt varchar2(100);
                  n number;
      begin
                  stmt:='select TAB_IEPS_FILECONTROL_HISTORYID.nextval v from dual';
                  c:=dbms_sql.open_cursor;
                  dbms_sql.parse(c,stmt,1);
                  dbms_sql.define_column(c,1,n);
                  ret := dbms_sql.execute(c);
                  ret := dbms_sql.fetch_rows(c);
                  dbms_sql.column_value(c,1,n);
                  :TEXT_ITEM4:=n;
         end;
 
6.Form 中使用自动增长的字段
    在BLOCK级的触发器PRE-INSERT中加入如下语句
     select seq_student_id.nextval into :W_STUDENTS.ID FROM DUAL;
    W_STUDENTS为BLOCK名,ID为BLOCK的字段名.
7.为下拉列表增加项/FOR循环的使用
          declare
          begin
                   clear_list('dropdownlist'); --dropdownlist 为下拉列表的名字
                   for i in 1 .. 10 loop
                          add_list_element('dropdownlist',i,'Item_'||to_char(i),to_char(i));
                  end loop;
          end;
        -- add_list_element(下拉列表名,序号(1开始),文本,值);
8.判断复选框是否选中
      if checkbox_checked('checkbox1') then    
           fnd_message.debug('选中');
      else
         fnd_message.debug('未选中');
      end if;
9.raise   form_trigger_failure
                 一般使用在自定义的错误后,也就是你写程序时,作了某一个判断,如果不符合预期的结果程序将不继
          续执行,这时一般用它。 raise   form_trigger_failure;的话,结果是程序结束本单元   (BEGIN   ...   END)的
        执行并将所有对数据 库的操作回滚.
10.单选按钮(组)
      单选按钮都是以组的形式存在,一个单选按钮组可以有若干个单选按钮,取值时只要引用按钮组的名字即可以.
      如:有一个单选按钮组的名字为RADIO,如果要确定选中了哪个按钮,可以用如下方法:
      begin
                fnd_message.debug(:RADIO);
      end;
 
11.非数据块数据的初始化
      begin
             for i in 1 .. 10 loop
                   :item33:='xxxx';
                   :item34:='yyyy';
                   :item35:='zzzz';
                  do_key('next_record');
            end loop;
 end;
12.打开子窗口
     可以定义另一个BLOCK基于不同的画布和WINDOW,然后直接用GO_BLOCK即可,如果需要隐藏父窗口,用HIDE_WINDOW来实现.