標籤:
前段時間在本地XP系統上測試了一些整合javabean的Form例子,想著發布到伺服器段去看看能否運行正常,一開始以為會和本地XP系統一樣,部署到相關的目錄下進行一些配置就可以了,但實際過程卻和想象的大相徑庭,部署到伺服器上可稱得上是一波三折。下面將Oracle EBS Form 發布到Server端的若干注意事項闡述如下:
1、確定EBS版本
由於不同版本EBS配置jar檔案和發布javabean jar包的位置存在一些差異,所以必須要知道EBS版本,這樣遇到問題才好搜尋對應的解決方案。可以通過SQLPlus串連EBS資料庫來查看伺服器上的EBS版本:
1 SQL*Plus: Release 10.1.0.4.2 - Production on 星期二 11月 17 11:10:46 2015 2 Copyright (c) 1982, 2005, Oracle. All rights reserved. 3 串連到: 4 Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production 5 With the Partitioning, OLAP, Data Mining and Real Application Testing options 6 SQL> select RELEASE_NAME from fnd_product_groups; 7 RELEASE_NAME 8 -------------------------------------------------------------------------------- 9 12.1.110 SQL>
可以看到本地是12.1.1的版本。
2、確定伺服器的作業系統
據瞭解,EBS在不同作業系統上,javabean jar包配置和上傳的目錄也存在一些差異,例如我的本地環境是XP,伺服器是Linux(Redhat),配置環境就不一樣,這也是我一開始安裝本地配置總是找不到相應的javabean jar包的原因。XP(windows)系統上傳jar包的位置為/forms/java/下,設定檔為form/server/formsweb.cfg.但是Linux為appsweb.cfg!!!
3、確定部署位置
由上面可知待發布的伺服器是Linux作業系統,EBS版本為12.1.1。Oracle EBS 中的appsweb.cfg有兩個位置,分別是:
1. $OA_HTML/bin and (此設定檔供R11用)
2. $ORA_CONFIG_HOME/10.1.2/forms/server/ (此設定檔供R12用)
在伺服器的終端輸入一下命令查看$ORA_CONFIG_HOME/10.1.2/forms/server/的實際目錄,然後編輯其目錄下的appsweb.cfg
1 [[email protected] ~]$ $ORA_CONFIG_HOME/10.1.2/forms/server/2 -bash: /u01/oracle/VIS/inst/apps/VIS_erp/ora/10.1.2/forms/server/: is a director3 [[email protected] ~]$
在appsweb.cfg中找到archive節點(需要追加javahost.jar =>/OA_JAVA/oracle/apps/fnd/jar/javahost.jar,注意是逗號分隔):
archive=/OA_JAVA/oracle/apps/fnd/jar/fndforms.jar,/OA_JAVA/oracle/apps/fnd/jar/fndformsi18n.jar,/OA_JAVA/oracle/apps/fnd/jar/fndewt.jar,/OA_JAVA/oracle/apps/fnd/jar/fndswing.jar,/OA_JAVA/oracle/apps/fnd/jar/fndbalishare.jar,/OA_JAVA/oracle/apps/fnd/jar/fndaol.jar,/OA_JAVA/oracle/apps/fnd/jar/fndctx.jar,/OA_JAVA/oracle/apps/fnd/jar/javahost.jar
這裡看到OA_JAVA為虛擬目錄,到終端查看其實際目錄為:
1 [[email protected] ~]$ $OA_JAVA/oracle/apps/fnd/jar/2 -bash: /u01/oracle/VIS/apps/apps_st/comn/java/classes/oracle/apps/fnd/jar/: is a3 directory4 [[email protected] ~]$
因此將javahost.jar上傳到/u01/oracle/VIS/apps/apps_st/comn/java/classes/oracle/apps/fnd/jar/下,這個和$COMMON_TOP/java/classes/oracle/apps/fnd/jar一致。
1 [[email protected] ~]$ $COMMON_TOP/java/classes/oracle/apps/fnd/jar2 -bash: /u01/oracle/VIS/apps/apps_st/comn/java/classes/oracle/apps/fnd/jar: is a3 directory4 [[email protected] ~]$
至此,部署到伺服器的檔案上傳和配置工作完成,然後上傳Form到對應的目錄,配置菜單即可(用戶端和伺服器的SSH工具為Bitvise SSH Client)。
4、其他
想在開啟javabean表單時,啟用一個進程,開啟網址:(蘋果系統用open) cmd /c start www.baidu.com?uid=username^&pwd=pwd (此處^可以轉義&符號)
執行按鈕WHEN-BUTTON-PRESSED觸發器代碼為:
1 :BL.RESULT := ‘‘ ;2 --Set_Custom_Property( ‘BL.BEAN‘, 1, ‘SET_PROG‘, :BL.CMD ) ;3 -- use ^ to escape & in teh command line like this:4 Set_Custom_Property( ‘BL.BEAN‘,1, ‘SET_PROG‘,‘cmd /c start www.microstarsoft.com?uid=username__pwd^&pwd=2‘) ;
然後用代碼類比使用者單擊,在表單啟用時(WHEN-WINDOW-ACTIVATED)觸發按鈕事件:
1 --自動執行單擊事件2 --GO_ITEM(‘<block_name>.<button_name>‘);3 --EXECUTE_TRIGGER(‘WHEN-BUTTON-PRESSED‘);4 GO_ITEM(‘BL.EXECUTE‘);5 EXECUTE_TRIGGER(‘WHEN-BUTTON-PRESSED‘);
預設情況下,Oracle表單載入後單擊關閉按鈕無效,在表單的KEY-EXIT下:
1 exit_form(no_validate);
Oracle EBS Form 發布到Server端的注意事項