oracle中app文件夹下,Oracle Form开发之folder(文件夹)功能开发(一)
一、模板制作:YSFOLDER.FMB
打開TEMPLATE.FMB,如果打開的是APPSTAND.FMB,以下步驟省略:
1、FORM級觸發器:
1、在WHEN-NEW-FORM-INSTANCE后面添加以下代碼:
--定義文件夾數據塊
app_folder.define_folder_block(
object_name => ' DETAILBLOCK _FOLDER' ,
folder_block_name => 'DETAILBLOCK',
prompt_block_name => 'DETAILBLOCK_PROMPT',
folder_canvas_name => 'DETAILBLOCK_STACKED',
folder_window_name => 'BLOCKNAME',
disabled_functions => '');
--以上參數均為VARCHAR2,長度不得超過20個字符
2、增加FORM級觸發器:FOLDER_ACTION,PL/SQL代碼如下:
app_folder.event(:global.folder_action);
3、增加FORM級觸發器:FOLDER_RETURN_ACTION,PL/SQL代碼如下:
null;
--
-- action code is in :global.folder_action
-- affected field is in :global.folder_field
--
2、Attached Libraries:
添加文件:APPFLDR.PLL
來源:ERP安裝目錄下,AU目錄下查找該類文件所在的目錄
3、Object Groups
繼承一個對象組:STANDARD_FOLDER
做法:復制APPSTAND.FMB中的同名對象,粘貼到模板對象組中,選擇“Refence”(繼承),路徑方式選擇“Remove path”(不要路經)。
結果:將會把對象組中的所有對象映射添加到相應的對象節點中。
二、模板例子的制作
1、修改WHEN-NEW-FORM-INSTANCE中文件夾數據塊定義語句中的參數,確定對象名稱(一般為form對象名稱)、文件夾數據塊名稱、標題塊名稱、堆疊畫布名稱、窗口名稱。
2、定義窗口(windows),win_main:繼承屬性WINDOW_NORMAL
3、定義堆疊畫布(stacked canvas-views), cv_detail_stacked:繼承屬性類CANVAS_STACKED
4、定義文件夾數據塊(folder block),blk_detail:繼承屬性類BLOCK
(1)觸發器:
·KEY-EXEQRY:
app_folder.event('KEY-EXEQRY');
·KEY-NEXT-ITEM
app_folder.event('KEY-NEXT-ITEM');
·KEY-PREV-ITEM
app_folder.event('KEY-PREV-ITEM');
·POST-BLOCK
app_folder.event('POST-BLOCK');
·PRE-BLOCK
app_folder.event('PRE-BLOCK');
·WHEN-NEW-BLOCK-INSTANCE
App_folder.event('WHEN-NEW-BLOCK-INSTANCE');
·KEY_CLRBLK
App_folder.event(' KEY_CLRBLK ');
·KEY_ENTQRY
App_folder.event(' KEY_ENTQRY ');
·KEY_NXTREC
App_folder.event(' KEY_NXTREC ');
·KEY_PRVREC
App_folder.event(' KEY_PRVREC ');
·PRE_QUERY
App_folder.event(' PRE_QUERY ');
·WHEN-NEW-RECORD-INSTANCE
App_folder.event('WHEN-NEW-RECORD-INSTANCE');
(2)定義數據項,可以是表項,也可以是非基表項,確定哪些項需要放在堆疊畫布上,注意只有在堆疊畫布上的項才能使用文件夾功能
(3)注意:數據項的類型不能是:Display Item、List Item等;
可以是:Text Item、Check Box等;
如果打開folder時出現錯誤:“Set_Item_Property沒有這樣的屬性”,說明erp標準程序中用到的屬性在個別項中不存在,出現幾次就有幾個缺乏這個屬性的Item;是否擁有這個屬性,是由Item的類型確定的,因此有些Item類型不能用于folder功能。
(4)確定各個項在畫布中的位置
5、定義標題數據塊(prompt block), blk_detail_prompt:繼承屬性類BLOCK_DIALOG
便捷的做法:先復制文件夾數據塊blk_detail,改名稱,再刪去新塊下的全部觸發器,然后除去不需要的項,修改剩下所有項的屬性繼承FOLDER_PROMPT_MULTRIROW,最后將各個項的default
value屬性值寫入對應的中文或英文標題
(1)觸發器:無
(2)標題項,來自文件夾數據塊blk_detail,屬性繼承自FOLDER_PROMPT_MULTIROW,default value屬性值寫入相應的中英文標題
總結
以上是生活随笔為你收集整理的oracle中app文件夹下,Oracle Form开发之folder(文件夹)功能开发(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php的wsgi框架结构,理解 WSGI
- 下一篇: 下载服务器 linux系统,如何搭建Li