OAF_OAF编译代码至应用详解(案例)

201-06-01 Created By BaoXinjian

一、摘要


如果第一次学习OAF,对应OAF的编译其实也是比较麻烦的事

OAF在本地,可以动过dbc文件连接至EBS Application进行渲染成页面

在进行编译时,不同的文件类型有不同的编译方式

  • Page.xml / Region.xml: 必须经过xml import编译后,才能生效
  • Java包: 只需将myproject下的将.class文件拷贝至服务器中,保持文件目录本地和服务一致性即可,无需编译

 编译时可以也有两种方式

  • 本地编译
    • 工具: Jdeveloper 安装目录下bin下的import.bat
    • 编译注意点: 如果需引导导入一个PG.xml文件,而这个PG.xml文件包含了一个未编译的LOVRN.xml,则需要编译两次,第一次编译LOVRN.xml, 第二次编译PG.xml
  • 服务编译
    • 工具: 服务器上的java oracle.jrad.tools.xml.importer.XMLImporter
    • 编译注意点: 如果需引导导入一个PG.xml文件,而这个PG.xml文件包含了一个未编译的LOVRN.xml,则只需编译一次PG.xml即可,在编译PG.xml,系统会自动将关联的LOVRN.xml也进行编译

       

二、案例


需求: 将一个客制化OAF Page编译至EBS Application,并建立function / menu 调用该页面

1. 将PG、RN的XML以及EO、VO、AM的XML和Class文件上传至服务器

    需要保持myclasses文件夹下本地和服务器的Path一致性

2. 编译PG、RN的XML文件,导入Database,不需要编译EO、VO、AM的XML

    (1). 通过本地的Import.dat编译,

    (2). 通过服务器的XMLImport.java编译

    (3). 两者却别Import.dat需每个文件都需要手动导入,有几个XML文件就需要导入几次, XMLImport只需要运行一次,将全部的PG、RN的XML导入
3. 通过SQL验证PG和RN的导入结果

4. 创建Function

    (1). Function类型: SSWA jsp function

    (2). 路径:$JAVA_TOP & OA.jsp?page=/bxj/oracle/apps/ak/test/webui/LinkSummary

5. 将Function付给Menu

 

三、案例实现


Step1. 将PG、RN的XML以及EO、VO、AM的XML和Class文件上传至服务器

    

 

Step2. 编译PG、RN的XML文件,导入Database,不需要编译EO、VO、AM的XML

(1). 方式一、xp系统本地导入将OAF中OA组件的定义信息导入到数据库中MDS库中(这里导入*PG.xml页面文件)

xp系统本地导入*PG.xml页面文件到服务器的MDS中,不过这里有多少个*PG.xml就需要导多少次

import.bat D:\Oracle\Jdeveloper\jdevhome\jdev\myprojects\bxj\oracle\apps\ak\test\webui\LinkSummary.xml

-rootdir D:\Oracle\Jdeveloper\jdevhome\jdev\myprojects -username apps -password apps

-dbconnection "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.37.128)(PORT=1523))(CONNECT_DATA=(SID=PROD)))"

(2). 方式二、服务器导入*PG.xml页面文件到服务器的MDS中

java oracle.jrad.tools.xml.importer.XMLImporter

/u01/oracle/VIS/apps/apps_st/comn/java/classes/bxj/oracle/apps/ap/expense/webui/ExpenseSummaryPG.xml  

-rootdir $JAVA_TOP/bxj/

-username apps -password apps -

dbconnection " (DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.52.12.110)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = VIS) ))"

 

Step3. 通过SQL验证PG和RN的导入结果

    

    

 

Step4. 创建Function

    

 

Step5. 将Function付给Menu

    

 

四、案例测试


Test1.确认结果,打开菜单项

    

Test2. 页面跳转至客制化的页面上

    

 

Thanks and Regards

           

posted on 2014-06-03 09:56  东方瀚海  阅读(2342)  评论(0编辑  收藏  举报