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
最新文章
- webapi returntype
- js 把数字转成2 ,8,16进制的方法
- AVAudioPlayer init 报错: Error Domain=NSOSStatusErrorDomain Code=1937337955
- 3094 寻找sb4
- Hearthstone-Deck-Tracker项目的编译
- SPRING IN ACTION 第4版笔记-第十一章Persisting data with object-relational mapping-002设置JPA的EntityManagerFactory(<;persistence-unit>;、<;jee:jndi-lookup>;)
- HeadFirst Jsp 07 (使用 jsp)
- 【转载】C++中结构体的声明和定义
- Hadoop 2.4.0全然分布式平台搭建、配置、安装
- ASP.NET缓存 Cache
- 127.0.0.1与localhost与ip的区别
- Shell脚本中单引号(‘)和双引号(“)的使用区别[转载]
- HTML文本框
- ABP官方文档翻译 6.1.2 MVC视图
- python学习日记(异常)
- 教你如何让数据库支持emoji表情符存储
- win10 安装php
- 实体类在set字段时报空指针异常
- PAT 甲级 1050 String Subtraction
- three.js轨道控制器OrbitControls.js
热门文章
- URAL 1807
- 输错密码?这个 sudo 会“嘲讽”你
- Android基础新手教程——1.6 .9(九妹)图片怎么玩
- 消息队列的使用场景(转载c)
- IOS学习笔记44--ASIRequestHttp之BUG(一)
- git命令 add -a和add .和add -u 的区别
- Java的类名与文件名必须一致(转)
- Java从零开始学三(public class和class)
- 深入理解Object提供的阻塞和唤醒API
- webpack 安装以及使用