




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 FORM個性化的應用實例文檔作者:YangHe創(chuàng)建日期:5/20/2007最近更新:5/24/2007控制編號:FORM個性化V1.0文檔版本: 1.0審批:松下富士通漢得拷貝數_文檔控制變更記錄日期作者版本變更參考5/20/2007YangHe1新創(chuàng)建的文檔審閱姓名職位分發(fā)拷貝數姓名地點1111(9-Dec-96)目錄文檔控制2概述4安裝環(huán)境4安裝前準備4閱讀說明及約定4FORM個性化5協(xié)亨項目ORACLE銷售訂單錄入控制5協(xié)亨項目ORACLE子庫存轉移控制12協(xié)亨項目ORACLE雜項事務處理控制16添加菜單項調用系統(tǒng)功能18已解決和未解決的問題36未解決問題36已解決問題36(9-Dec
2、-96)概述FORM個性化是.10新增的功能。通過個性化設置,我們可以不必去修改ORACLE的FORM源碼而實現FORM標準功能的修改,因為個性化代碼是獨立儲存在數據庫表中的,FORM的升級均對此無影響。所以在項目上要對FORM進行修改時,如果能行,最好還是用FORM個性化來實現這里順便提下兩個預置文件,一個是Hide Diagnostics menu entry,用來控制help菜單下的Diagnostics是否隱藏,默認為不隱藏。一個是 Utilities:Diagnostics用來控制進入診斷模式時是否需要apps密碼,默認為需要密碼。根據具體需要看是否設置。FORM個性化觸發(fā)器事件有五
3、個FORM自帶的觸發(fā)器動作:WHEN-NEW-FORM-INSTANCE、WHEN-NEW-BLOCK-INSTANCE、WHEN-NEW-RECORD-INSTANCE、WHEN-NEW-ITEM-INSTANCE、WHEN-VALIDATE-RECORD以及MENU、SPECIAL(點擊自定義的菜單動作,最后的例子中我們可以看到)。通過這些觸發(fā)器事件,我們可以實現改變ITEMSBLOCKSCANVASESWINDOWSREGIONS等的屬性及值、執(zhí)行FORM的內置函數、顯示錯誤警告MESSAGE信息、顯示DEBUG信息、自定義一個菜單項來執(zhí)行應用中的某功能、創(chuàng)建一個全局變量來傳遞信息等。F
4、ORM個性化操作起來比較簡單,ORACLE有一個專門的文檔對其進行介紹的,詳見METALINK Note:.1。這里簡單介紹一下在實際項目中的幾個應用。安裝環(huán)境硬件平臺:IBM操作系統(tǒng)及版本:Oracle RDBMS 版本: 9.2.0.6.0Oracle EBS 版本:11.5.10.2安裝前準備以上操作,如有疑問,請向系統(tǒng)管理員尋求幫助。閱讀說明及約定q 本文中藍色字體為需要注意的內容。q 本文中紅色字體為特別重要的內容。q 本文中黑色粗體10號字為輸入的命令。(2-Dec-96) (2-Dec-96)(9-Dec-96)FORM個性化以下介紹的幾個FORM個性化應用大部分是基于上海協(xié)亨信
5、息科技有限公司ERP項目的實際開發(fā)。協(xié)亨項目ORACLE銷售訂單錄入控制項目背景及業(yè)務需求:協(xié)亨手機連鎖銷售集團是一家主要經營手機銷售的連鎖零售企業(yè)。其在全國有幾百家門店,當門店的POS系統(tǒng)上線后,日常銷售都是在POS系統(tǒng)中完成的,通過接口傳給ORACLE自動生成銷售訂單,在ORACLE中我們禁止手工錄入這個門店的銷售訂單。具體的控制方法是: 把訂單頭的銷售員設置成必錄字段。在離開該字段的時候添加校驗: 根據銷售員查找門店信息,若找不到,表示這是跟門店無關的銷售,不控制。 若找到,則判斷該門店是否 已經POS上線,如果已經是POS上線的并且POS控制類型=現實門店,那么就不能通過驗證。否則可以
6、通過。銷售超級用戶職責/訂單;退貨/銷售訂單/幫助/診斷/自定義代碼/個性化在Oracle 的訂單錄入界面,禁止錄入這個門店的銷售訂單。在銷售訂單FORM下進入FORM個性化:FORM個性化界面條件偽代碼:銷售員id在客戶化表XH_SHOP_INFO中有對應的有效門店,且POS上線日期非空,且門店類型為現實門店。序號說明觸發(fā)器事件觸發(fā)器對象條件10FORBID SO IMP0RTWHEN-VALIDATE-RECORDORDER:ORDER.SALESREP_ID IN (SELECT SALESREP_ID FROM XH_SHOP_INFO WHERE NVL(END_DATE_ACTIV
7、E,SYSDATE + 1) TRUNC(SYSDATE) AND (SELECT POS_ONLINE_DATE FROM XH_SHOP_INFO WHERE NVL(END_DATE_ACTIVE,SYSDATE + 1) TRUNC(SYSDATE)AND SALESREP_ID = :ORDER.SALESREP_ID) IS NOT NULLAND (SELECT POS_CONTROL_TYPE FROM XH_SHOP_INFO WHERE NVL(END_DATE_ACTIVE,SYSDATE + 1) TRUNC(SYSDATE)AND SALESREP_ID = :ORD
8、ER.SALESREP_ID) = REAL活動符合條件的記錄在保存時報以下錯誤:該銷售員對應的門店POS已上線,不允許在ORACLE錄入訂單序號類型消息類型消息文本10消息錯誤該銷售員對應的門店POS已上線,不允許在ORACLE錄入訂單同時對訂單行也要進行限制序號說明觸發(fā)器事件觸發(fā)器對象條件10FORBID SO IMP0RT LINEWHEN-VALIDATE-RECORDLINE:ORDER.SALESREP_ID IN (SELECT SALESREP_ID FROM XH_SHOP_INFO WHERE NVL(END_DATE_ACTIVE,SYSDATE + 1) TRUNC(S
9、YSDATE) AND (SELECT POS_ONLINE_DATE FROM XH_SHOP_INFO WHERE NVL(END_DATE_ACTIVE,SYSDATE + 1) TRUNC(SYSDATE)AND SALESREP_ID = :ORDER.SALESREP_ID) IS NOT NULLAND (SELECT POS_CONTROL_TYPE FROM XH_SHOP_INFO WHERE NVL(END_DATE_ACTIVE,SYSDATE + 1) TRUNC(SYSDATE)AND SALESREP_ID = :ORDER.SALESREP_ID) = REAL
10、活動序號類型消息類型消息文本10消息錯誤該銷售員對應的門店POS已上線,不允許在ORACLE錄入訂單看實際中的應用情況:錄入銷售訂單,銷售人員為 曹楊二店,該店POS_ONLINE_DATE不為空,且POS_CONTROL_TYPE= REAL,即POS上線日期非空,且門店類型為現實門店。新增一條規(guī)則,設置銷售人員為必需字段序號說明觸發(fā)器事件觸發(fā)器對象條件10設置銷售人員為必輸字段WHEN-NEW-RECORD-INSTANCEORDER活動序號類型對象類型目標對象特性名稱值10特性項目ORDER.SALESREP_MIRREQUIRED (APPLICATIONS COVER)真看實際中的應
11、用情況:當我們新建一個銷售訂單,可以看到,銷售人員變成了必輸字段。協(xié)亨項目ORACLE子庫存轉移控制業(yè)務需求:協(xié)亨門店的POS上線前,直接在ORACLE中做子庫存轉移。POS系統(tǒng)上線后,所有的調撥業(yè)務都是在POS中進行的,通過接口傳給ORACLE自動做子庫存轉移,在ORACLE中禁止手工錄入該門店對應的子庫轉移。庫存超級用戶職責/事務處理/子庫存轉移/事務處理行/幫助/診斷/自定義代碼/個性化在子庫存轉移界面,在子庫存及目標子庫存 兩個字段上,在離開該字段的時候添加校驗:根據子庫存的門彈性域查找門店信息,判斷該門店是否 已經POS上線,如果已經是POS上線的并且POS控制類型=現實門店,那么就
12、不能通過驗證。否則可以通過。即如果在對應門店已上線的子庫做子庫存轉移,在保存時會出現以下錯誤:序號說明觸發(fā)器事件觸發(fā)器對象條件10FORBID SUBINV TRANSFERWHEN-VALIDATE-RECORDMTL_TRX_LINE(SELECT POS_ONLINE_DATE FROM XH_SHOP_INFO XSWHERE NVL(END_DATE_ACTIVE,SYSDATE + 1) TRUNC(SYSDATE)AND XS.SHOP_NUMBER = (SELECT MSI.ATTRIBUTE1 FROM MTL_SECONDARY_INVENTORIES MSIWHERE
13、NVL(MSI.DISABLE_DATE,SYSDATE) TRUNC(SYSDATE)AND MSI.SECONDARY_INVENTORY_NAME = :MTL_TRX_LINE.SUBINVENTORY_CODE) IS NOT NULLAND (SELECT POS_CONTROL_TYPE FROM XH_SHOP_INFO XSWHERE NVL(END_DATE_ACTIVE,SYSDATE + 1) TRUNC(SYSDATE)AND XS.SHOP_NUMBER = (SELECT MSI.ATTRIBUTE1 FROM MTL_SECONDARY_INVENTORIES
14、MSIWHERE NVL(MSI.DISABLE_DATE,SYSDATE) TRUNC(SYSDATE)AND MSI.SECONDARY_INVENTORY_NAME = :MTL_TRX_LINE.SUBINVENTORY_CODE) = REAL活動序號類型消息類型消息文本10消息錯誤子庫存對應的門店POS已上線,不允許在ORACLE中進行子庫存轉移序號說明觸發(fā)器事件觸發(fā)器對象條件10FORBID SUBINV TRANSFER2WHEN-VALIDATE-RECORDMTL_TRX_LINE(SELECT POS_ONLINE_DATE FROM XH_SHOP_INFO XSWHE
15、RE NVL(END_DATE_ACTIVE,SYSDATE + 1) TRUNC(SYSDATE)AND XS.SHOP_NUMBER = (SELECT MSI.ATTRIBUTE1 FROM MTL_SECONDARY_INVENTORIES MSIWHERE NVL(MSI.DISABLE_DATE,SYSDATE) TRUNC(SYSDATE)AND MSI.SECONDARY_INVENTORY_NAME = :MTL_TRX_LINE.TRANSFER_SUBINVENTORY) IS NOT NULLAND (SELECT POS_CONTROL_TYPE FROM XH_SH
16、OP_INFO XSWHERE NVL(END_DATE_ACTIVE,SYSDATE + 1) TRUNC(SYSDATE)AND XS.SHOP_NUMBER = (SELECT MSI.ATTRIBUTE1 FROM MTL_SECONDARY_INVENTORIES MSIWHERE NVL(MSI.DISABLE_DATE,SYSDATE) TRUNC(SYSDATE)AND MSI.SECONDARY_INVENTORY_NAME = :MTL_TRX_LINE.TRANSFER_SUBINVENTORY) = REAL序號類型消息類型消息文本10消息錯誤目標子庫存對應的門店POS
17、已上線,不允許在ORACLE中進行子庫存轉移協(xié)亨項目ORACLE雜項事務處理控制業(yè)務需求:協(xié)亨門店的POS上線前,可以直接在ORACLE中做雜項事務處理。POS系統(tǒng)上線后,門店的盤點是在POS中做的,通過接口傳給ORACLE自動做雜項事務處理。此時在ORACLE中禁止手工錄入該門店對應的雜項事務處理。庫存超級用戶職責/事務處理/雜項事務處理/事務處理行/幫助/診斷/自定義代碼/個性化在雜項庫存事務處理界面,在子庫存字段上,在離開該字段的時候添加校驗:根據子庫存的門彈性域查找門店信息,判斷該門店是否 已經POS上線,如果已經是POS上線的并且POS控制類型=現實門店,那么就不能通過驗證。否則可以
18、通過。即如果在對應門店已上線的子庫做子庫存轉移,在保存時會出現以下錯誤:序號說明觸發(fā)器事件觸發(fā)器對象條件10FORBID MISCELL TRANSFERWHEN-VALIDATE-RECORDMTL_TRX_LINE(SELECT POS_ONLINE_DATE FROM XH_SHOP_INFO XSWHERE NVL(END_DATE_ACTIVE,SYSDATE + 1) TRUNC(SYSDATE)AND XS.SHOP_NUMBER = (SELECT MSI.ATTRIBUTE1 FROM MTL_SECONDARY_INVENTORIES MSIWHERE NVL(MSI.DI
19、SABLE_DATE,SYSDATE) TRUNC(SYSDATE)AND MSI.SECONDARY_INVENTORY_NAME = :MTL_TRX_LINE.SUBINVENTORY_CODE) IS NOT NULLAND (SELECT POS_CONTROL_TYPE FROM XH_SHOP_INFO XSWHERE NVL(END_DATE_ACTIVE,SYSDATE + 1) TRUNC(SYSDATE)AND XS.SHOP_NUMBER = (SELECT MSI.ATTRIBUTE1 FROM MTL_SECONDARY_INVENTORIES MSIWHERE N
20、VL(MSI.DISABLE_DATE,SYSDATE) TRUNC(SYSDATE)AND MSI.SECONDARY_INVENTORY_NAME = :MTL_TRX_LINE.SUBINVENTORY_CODE) = REAL活動序號類型消息類型消息文本10消息錯誤子庫存對應的門店POS已上線,不允許在ORACLE中進行雜項事務處理添加菜單項調用系統(tǒng)功能同時對訂單行也要進行限制以下是個性化的執(zhí)行效果。在tools菜單里增加了一個菜單項Executable,點擊可以調出該并發(fā)程序所對應的可執(zhí)行界面。調出結果如下:整體邏輯:打開并發(fā)程序定義界面,在Tools菜單欄下新加一個菜單項。點擊該菜
21、單時,如果并發(fā)程序名為空,則報一個錯誤。如果可執(zhí)行名非空,增加一個全局變量 ,儲存可執(zhí)行的名稱。點擊新增的菜單項,可以打開可執(zhí)行FORM。當打開可執(zhí)行FORM時,對上述定義的全局變量進行初始化。進入查詢模式。將全局變量的值賦予可執(zhí)行名稱項值。進行查詢。清除全局變量的值。以下是step_by_step編輯詳情1、打開并發(fā)程序定義界面,再打開FORM個性化界面,定義一個名為Executable的個性化規(guī)則,對應的觸發(fā)器事件為WHEN-NEW-FORM-INSTANCE2、在Actions里,增加一個Menu類型,其中Menu Entry選擇SPECIAL1(SPECIAL1至15是在Tools菜單
22、下,16至30是在Reports菜單下,31至45在Actions菜單下),Menu Label輸入Executable(即菜單項標簽),Icon Name為CONC_PROG即并發(fā)程序FORM對應的BLOCK3、保存,打開可執(zhí)行界面,可以看到新增的菜單項,點擊,沒有事件發(fā)生。4、在可執(zhí)行界面下,打開FORM個性化界面,我們增加一個事件為,如果可執(zhí)行的名稱為空,則報一個錯誤Please Enter Executable Name!新增一個個性化規(guī)則Check Executable Name,Trigger Event為SPECIAL1,條件為可執(zhí)行名稱為空。即:CONC_PROG.EXECUT
23、ABLE_NAME IS NULL5、在Actions下,設置一個Meassage 類型,Message Type為Error,Message Text為Please Enter Executable Name!6、保存。打開并發(fā)程序定義界面,Executable Name項為空,直接點擊Executable。7、出現錯誤信息:Please Enter Executable Name!8、在并發(fā)定義界面下,打開FORM個性化界面。我們先定義一個全局變量,儲存可執(zhí)行的名稱,在后面中要用到。新增一個名為Excutable Entered的個性化規(guī)則,Trigger Event為SPECIAL1,條
24、件為:CONC_PROG.EXECUTABLE_NAME is not null9、在Actions里加入一個Property類型,Object Type為Global Variable即全局變量,變量名為XX_XH_EXECUTABLE_NAME,為了便于區(qū)分,我們FORM個性化的全局變量全部以XX_開頭。Property Name為VALUE,Value為=:CONC_PROG.EXECUTABLE_NAME(前面有=號,如果不加等號的話,會被賦值為 :CONC_PROG.EXECUTABLE_NAME)。10、再增加一個Builtin類型,Builtin Type為Lunch a Fun
25、ction即調用一個功能,Function Code為FND_FNDCPMFE即可執(zhí)行對應的功能,Function Name會被自動調出。11、保存。打開并發(fā)程序界面,查找一個并發(fā)程序,點擊ToolsExecutable,可以看到可執(zhí)行定義界面被調出,但是沒有數據。12、關閉并發(fā)請求界面,打開可執(zhí)行界面,再打開FORM個性化界面。新增加一個FORM個性化規(guī)則INIT XX_XH_EXECUTABLE_NAME,觸發(fā)器事件為WHEN-NEW-FORM-INSTANCE。我們做這個個性化規(guī)則的目的是初始化全局變量INIT XX_XH_EXECUTABLE_NAME。13、在Actions下,增加一
26、個Property 類型,Object Type 為Global Variable,變量名為XX_XH_EXECUTABLE_NAME。Property Name為INITIAL VALUE(注意與VALUE的區(qū)別,VALUE是直接賦值,而INITIAL VALUE為如果該變量為null或未被創(chuàng)建,會被賦初值,如果有值的話,則不會覆蓋),Value為=null。這個個性化的目的是為了直接打開該FORM時,后面定義的用到此全局變量的個性化規(guī)則有效。14、新增一條名為Enter Query的個性化規(guī)則。觸發(fā)器的事件為WHEN-NEW-FORM-INSTANCE,條件為:global.XX_XH_EXECUTABLE_NAME is not null 。即上面定義的那個全局變量的值不為空時才會執(zhí)行。15、在Actions,設置一個Builtin類型,Builtin Type為DO_KEY,就像
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 清遠食品認證管理辦法
- 軍工企業(yè)信息安全防護策略研究
- 武安舒卿培訓課件
- 盲人導航腰帶行業(yè)的未來趨勢預測與挑戰(zhàn)應對策略
- 第一單元中華人民共和國的成立和鞏固 單元復習課件
- 新型熒光探針在生物標志物檢測中的應用
- 采茶廠外包人員用工合規(guī)審查制度
- 溫江轎車報廢管理辦法
- 焚燒秸稈管理辦法調研
- 2024年中國工商銀行福建漳州支行春季校招筆試題帶答案
- 《生物活性物質》課件
- 廣東省珠海市香洲區(qū)2023-2024學年五年級下學期語文期末考試試卷(含答案)
- 2025天然氣管道工程安裝合同協(xié)議書
- 2025-2030中國煙草行業(yè)市場深度調研及發(fā)展策略研究報告
- 導熱油購買合同協(xié)議
- 駐唱歌手合同協(xié)議
- 銀行安全培訓
- 燃氣行業(yè)法律法規(guī)培訓
- 【初中地理】七年級地理下冊全冊期末總復習(課件)-2024-2025學年七年級地理課件(人教版2024年)
- 2024年隴南市武都區(qū)佛崖鎮(zhèn)招聘專職化村文書筆試真題
- 《煙花爆竹安全》課件
評論
0/150
提交評論