OracleEBSForm個性化的項目應(yīng)用實例_第1頁
OracleEBSForm個性化的項目應(yīng)用實例_第2頁
OracleEBSForm個性化的項目應(yīng)用實例_第3頁
OracleEBSForm個性化的項目應(yīng)用實例_第4頁
OracleEBSForm個性化的項目應(yīng)用實例_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、 FORM個性化的應(yīng)用實例文檔作者:YangHe創(chuàng)立日期:5/20/2007最近更新:3/26/2013控制編號:FORM個性化V1.0文檔版本: 1.0審批:松下富士通漢得拷貝數(shù)_文檔控制變更記錄日期作者版本變更參考5/20/2007YangHe1新創(chuàng)立的文檔審閱職位分發(fā)拷貝數(shù)地點1111(9-Dec-96)目錄文檔控制2概述4安裝環(huán)境4安裝前準(zhǔn)備4閱讀說明及約定4FORM個性化5協(xié)亨工程ORACLE銷售訂單錄入控制5協(xié)亨工程ORACLE子庫存轉(zhuǎn)移控制12協(xié)亨工程ORACLE雜項事務(wù)處理控制16添加菜單項調(diào)用系統(tǒng)功能18已解決和未解決的問題36未解決問題36已解決問題36(9-Dec-96)

2、概述FORM個性化是.10新增的功能。通過個性化設(shè)置,我們可以不必去修改ORACLE的FORM源碼而實現(xiàn)FORM標(biāo)準(zhǔn)功能的修改,因為個性化代碼是獨立儲存在數(shù)據(jù)庫表中的,F(xiàn)ORM的升級均對此無影響。所以在工程上要對FORM進行修改時,如果能行,最好還是用FORM個性化來實現(xiàn)這里順便提下兩個預(yù)置文件,一個是Hide Diagnostics menu entry,用來控制help菜單下的Diagnostics是否隱藏,默認(rèn)為不隱藏。一個是 Utilities:Diagnostics用來控制進入診斷模式時是否需要apps密碼,默認(rèn)為需要密碼。根據(jù)具體需要看是否設(shè)置。FORM個性化觸發(fā)器事件有五個FOR

3、M自帶的觸發(fā)器動作:WHEN-NEW-FORM-INSTANCE、WHEN-NEW-BLOCK-INSTANCE、WHEN-NEW-RECORD-INSTANCE、WHEN-NEW-ITEM-INSTANCE、WHEN-VALIDATE-RECORD以及MENU、SPECIAL(點擊自定義的菜單動作,最后的例子中我們可以看到)。通過這些觸發(fā)器事件,我們可以實現(xiàn)改變ITEMSBLOCKSCANVASESWINDOWSREGIONS等的屬性及值、執(zhí)行FORM的內(nèi)置函數(shù)、顯示錯誤警告MESSAGE信息、顯示DEBUG信息、自定義一個菜單項來執(zhí)行應(yīng)用中的某功能、創(chuàng)立一個全局變量來傳遞信息等。FORM個

4、性化操作起來比較簡單,ORACLE有一個專門的文檔對其進行介紹的,詳見METALINK Note:279034.1。這里簡單介紹一下在實際工程中的幾個應(yīng)用。安裝環(huán)境硬件平臺:IBM操作系統(tǒng)及版本:Oracle RDBMS 版本: 9.2.0.6.0Oracle EBS 版本:11.5.10.2安裝前準(zhǔn)備以上操作,如有疑問,請向系統(tǒng)管理員尋求幫助。閱讀說明及約定q 本文中藍色字體為需要注意的內(nèi)容。q 本文中紅色字體為特別重要的內(nèi)容。q 本文中黑色粗體10號字為輸入的命令。(2-Dec-96) (2-Dec-96)(9-Dec-96)FORM個性化以下介紹的幾個FORM個性化應(yīng)用大局部是基于上海協(xié)

5、亨信息科技ERP工程的實際開發(fā)。協(xié)亨工程ORACLE銷售訂單錄入控制工程背景及業(yè)務(wù)需求:協(xié)亨 連鎖銷售集團是一家主要經(jīng)營 銷售的連鎖零售企業(yè)。其在全國有幾百家門店,當(dāng)門店的POS系統(tǒng)上線后,日常銷售都是在POS系統(tǒng)中完成的,通過接口傳給ORACLE自動生成銷售訂單,在ORACLE中我們禁止手工錄入這個門店的銷售訂單。具體的控制方法是: 把訂單頭的銷售員設(shè)置成必錄字段。在離開該字段的時候添加校驗: 根據(jù)銷售員查找門店信息,假設(shè)找不到,表示這是跟門店無關(guān)的銷售,不控制。 假設(shè)找到,那么判斷該門店是否 已經(jīng)POS上線,如果已經(jīng)是POS上線的并且POS控制類型=現(xiàn)實門店,那么就不能通過驗證。否那么可以

6、通過。銷售超級用戶職責(zé)/訂單;退貨/銷售訂單/幫助/診斷/自定義代碼/個性化在Oracle 的訂單錄入界面,禁止錄入這個門店的銷售訂單。在銷售訂單FORM下進入FORM個性化:FORM個性化界面條件偽代碼:銷售員id在客戶化表XH_SHOP_INFO中有對應(yīng)的有效門店,且POS上線日期非空,且門店類型為現(xiàn)實門店。序號說明觸發(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 SAL

8、ESREP_ID = :ORDER.SALESREP_ID) = 'REAL'活動符合條件的記錄在保存時報以下錯誤:該銷售員對應(yīng)的門店P(guān)OS已上線,不允許在ORACLE錄入訂單序號類型消息類型消息文本10消息錯誤該銷售員對應(yīng)的門店P(guān)OS已上線,不允許在ORACLE錄入訂單同時對訂單行也要進行限制序號說明觸發(fā)器事件觸發(fā)器對象條件10FORBID SO IMP0RT LINEWHEN-VALIDATE-RECORDLINE:ORDER.SALESREP_ID IN (SELECT SALESREP_ID FROM XH_SHOP_INFO WHERE NVL(END_DATE_AC

9、TIVE,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

10、SALESREP_ID = :ORDER.SALESREP_ID) = 'REAL'活動序號類型消息類型消息文本10消息錯誤該銷售員對應(yīng)的門店P(guān)OS已上線,不允許在ORACLE錄入訂單看實際中的應(yīng)用情況:錄入銷售訂單,銷售人員為 1112073曹楊二店,該店P(guān)OS_ONLINE_DATE不為空,且POS_CONTROL_TYPE= REAL,即POS上線日期非空,且門店類型為現(xiàn)實門店。新增一條規(guī)那么,設(shè)置銷售人員為必需字段序號說明觸發(fā)器事件觸發(fā)器對象條件10設(shè)置銷售人員為必輸字段WHEN-NEW-RECORD-INSTANCEORDER活動序號類型對象類型目標(biāo)對象特性名稱值10

11、特性工程ORDER.SALESREP_MIRREQUIRED (APPLICATIONS COVER)真看實際中的應(yīng)用情況:當(dāng)我們新建一個銷售訂單,可以看到,銷售人員變成了必輸字段。協(xié)亨工程ORACLE子庫存轉(zhuǎn)移控制業(yè)務(wù)需求:協(xié)亨門店的POS上線前,直接在ORACLE中做子庫存轉(zhuǎn)移。POS系統(tǒng)上線后,所有的調(diào)撥業(yè)務(wù)都是在POS中進行的,通過接口傳給ORACLE自動做子庫存轉(zhuǎn)移,在ORACLE中禁止手工錄入該門店對應(yīng)的子庫轉(zhuǎn)移。庫存超級用戶職責(zé)/事務(wù)處理/子庫存轉(zhuǎn)移/事務(wù)處理行/幫助/診斷/自定義代碼/個性化在子庫存轉(zhuǎn)移界面,在子庫存及目標(biāo)子庫存 兩個字段上,在離開該字段的時候添加校驗:根據(jù)子庫

12、存的門彈性域查找門店信息,判斷該門店是否 已經(jīng)POS上線,如果已經(jīng)是POS上線的并且POS控制類型=現(xiàn)實門店,那么就不能通過驗證。否那么可以通過。即如果在對應(yīng)門店已上線的子庫做子庫存轉(zhuǎn)移,在保存時會出現(xiàn)以下錯誤:序號說明觸發(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 =

13、 (SELECT MSI.ATTRIBUTE1 FROM MTL_SECONDARY_INVENTORIES MSIWHERE 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)A

14、ND 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.SUBINVENTORY_CODE) = 'REAL'活動序號類型消息類型消息文本10消息錯誤子庫存對應(yīng)的門店P(guān)OS已上線,不允許在ORACLE中進行子庫存轉(zhuǎn)移序號說明觸發(fā)器事件觸發(fā)器對象條件10FORBID SUBINV

15、 TRANSFER2WHEN-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.DISABLE_DATE,SYSDATE) > TRUNC(SYSDATE)AND MSI.SECONDARY_INVEN

16、TORY_NAME = :MTL_TRX_LINE.TRANSFER_SUBINVENTORY) 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 NVL(MSI.DISABLE_DATE,SYSDATE) > TRUNC(SYSDATE)

17、AND MSI.SECONDARY_INVENTORY_NAME = :MTL_TRX_LINE.TRANSFER_SUBINVENTORY) = 'REAL'序號類型消息類型消息文本10消息錯誤目標(biāo)子庫存對應(yīng)的門店P(guān)OS已上線,不允許在ORACLE中進行子庫存轉(zhuǎn)移協(xié)亨工程ORACLE雜項事務(wù)處理控制業(yè)務(wù)需求:協(xié)亨門店的POS上線前,可以直接在ORACLE中做雜項事務(wù)處理。POS系統(tǒng)上線后,門店的盤點是在POS中做的,通過接口傳給ORACLE自動做雜項事務(wù)處理。此時在ORACLE中禁止手工錄入該門店對應(yīng)的雜項事務(wù)處理。庫存超級用戶職責(zé)/事務(wù)處理/雜項事務(wù)處理/事務(wù)處理行/幫助/

18、診斷/自定義代碼/個性化在雜項庫存事務(wù)處理界面,在子庫存字段上,在離開該字段的時候添加校驗:根據(jù)子庫存的門彈性域查找門店信息,判斷該門店是否 已經(jīng)POS上線,如果已經(jīng)是POS上線的并且POS控制類型=現(xiàn)實門店,那么就不能通過驗證。否那么可以通過。即如果在對應(yīng)門店已上線的子庫做子庫存轉(zhuǎn)移,在保存時會出現(xiàn)以下錯誤:序號說明觸發(fā)器事件觸發(fā)器對象條件10FORBID MISCELL TRANSFERWHEN-VALIDATE-RECORDMTL_TRX_LINE(SELECT POS_ONLINE_DATE FROM XH_SHOP_INFO XSWHERE NVL(END_DATE_ACTIVE,S

19、YSDATE + 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.SUBINVENTORY_CODE) IS NOT NULLAND (SELECT POS_CONTROL_TYPE FROM XH_SHOP_INFO XSWHERE NV

20、L(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.SUBINVENTORY_CODE) = 'REAL'活動序號類型消息類型消息文本10消息錯誤子庫存對應(yīng)的門店P(guān)OS已上

21、線,不允許在ORACLE中進行雜項事務(wù)處理添加菜單項調(diào)用系統(tǒng)功能同時對訂單行也要進行限制以下是個性化的執(zhí)行效果。在tools菜單里增加了一個菜單項Executable,點擊可以調(diào)出該并發(fā)程序所對應(yīng)的可執(zhí)行界面。調(diào)出結(jié)果如下:整體邏輯:翻開并發(fā)程序定義界面,在Tools菜單欄下新加一個菜單項。點擊該菜單時,如果并發(fā)程序名為空,那么報一個錯誤。如果可執(zhí)行名非空,增加一個全局變量 ,儲存可執(zhí)行的名稱。點擊新增的菜單項,可以翻開可執(zhí)行FORM。當(dāng)翻開可執(zhí)行FORM時,對上述定義的全局變量進行初始化。進入查詢模式。將全局變量的值賦予可執(zhí)行名稱項值。進行查詢。去除全局變量的值。以下是step_by_ste

22、p編輯詳情1、翻開并發(fā)程序定義界面,再翻開FORM個性化界面,定義一個名為Executable的個性化規(guī)那么,對應(yīng)的觸發(fā)器事件為WHEN-NEW-FORM-INSTANCE2、在Actions里,增加一個Menu類型,其中Menu Entry選擇SPECIAL1(SPECIAL1至15是在Tools菜單下,16至30是在Reports菜單下,31至45在Actions菜單下),Menu Label輸入Executable(即菜單項標(biāo)簽),Icon Name為CONC_PROG即并發(fā)程序FORM對應(yīng)的BLOCK3、保存,翻開可執(zhí)行界面,可以看到新增的菜單項,點擊,沒有事件發(fā)生。4、在可執(zhí)行界面下

23、,翻開FORM個性化界面,我們增加一個事件為,如果可執(zhí)行的名稱為空,那么報一個錯誤Please Enter Executable Name!新增一個個性化規(guī)那么Check Executable Name,Trigger Event為SPECIAL1,條件為可執(zhí)行名稱為空。即:CONC_PROG.EXECUTABLE_NAME IS NULL5、在Actions下,設(shè)置一個Meassage 類型,Message Type為Error,Message Text為Please Enter Executable Name!6、保存。翻開并發(fā)程序定義界面,Executable Name項為空,直接點擊E

24、xecutable。7、出現(xiàn)錯誤信息:Please Enter Executable Name!8、在并發(fā)定義界面下,翻開FORM個性化界面。我們先定義一個全局變量,儲存可執(zhí)行的名稱,在后面中要用到。新增一個名為Excutable Entered的個性化規(guī)那么,Trigger Event為SPECIAL1,條件為:CONC_PROG.EXECUTABLE_NAME is not null9、在Actions里參加一個Property類型,Object Type為Global Variable即全局變量,變量名為XX_XH_EXECUTABLE_NAME,為了便于區(qū)分,我們FORM個性化的全局變

25、量全部以XX_開頭。Property Name為VALUE,Value為=:CONC_PROG.EXECUTABLE_NAME(前面有=號,如果不加等號的話,會被賦值為 :CONC_PROG.EXECUTABLE_NAME)。10、再增加一個Builtin類型,Builtin Type為Lunch a Function即調(diào)用一個功能,F(xiàn)unction Code為FND_FNDCPMFE即可執(zhí)行對應(yīng)的功能,F(xiàn)unction Name會被自動調(diào)出。11、保存。翻開并發(fā)程序界面,查找一個并發(fā)程序,點擊Tools>Executable,可以看到可執(zhí)行定義界面被調(diào)出,但是沒有數(shù)據(jù)。12、關(guān)閉并發(fā)請

26、求界面,翻開可執(zhí)行界面,再翻開FORM個性化界面。新增加一個FORM個性化規(guī)那么INIT XX_XH_EXECUTABLE_NAME,觸發(fā)器事件為WHEN-NEW-FORM-INSTANCE。我們做這個個性化規(guī)那么的目的是初始化全局變量INIT XX_XH_EXECUTABLE_NAME。13、在Actions下,增加一個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,設(shè)置一個Builtin類型,Builtin Type為DO

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論