客製化Form的選單欄和右鍵選單
Oracle EBS還允許客製化Form的選單欄。
使用者最多可以定義45個form-level的trigger,名稱必須為SPECIALn,其中SPECIAL1 to SPECIAL15屬於Tools選單項,SPECIAL16 to SPECIAL30屬於Reports選單項, SPECIAL31 to SPECIAL45屬於Actions選單項,其中Reports、Actions的名稱可以被修改。
修改程式碼為:
APP_SPECIAL.INSTANTIATE('SPECIAL_B','庫存');
APP_SPECIAL.ENABLE('SPECIAL_B',PROPERTY_On);
其中SPECIAL,SPECIAL_B,SPECIAL_C分別代表的是Tools,Reports,Actions。
初始化示例:
IF (FND_FUNCTION.TEST('DEMVC_DEMVCEOR_PRINT_ORDER')) THEN
app_special.instantiate('SPECIAL1','&Print Order');
app_special.enable('SPECIAL1',PROPERTY_ON);
app_special.instantiate('SPECIAL2','Specia&l 2 Line', '',TRUE,'LINE');
app_special.instantiate('SPECIAL3_CHECKBOX','Spe&cial 3 Box w Line', '',TRUE,'LINE');
app_special.set_checkbox('SPECIAL3_CHECKBOX','TRUE');
app_special.instantiate('SPECIAL4_CHECKBOX','Special &4 Box');
app_special.set_checkbox('SPECIAL4_CHECKBOX','TRUE');
app_special.instantiate('SPECIAL18','Specia&l 18 Line SEP', separator=>'LINE');
app_special.instantiate
app_special.instantiate('SPECIAL33','Specia&l 33');
app_special.instantiate('SPECIAL30','Specia&l 30');
app_special.instantiate('SPECIAL31','Specia&l 31 Line','',TRUE,'LINE');
app_special.instantiate('SPECIAL45','Spe&cial 45');
/* and display a button on the form */
app_item_property.set_property('orders.print_order',
DISPLAYED, PROPERTY_ON);
ELSE
app_item_property.set_property('orders.print_order',
DISPLAYED, PROPERTY_OFF);
END IF;
app_special.instantiate設定選單項的文字說明,app_special.enable設定選單項是否可用,app_special.set_checkbox設定check_box選單項的選定狀態。
在form-level 的SPECIALn trigger中,定義了這些選單項選中後的處理程式碼,如下所示:
Eg1:
demvceor.PRINT_ORDER('SPECIAL1');
Eg2:
if (app_special.get_checkbox('SPECIAL3_CHECKBOX')='TRUE') then
fnd_message.debug('Special 3 is True!');
else
fnd_message.debug('Special 3 is False!');
end if;
右鍵選單也可以自定義,form-level PRE-POPUP-MENU trigger引用APPSTAND.EVENT('PRE-POPUP-MENU')建立default menu;建立block /item level pre-pop-menu trigger須(Execution HierarchyàAfter)。
從block /item level pre-pop-menu trigger(Execution HierarchyàAfter)中呼叫 app_popup.instantate函式初始化右鍵選單項:
procedure APP_POPUP.INSTANTIATE(
option_name varchar2,
txt varchar2,
initially_enabled boolean default true,
separator varchar2 default null);
Example
• This example results in a menu that has a line above the second custom entry and
has the third custom entry grayed out (disabled)
APP_POPUP.INSTANTIATE(
‘POPUP1’,’First Entry’);
APP_POPUP.INSTANTIATE(
‘POPUP2’,’Second Entry’, TRUE, ‘LINE’);
APP_POPUP.INSTANTIATE(
‘POPUP3’,’Third Entry’, FALSE);
右鍵選單的處理函式寫在名為POPUP1 through POPUP10的trigger中,應該在正確的level上建立這些trigger (通常是block/item level)。
客製化選單
Effect:
Usage:呼叫 app_special.instantiate包
Examples:
1、增加一個自定義Form Level的觸發器(SPECIAL11)
2、增加測試程式碼如下:
――――――――――――――――――――――――――――――――――――――――――――――
declare
v_invoice_num varchar2(50);
begin
v_invoice_num := '選單欄客製化100';
fnd_message.debug(v_invoice_num);
end;
―――――――――――――――――――――――――――――――――――――――――――――――
3、在Form WHEN-NEW-FORM-INSTANCEFJ 進行呼叫:
APP_SPECIAL.INSTANTIATE('SPECIAL11','測試選單2', '', TRUE, 'LINE');
―――――――――――――――――――――――――――――――――――――――――――――――
4、一些特殊說明:
上面自定義FORMS級觸發器,名字必須定義為“SPECIAL+數字‖,否則會報錯。並且數字的大小決定了選單出現的先後順序。數字還有更大作用就是決定了,自定義選單選項放在哪個主選單下。
SPECIAL1—SPECIAL15在“工具”主選單下。
SPECIAL16—SPECIAL30在“報表”主選單下。
SPECIAL31—SPECIAL45在“活動”主選單下。
SPECIAL46以上就直接報錯了。^_^
如下圖
5、 控制自定義選單的是否啟用可用。
使用app_special.enable函式可以控制選單是否可以使用。
例如:基於不同的資料塊,實現選單的不可用。在block的‖when-new-block-instance‖中加入
效果:
app_special.enable('SPECIAL1',property_off);
效果
6、 在自定義的選單上使用checkbox按鈕。
①增加一個自定義Form Level的觸發器(SPECIAL1_CHECKBOX),程式碼如下:
if app_special.get_checkbox('SPECIAL1_CHECKBOX')='TRUE' then
fnd_message.debug('Special 1 is True!');
else
fnd_message.debug('Special 1 is False!');
end if;
注:使用app_special.get_checkbox來獲取checkbox的狀態值。
②在Form的WHEN-NEW-FORM-INSTANCE觸發器中初始化選單。
app_special.instantiate('SPECIAL1_CHECKBOX','Spe&cial 1 Box w Line', '',TRUE,'LINE');
app_special.set_checkbox('SPECIAL1_CHECKBOX','TRUE');
注:app_special.set_checkbox是對checkbox進行賦值操作。
③效果如下:
客製化右鍵選單
1、 首先如果是要為某個ITEM,另外開發一個右鍵選單。這個需要直接按照FORM的開發教程,自定義一個POPUP選單就可以了。但本文講的在EBS所有的快捷選單上,額外增加所需的選單按鈕。也就是要圖上所示的快捷選單上增加選單按鈕。
2、 在FROM-LEVEL增加自定義觸發器(名字規則為:POPUP+N)
3、 ITEM的“PRE-POPUP-MENU”觸發器上初始化選單。
APP_POPUP.INSTANTIATE('POPUP1','First Entry');
APP_POPUP.INSTANTIATE('POPUP10','SECONED Entry',TRUE,'LINE');
APP_POPUP.INSTANTIATE('POPUP3','THREE Entry',FALSE,NULL);
4、 如果是整個BLOCK的ITEM都需要客製化快捷選單,可以在BLOCK的“PRE-POPUP-MENU”定義。
APP_POPUP.INSTANTIATE('POPUP1','global');
呼叫EBS日期控制元件
1、 首先將ITEM的LOV屬性設定為“ENABLE_LIST_LAMP”、列表驗證屬性設定為“否”
2、在ITEM的“KEY-LISTVAL”解發器下加入對下程式碼:
BEGIN
calendar.show();
END;
3、注意:ITEM對應資料庫型別必須是DATE型別,否則會報frm-40700錯誤。效果如下:
相關推薦
客製化Form的選單欄和右鍵選單
Oracle EBS還允許客製化Form的選單欄。 使用者最多可以定義45個form-level的trigger,名稱必須為SPECIALn,其中SPECIAL1 to SPECIAL15屬於Tools選單項,SPECIAL16 to SPECIAL30屬於Reports
製作Unity外掛之-頂部選單欄及右鍵選單欄拓展
經常會拓展Unity指令碼,幾乎都是為了操作方便與使用便捷,這裡簡單介紹說明下Unity自定義指令碼外掛的方式及快捷鍵的使用,大神請無視。 製作Unity**頂部**選單欄拓展,在前面的批量處理資源
來看看標準選單和右鍵選單的玩法
我的郵箱:[email protected] 歡迎大家和我交流程式設計心得日常應用中,選單主要分為兩種:(1) 標準選單(處於應用程式選單欄處的選單) (2)右鍵快捷選單幾乎你所見
WPF 通知欄圖示和右鍵選單
WPF沒有自帶的通知欄圖示元件,需要引用Windows類庫,具體程式碼如下: public MainWindow() { InitializeComponent(); icon();
*#06*中所顯示IMEI和MEID號的客製化
最近接到了一個產線反饋的問題,經過復現發現現象如下:在撥號介面輸入*#06#,插入移動聯通卡或者出現imei號正確,插入電信卡時出現的meid號是錯誤的,顯示的仍然是imei號,列印log後發現根
佈局:高度已知,佈局一個三欄佈局,左欄和右欄寬度為200px,中間自適應 浮動佈局詳解
需求:高度已知為200px,寫出三欄佈局,左欄和右欄各位200px,中間自適應,如下圖所示: 方法一:float浮動佈局 原理是:定義三個區塊,需要注意的是中間的區塊放在右邊區塊的下面,統一設定高度為200px,然後設定左邊欄寬度為200px並且float:left,設定右邊欄寬度為200px並且fl
Android客製化-恢復出廠設定但保留檔案
很久沒有記錄了,持之以恆做一件事,需要一定的毅力吶! 最近遇到了一個需求,要求恢復出廠設定保留內建sd卡下某個目錄的檔案。思來想去,從驅動那邊備份校準訊號檔案得到了一些思路。因為帶通話設定的裝置需要進行校準,我們會將校準的檔案儲存在/data下。具體做法呢,在執行恢復出廠設定時,將此檔案
js靜止開啟右鍵選單和控制檯
document.oncontextmenu = new Function("return false;"); document.onkeydown = document.onkeyup = document.onkeypress = function (e) { va
Qt學習(3)——選單欄和工具欄
0、建立專案: 前面步驟一樣,到下圖基類換一下: 1、選單欄 標頭檔案: 一些函式原型宣告: void addDockWidget(Qt::DockWidgetArea area, QDockWidget *dockwidget, Qt::Orient
MT3561平臺 GT928觸控式螢幕驅動客製化觸控的開關
MT3561 開光觸控式螢幕GT928邏輯 1 . MT3561 觸控式螢幕的驅動檔案路徑: kernel-3.18/drivers/input/touchscreen/mediatek/GT928/gt9xx_driver.c 2. 需求: 提供介面控制觸
VC++單文件程式固定選單欄和工具欄
MainFrm.cpp框架類下,找到OnCreate方法 m_wndMenuBar.EnableDocking(CBRS_ALIGN_ANY); m_wndToolBar.EnableDocking(
Win7刪除右鍵選單中“圖形屬性”和“圖形選項”
完win7作業系統後,打完驅動在桌面右鍵會出現如下兩個選項,平時沒啥用又佔用空間,那麼如何刪掉這兩個選項呢? 操作步驟: 1、在執行中輸入 regedit 確定開啟登錄檔; 2、依次單擊展開HKEY_CLASSES_ROOTDirectoryBa
android 7.0平臺客製化虛擬導航按鍵(隱藏NavigationBar,上滑顯示NavigationBar)
如圖,需求是增加一個按鈕可以隱藏NavigationBar,上滑顯示NavigationBar。 參考文章: 1.首先新建一個hide_show.xml,其中systemui:keyCode="142"為事件值,相當與F12. <?xml versi
客製化 Tornado 的 StaticFile 的 404 not found page.
滿簡單的,多包一層就可以處理掉。 The file specified in default_filename should be in given static path. So if you move error.htmlto assets/js directory, than navigate to
[iOS] 客製化TableViewCell (Custom TableViewCell)
客製化TableViewCell, 照著這3篇做,就成功了,還滿簡單的。 實作出來的結果: 如果是使用標準的內建cell: - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSInd
客製化語言與時區問題
客製化語言與時區問題 正常改預設語言路徑: L之前: 修改預設語言 operator_SFR_MEO/mediatek/config/up40_h405f_meo/ProjectConfig.mk MTK_PRODUCT_LOCALES=en_US pt_PT fr_FR es_ES i
Android客製化------過濾設定應用列表中某個應用
Code Review / O1_MP2 / alps-release-o1.mp2-default.git / commitdiff ? search: re summary | shortlog | log | commit | commitdiff | review | t
【Qt】選單欄、工具欄、狀態列、右鍵選單的實現
在QMainWidget基礎上實現選單欄、工具欄、狀態列、右鍵選單。 標頭檔案: #ifndef GWDEMO_H #define GWDEMO_H #include <QMainWindow> #include <QMenu> #include <Q
[Scala] 客製化Interpolation « Terrence的宅宅幻想
簡單來說就是字串可以加的前輟字,範例如下 s"hello $word" raw"\\\\\\" 今天我想改造query method query(conn, "select * f
Android RRO機制的運用-----google開機嚮導客製化
上週五的時候領導分了一個任務,客戶讓在google開機嚮導裡面增加一頁,首先就想到了android的Overlay,然後網上搜了下,發下有很多人寫了這方面的技術。而且寫的都還不錯,所以本篇只當記錄作用吧,列下寫的比較好的部落格: http://developer.sonymobile