http://yedward.net/?id=215
(一)OAF页面上传
图1:将整个的开发目录上传(我这里的开发目录是oracle)
将整个开发的文件目录(myclasses下)上传到$JAVA_TOP下,$JAVA_TOP的路径形如..../apps/apps_st/comn/java/classes/,直接将整个目录上传,是为了确保本地目录与服务器上的目录一致,如果只是修改了其中的某一个文件,也可以直接将该文件上传到相一致的服务器路径下。
(二)OAF页面导入
OAF开发需要导入的页面文件包括所有的PG、RN、LOV等。
Step 1:首先切换到相应的存放页面文件的目录下,比如我这里的:..../apps/apps_st/comn/java/classes/oracle/apps/cux/hello/webui。
Step 2:cd切换到上面的目录以后,对于单个文件,运行如下导入命令:
java oracle.jrad.tools.xml.importer.XMLImporter HelloWorldPG.xml -rootdir $JAVA_TOP -username apps -password apps -dbconnection "(DESCRIPTION=(ADDRESS = (PROTOCOL = TCP)(HOST = oracleebs.yedward.com)(PORT = 1522))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = UAT)))"
注意修改其中的xml文件名、数据库用户名和密码、host地址、端口port、service_name,这些可以直接在.dbc文件中找到。
Step 3:如果是第一次发布OAF页面,则无需重启OACORE,否则要重启,命令如下:
cd $ADMIN_SCRIPTS_HOME
adoacorectl.sh stop
adoacorectl.sh start
注意:OAF页面文件导入以后,是存在数据库中,导入以后,存放在服务器上的页面文件就没用了,可以用如下方法在数据库中查找相关信息:
(1)JDR_PATHS:存储了页面路径的结构以及OAF页面个性化的结构信息。
SELECT path_docid, path_name, path_type,path_owner_docid
FROM jdr_paths
START WITH path_name = 'NotifSearchPG'
CONNECT BY PRIOR path_owner_docid = path_docid;
(2)JDR_COMPONENTS:存储了页面组件信息,OAF页面组件被分解后存储在该表中。
SELECT comp_seq,
comp_element,
comp_level,
comp_grouping,
comp_id,
comp_docid
FROM jdr_paths, jdr_components
WHERE path_docid = 27613
AND path_docid = comp_docid(+)
ORDER BY path_seq, comp_seq;
(3)JDR_ATTRIBUTES:存储了页面各组件的属性。
SELECT comp_seq,
comp_element,
comp_level,
comp_grouping,
comp_id,
comp_ref,
comp_extends,
comp_use,
att_name,
att_value
FROM jdr_paths, jdr_components, jdr_attributes
WHERE path_docid = 27613
AND path_docid = comp_docid(+)
AND comp_docid = att_comp_docid(+)
AND comp_seq = att_comp_seq(+)
ORDER BY path_seq, comp_seq, att_comp_seq, att_seq;
select *
from jdr_attributes_trans jat
where 1 = 1
and jat.atl_comp_docid = 27613
and jat.atl_comp_ref = 'SentDate'
(三)OAF页面发布
1、注册功能
图2:注册功能说明
图3:注册功能特性
图4:注册功能Web HTML
如上图2、图3、图4,注册下相关的功能:
功能:CUXHELLOWORLD
用户功能名:CUX:HELLO WORLD页面
类型:SSWA jsp 函数
HTML调用:OA.jsp?page=/oracle/apps/cux/hello/webui/HelloWorldPG
注意:定义HTMl调用可以传入参数,方式用&符号隔开,如下:
OA.jsp?page=/oracle/apps/fnd/framework/toolbox/tutorial/webui/HelloWorldPG&OAHP=FWK_TOOLBOX_TUTORIAL_APP&OASF=FWK_TOOLBOX_HELLO
2、挂载功能到菜单下
图5:挂载功能到菜单下
跟form挂载类型,如上图5所示,挂载到相应的菜单以后。重新登录下EBS系统,就能看到该OAF功能了。