不過, 這個會列出 User 目前可執行的所有報表, 需由 User 指定要執行的報表名稱,
其實, 若要由 Form 程式, 直接開啟某個報表, User 只需輸入參數, 這種方式要有的.
利用 Open_Form, 然後設定 Open Form 兩個參數 : PROGRAM_APPL_SHORT_NAME 與 CONCURRENT_PROGRAM_NAME 即可.
範例程式, 全部照抄, 只需更改紅色部分 :
程式碼
DECLARE
pl_id ParamList;
pl_name VARCHAR2(10) := 'tempdata';
BEGIN
-- 建立 Parameter List
IF not Id_Null(Get_Parameter_List(pl_name)) THEN
begin
Destroy_Parameter_List( pl_name );
pl_id := Create_Parameter_List(pl_name);
exception
when others then
null;
end;
ELSE
pl_id := Create_Parameter_List(pl_name);
END IF;
-- 新增 Parameter
add_parameter( 'tempdata'
, 'PROGRAM_APPL_SHORT_NAME'
, TEXT_PARAMETER
, 'PROGRAM_APPL_SHORT_NAME'
);
add_parameter( 'tempdata'
, 'CONCURRENT_PROGRAM_NAME'
, TEXT_PARAMETER
, 'CONCURRENT_PROGRAM_NAME'
);
END;
OPEN_FORM( '$FND_TOP/forms/US/FNDRSRUN'
, ACTIVATE
, SESSION
, NO_SHARE_LIBRARY_DATA
, 'tempdata'
);
執行範例 :
1) 點選 Button :
2) 直接開啟 Submit Request, 且直接跳到參數畫面 :
這樣, 可以幫 User 節省一些開啟報表的時間喔.