標籤:
FORM/FOLDER開發步驟
建立資料表和視圖
建立資料表的PL/SQL(包含建立資料表的序列);建立表的同義字,分別儲存兩個指令碼!
建立FORM中展示資料所需的視圖,如果需要在FORM中進行增刪改資料操作,則視圖必須包含資料基表的所有欄位!儲存建立視圖的指令碼!
選擇合適的開發模板
如果是開發一般FORM,則選擇使用TEMPLATE.fmb;
如果是開發FOLDER,則選擇使用TEMPLFLD.fmb。
添加主視窗MAIN_WIN
添加主畫布MAIN_CANVAS
1. 關聯主視窗和主畫布!
添加固定畫布CANVAS_FIXED
固定畫布通常顯示定位器,檔案夾和檔案目錄名三個ITEM。
添加堆疊畫布CANVAS_STK
1. 設定顯示水平捲軸!
在設定顯示水平捲軸後FORM編譯器會同時顯示水平捲軸和垂直捲軸,但這裡顯示的垂直捲軸只是假象,實際編譯後的顯示效果並不顯示垂直捲軸!
添加主塊並設定屬性
1. 主塊設定資料顯示條數在10到15之間。
2. 主塊設定顯示捲軸在FIXED畫布!這裡設定的捲軸才是實際顯示在FORM上的垂直捲軸!
3. 主塊添加FOLDER塊下的所有觸發器!
4. 主塊添加FOLDER塊下的兩個ITEM:FOLDER_SWITCHER和CURRENT_RECORD_INDICATOR!
5. 設定上面添加的CURRENT_RECORD_INDICATOR項的畫布為FIXED畫布!
6. 根據需要設定ITEM的子類屬性,位置屬性,長寬高屬性!清空所有顯示項目的PROMPT屬性!
7. 設定所有FORM顯示項目的畫布屬性為STK畫布!Y軸屬性為0.25!
添加提示塊並設定屬性
1. 提示塊添加PROMPT塊下的六個FOLDER的ITEM,設定項FOLDER_DUMMY的畫布為:TOOLBAR!其他五個項的畫布設定為:FIXED!設定檔案夾ITEM的X,Y軸屬性都為0!相應調整檔案夾目錄ITEM。
2. 提示塊添加與主塊一一對應的提示項,設定提示項的子類屬性為FOLDER_PROMPT_MULTIROW!設定畫布屬性為STK!Y軸屬性為0!
3. 清空所有提示項的PROMPT屬性!設定提示項的初始值屬性為資料項目提示!
畫布布局
MAIN_CANVAS布局後在最底層,FIXED布局後在第二層,STK布局後在最上層!
1. 畫布大小的設定:
MAIN畫布大小比例為4:3,且應該設定寬和高為最大;如果只有一個MAIN_FIXED畫布,則應該設定MAIN_FIXED大小比MAIN畫布的寬和高都小0.5,因為在堆疊的時候一般會設定MAIN_FIXED的X,Y軸屬性為0.25,再考慮到主畫布FRAME所佔的地區和邊框大概也有0.25;如果只有一個MAIN_STK畫布,則應該設定MAIN_STK的寬比MAIN_FIXED小0.3,因為最後堆疊畫布的時候,MAIN_STK會放在MAIN_FIXED的CURRENT_RECORD_INDICATOR(0.1)和資料區塊的垂直捲軸(0.2)之間,高度設定為能顯示所有ITEM的高度即可。
按照上述經驗布局後,為了美觀再進行微調即可。
2. MAIN_FIXED布局:FOLDER_OPEN的X,Y軸屬性都設定為0;CURRENT_RECORD_INDICATOR的X軸屬性設定為0,Y軸屬性設定為0.5,和FOLDER_OPEN(0.25)之間0.25的空隙用於在堆疊畫布時放置資料提示塊的ITEM;ORDER_BY1,ORDER_BY2,ORDER_BY3任意放置,美觀即可,因為不可見。
3. MAIN_STK布局:資料區塊的所有ITEM的X軸屬性設定為0,Y軸屬性設定成0.25,因為資料提示塊的ITEM寬度為0.25。
修改FOLDER的初始化函數
在FORM的WHEN-NEW-FORM-INSTANCE觸發器中修改FOLDER的初始化函數:
app_folder.define_folder_block(‘HELPOPRC‘, ‘REQUISITION‘, ‘REQUISITION_PROMPT‘, ‘REQUISITION_STK‘, ‘MAIN_WIN‘, ‘‘,‘‘,‘REQUISITION_FIXED‘);
app_folder.event(‘INSTANTIATE‘);
上傳編譯
上傳路徑:/u03/devp/devpappl/hel/11.5.0/forms/ZHS
編譯路徑:/u03/devp/devpappl/au/11.5.0/forms/ZHS
編譯命令:f60gen $HEL_TOP/forms/ZHS/HELPOPRC.fmb apps/apps output_file=$HEL_TOP/forms/ZHS/HELPOPRC.fmx
注意:上傳路徑和編譯路徑不同,上傳路徑是我們程式源檔案的存放路徑,編譯路徑是我們運行編譯命令的路徑,之所以兩者不同是因為編譯命令在運行時需要使用編譯路徑下的一些系統組件!而上傳路徑並不影響編譯命令的正確執行,只要在編譯命令中指明程式源檔案的路徑和名稱即可!
定義表單,功能;掛載菜單;查看
FORM/FOLDER開發步驟經驗總結