Oracle EBS Form 发布到Server端的注意事项

  前段时间在本地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.1
10 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 director
3 [[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 a
3  directory
4 [[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/jar
2 -bash: /u01/oracle/VIS/apps/apps_st/comn/java/classes/oracle/apps/fnd/jar: is a
3 directory
4 [[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); 

  

时间: 2024-10-14 08:49:08

Oracle EBS Form 发布到Server端的注意事项的相关文章

如何启用Oracle EBS Form监控【Z】

前言: 有时候,因某些需要,必须知道Oracle的Form被使用的情况,以方面我们做出决策: 例如,如果某个Form被使用的次数非常多,那么,这个Form的相关SQL代码就应该优先处理,以减少服务器负荷,从而提供系统运行速度. 或者,(特别是)在系统要升级的时候,这些数据就显得非常重要了:决定哪个Form应该留,哪个Form应该拿掉. 当然,这个信息只是做出决策的参考数据而已.1. 在Oracle EBS上进行Form跟踪的技术方法:Oracle EBS的一个Profile 提供此功能: Use

Oracle EBS Form Builder使用Java beans创建窗体

最近有个项目,需要研究一下Oracle的E-Business Sutie(EBS),对于以前没接触此套件的我来说,简直太痛苦了.在网上找了一堆资料,试着进行Form二次开发,也遇到各类奇葩问题.目前遇到最大的一个问题是,如何在本地 Form Builder中进行窗体构建,并调用后台的JavaBean对窗体进行交互?网上也有不少的解决方案,但是都存在一些差异,试了很多次,终于实现了我预期的效果. 为了防止以后再遇到类似的问题,先做一个记录,以备后查. 1.环境搭建说明  服务器:Oracle EB

Oracle EBS Form个性化开发

Form个性化开发内容不是很多,在国内的项目上客户化界面上基本用不上,相关开发文档有的讲解的很详细,有的讲解太过简练,希望通过这个文档可以给我们这些刚开始做个性化的新手快速完成需求,不要再这方面花费过多的时间,我们都做过Form开发,可以把Form个性化的开发都用类比Form开发去理解就很快能上手. Form启动时,所有与当前Function相关的个性化规则都会被加载到内存,当Form触发特定的Event时候,系统会搜索相应的个性化规则并进行匹配,得到匹配的规则,再按照规则序号从小到大一次执行对

如何启用Oracle EBS Form监控

前言: 有时候,因某些需要,必须知道Oracle的Form被使用的情况,以方面我们做出决策: 例如,如果某个Form被使用的次数非常多,那么,这个Form的相关SQL代码就应该优先处理,以减少服务器负荷,从而提供系统运行速度. 或者,(特别是)在系统要升级的时候,这些数据就显得非常重要了:决定哪个Form应该留,哪个Form应该拿掉. 当然,这个信息只是做出决策的参考数据而已. 1. 在Oracle EBS上进行Form跟踪的技术方法: Oracle EBS的一个Profile 提供此功能: U

How to set window title name on Oracle EBS Form?

--1. 置換掉原來Winodw Property上的Title String ex. SET_WINDOW_PROPERTY('XXDII_INV_MISC_TXN_V',TITLE,:misc_trx_qf.Q_TYPE_NAME||'['||:misc_trx_qf.Q_MISC_TRX_NUM||']'); --2. 使用EBS Standard Library, 在Window title後加入Organization Name app_window.set_title('XXDII_

Oracle EBS - Form DEV Env

1. 创建文件夹resource与forms, 以便存放pll与forms(主要用到APSTAND.fmb, APPSTAND.fmb, TEMPLATE.fmb)文件; 2. 修改注册表 HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE 数值名称: NLS_LANG 值: AMERICAN_AMERICA.UTF8 HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE 数值名称: FORMS_PATH 值: 修改为以上两个文件夹路径 (注意只能加载文件夹路径

Oracle EBS FORM lov

存在一种情况: 一个LOV的值当前有效,因此填入保存.但突然无效后,当查询该界面时就会弹出LOV框使其修改. 解决方案: 1. 非常粗暴,不设置校验,在LOV对应的item强行将校验设置为NO. 2. 因为这个过程在查询后触发,在对应数据块的POST-QUERY 触发器添加代码,将LOV对应字段强制设置成validate.添加代码如下: app_item_property.set_property('block_name.item_name'                           

Oracle EBS登陆后,直接打开某个特定Form/Page

http://blog.csdn.net/pan_tian/article/details/8169339 有一个小技巧,Oracle EBS登陆后可以绕过职责和功能的选择过程,就可以直接打开某个特定的Form,这样整个的登陆过程会更快. 方法:Oracle Application Home Page > Preferences > Start Page,输入起始的'Responsibility'和'Page',Apply之后,重新登陆,就可以绕过职责和功能的选择过程,直接打开某个特定的For

Oracle EBS中有关Form的触发器的执行顺序

http://blog.csdn.net/postfxj/article/details/8135769 触发器执行顺序: 1.  当打开FORM时: (1)       PRE-FORM (2)       PRE-BLOCK(BLOCK级) (3)       WHEN-NEW-FORM-INSTANCE (4)       WHEN-NEW-BLOCK-INSTANCE (5)       WHEN-NEW-RECORD-INSTANCE (6)       WHEN-NEW-ITEM-I