OAF 個性化基礎


1.幾個功能和相關配置文件
1)打開“關於此頁”功能,需要啟用
FND:診斷(FND: Diagnostics)
 
2)打開“個性化頁”功能,需要啟用
個性化自助定義(Personalize Self-Service Defn)
FND:已啟用“個性化區域”鏈接(FND: Personalization Region Link Enabled)
 
說明:
1)一般情況下,這兩個功能只針對開發人員啟用,也就是在用戶層設置為啟用,而在地點層是禁用的。
2)由於OAF界面緩存的原因,設置后,可能需要清除緩存(從功能管理員進入)或者重新登錄
 
 
2.頁面個性化
兩種方式可以進入頁面的個性化設置界面
1)知道頁面的路徑,從功能管理員進入,個性化,輸入頁面路徑,查詢后進入。
 
2)當前打開的頁面是要進行個性化的頁面,並且已經打開了個性化功能(參考1),直接點擊右上角“個性化頁”,進入設置界面。
 
3)進入頁面后,可以對當前的某個組件分層次進行設置,這個預置文件的類似,分為site,組織,職責三個層次,能設置的屬性比JDeveloper里進行開發時設置的屬性少,是目前Oracle所能支持的個性化屬性,更多的屬性只能通過個性化CO,通過代碼進行設置了。
 
4)還可以在某個region下添加組件,點擊創建項目圖標, ,進入創建界面,此界面和JDeveloper中的創建界面很像,但項目樣式也比JDeveloper里少

 

填入必要的內容,保存即可
5)單純的個性化頁面比較簡單,也比較少,一般局限在修改組件的顯示文本,隱藏組件等靜態操作,更多的則是通過配合個性化CO,VO來實現更多更強大的功能。
 
3.CO個性化
1)主要邏輯都在CO里,界面上只需要個性化設置一下組件的Controller Class屬性。
 
2)這里的CO一般都是從頁面原始CO繼承(上一張圖的原始定義),而不是OAControllerImpl,這樣通過super.processRequest方法和super.processFormRequest就能繼承原有邏輯,然后添加自己的邏輯代碼。
 
4.VO個性化
1)查看VO的方法:每個頁面左下有“關於此頁”,點擊進入,有此頁面的詳細信息,
 
有一條目是“視圖對象”
 
點擊VO,進入,可以查看sql等信息,很方便
 
還可以直接從服務器把VO的源文件拿下來(包括XXX.xml、XXXImpl.class、XXXRowImpl.class),反編譯查看。
 
2)將VO配置文件(即xml文件、Class反編譯后的java文件)放在與服務器相同目錄的本地文件夾中,使用JDeveloper功能生成相應的java文件。
 
3)反編譯下載下來的class文件,拷貝到生成的VOImpl和VORowImpl文件中(注意:一些VO的Class文件除了JDeveloper工具自動生成的方法外,還可能有作者自己編寫的方法,所以強烈建議反編譯class文件)
 
4)在自己的工作目錄下新建一個VO,繼承原有VO(即所要客戶化的VO)
 
5)更改sql語句,一般是添加字段(在最后添加)或限制條件,不改變原有字段
 
6)替換VO
在JDeveloper工具條里,Tools -> Project Properties -> Bussiness Components -> Substitutions 左側選中之前的VO,右側選中編輯后的新VO,Add,確定,保存項目。
用文本編輯器打開jdevhome\jdev\myprojects\XXX.jpx,看最后是否添加了一行代碼,表示VO替換,代碼類似於
<Substitutes>
<Substitute OldName =" oracle.apps.XXX.XXXVO" NewName ="cux.oracle.apps.XXX.CUXXXXVO" />
</Substitutes>
 
7)搞定VO,接下來就是最最關鍵的一步,將客戶化的VO導入到數據庫中
這是我的導入語句,大家可以改改,在本地DOS命令行中運行
C:\my\p9879989_R12_GENERIC\jdevbin\oaext\bin\jpximport.bat C:\my\p9879989_R12_GENERIC\jdevhome\jdev\myprojects\XXX.jpx -username apps -password apps -dbconnection "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=1.1.1.1)(PORT=8000))(CONNECT_DATA=(SERVICE_NAME=XXX)(INSTANCE_NAME=XXX)))"
 
會顯示導入成功,並且會顯示客戶化的路徑
在pl/sql里查看
Begin
  jdr_utils.printDocument('/oracle/apps/eam/server/customizations/site/0/AssetNumberRVO');
End;
說明確實導入成了,在界面上再次查看VO,可以再次驗證,查看VO的方法同第一步
 
5.常用 SQL
1)查出個性化生成的頁面
BEGIN
     jdr_utils.listcustomizations(p_document => '/oracle/apps/XXX/XXXPG');
END;
 
2)查看個性化的內容
BEGIN
     jdr_utils.printdocument (p_document => '/oracle/apps/XXX/site/0/XXPG');
END;
 
3)刪除個性化內容
BEGIN
     jdr_utils.deleteDocument(p_document => '/oracle/apps/XXX/site/0/XXPG ');
END;
 
 
6.導出個性化
1)從功能管理員進入,個性化,導入/導出,個性化信息庫
 
2)可以從樹狀結構中找到某個界面,選中,然后點擊“導出至文件系統”,然后就會將該界面的個性化導出成文件,便於導入其他環境。
 
3)導出成功后會提示文檔路徑
 
7.導入個性化
1)首先使用FTP將個性化文件放到服務器上,根路徑由配置文件“FND:個性化文檔根路徑”所決定。
 
2)從功能管理員進入,個性化,導入/導出,導出的個性化

 

3)可以從樹狀結構中找到對應的個性化文件,可以查看最后更新時間以確定是否為最新的文件,選中,然后點擊“從文件系統導入”


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM