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来实现.
Oracle 對話框提示
最新推荐文章于 2025-03-06 23:30:00 发布