1.打开windows
--修改PER-FORM触发器中调用第一个form
--修改app_custo.open_window中调用windows的名字,打开窗口
(用键盘切换当前Block或用button打开窗体时,需使用APP_CUSTOM.OPEN_WINDOW函数,语法为APP_CUSTOM.OPEN_WINDOW(‘block_name’)
APP_CUSTOM.OPEN_WINDOW 中又会调用app_window.set_window_position。如果是Master-Detail Block需要建立coordination关系的,在APP_CUSTOM.OPEN_WINDOW('LINES')时,调用 APP_WINDOW.SET_COORDINATION)
--对于每一个window而言,
--用app_window.set_coordination 来设置必要的关系(
procedure APP_WINDOW.SET_COORDINATION(event varchar2,coordination varchar2,relation_name varchar2);
--其中event
The name of the trigger event (either WHEN-CHECKBOX-CHANGED,WHEN-WINDOW-CLOSED, or OPEN-WINDOW)
--coordination
IMMEDIATE or DEFERRED. Defaults to IMMEDIATE
--relation_name
Name of the relation, which is listed in the Oracle Forms Designer under the Block object in the
Relation object)
--设置窗体的位子使用app_window.set_window_position(位子包括(CASCADE, RIGHT, BELOW, OVERLAP or CENTER).)
--COORDINATION,重设
2.关闭windows
--与打开form相对,用APP_CUSTOM.CLOSE_WINDOW函数调用windows的名字关闭窗口
--对于每一个窗口,用app_window.set_coordination 来设置必要的关系
--当第一个窗口关闭时,使用APP_WINDOW.CLOSE_FIRST_WINDOW关闭form
--避免关闭查询中的windows
--将光标从一个关闭的窗口移到前一个数据库上
--用hide_window隐藏制定窗口,
3.设置window title
--用app_windows.set_title来设置context-dependent 信息
--在PRE-RECORD中调用title
当用键盘切换当前Block或用button打开窗体时,需使用APP_CUSTOM.OPEN_WINDOW函数
可以使用下面的procedure
PROCEDURE LINES(EVENT VARCHAR2) IS
BEGIN
IF (EVENT IN ('WHEN-BUTTON-PRESSED', 'KEY-NXTBLK'))
THEN APP_CUSTOM.OPEN_WINDOW('LINES');
ELSE
FND_MESSAGE.DEBUG('Invalid event passed to orders.lines: '|| EVENT);
END IF;
END LINES;
修改APP_CUSTOM.OPEN_WINDOW函数,打开windows的规则:
1.设置windows位置;用app_window.set_window_position('你要打开的界面','打开模式--CASCADE, RIGHT, BELOW, OVERLAP or CENTER','前一个页面')
2 重置master-detail 关系(如有需要的话);如果是Master-Detail Block,则需要建立coordination关系,
APP_WINDOW.SET_COORDINATION(event varchar2,coordination varchar2,relation_name varchar2);如
APP_WINDOW.SET_COORDINATION('OPEN-WINDOW'--触发事件(包括‘WHEN–CHECKBOX–CHANGED,
WHEN–WINDOW–CLOSED, or OPEN–WINDOW)’),:control.orders_lines--需要调用coordination的数据块(IMMEDIATE or DEFERRED. Defaults to IMMEDIATE),'ORDERS_LINES'--主从关系的名字Name of the relation,);
3导航到window中的一个block。go_block('block')
4 必要时需要设置窗体属性 SET_WINDOW_PROPERTY('LINES',VISIBLE,PROPERTY_TRUE);
对于APP_WINDOW.SET_COORDINATION的进一步理解:(用于