您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页OracleOAF开发指南第一章

OracleOAF开发指南第一章

来源:爱go旅游网
1. 说明

此手册适用于Oracle EBS r12下的OAF开发。 OAF是Oracle Application Framework的简写。

下面的5856648的patch包名称为:Jdeveloper with OA Extension。

在R12中,OAF的开发也不在像11.5.10中,是基于Oracle Jdeveloper9.0.3版本上,而是升级到了新的Oracle Jdeveloper10g上了。Metalink上OAF的Patch Number:5856648。下载p5856648_R12_GENERIC.zip即可。本文档中默认解压到E盘根目录下。下载解压后p5856648_R12_GENERIC文件夹下有三个目录:jdevbin、jdevdoc、jdevhome,其中jdevbin中是jdeveloper10g with OA Extension的程序文件和OAF的类库,jdevdoc中存放Javadoc手册和OAF培训文档,jdevhome存放oaf用户文件和虚拟的oaf环境。 Jdevdoc目录下的文档结构如下:

E:\\p5856648_R12_GENERIC\\jdevdoc\\index.htm 打开教程文档 E:\\p5856648_R12_GENERIC\\jdevdoc\\javadoc\\fwk\\public\\index.html 包含OA Framework Javadoc

E:\\p5856648_R12_GENERIC\\jdevdoc\\javadoc\\aolj\\index.html 包含AOL/J的Javadoc

注:AOL/J类似于Form平台下的AOL,其实现方式升级为Java。

E:\\p5856648_R12_GENERIC\\jdevdoc\\javadoc\\bc4j\\index.html 包含BC4J的Javadoc

注:BC4J为Business Component for java的简写。

E:\\p5856648_R12_GENERIC\\jdevdoc\\javadoc\index.html 包含UIX的Javadoc

注:UIX为UI extended的简写。

E:\\p5856648_R12_GENERIC\\jdevdoc\\javadoc\\jdbc\\index.html 包含Oracle JDBC API Reference的Javadoc。

E:\\p5856648_R12_GENERIC\\jdevdoc\\WebHelp\\devguide\\devguide.htm 包含OAF的开发指南。

E:\\p5856648_R12_GENERIC\\jdevdoc\\WebHelp\\persguide 包含OAF个性化指南。

E:\\p5856648_R12_GENERIC\\jdevdoc\\WebHelp\oolbox 包含OAF 官方实例教程。

2. 建立开发环境

2.1. 设置环境变量

在Windows2000/XP环境下配置环境变量JDEV_USER_HOME。

右键点击“我的电脑”,选择“属性”,选择“系统属性”,“高级”标签页

选择“环境变量”,在打开的对话框中,从“用户变量…”选择“新建”,新建“JDEV_USER_HOME”,变量值为“%OAF_HOME%\\jdevhome\\jdev”。

2.2. 获取数据库连接文件

从需要做开发的R12环境上取得FND dbc文件,登录后,切换到应用用户下,并到路径$FND_SECURE下,依据SID取得.dbc文件,并将其下载到本地,放置到

E:\\p5856648_R12_GENERIC\\jdevhome\\jdev\\dbc_files\\secure目录下。在192.168.1.200服务器上的路径是/u01/vis/inst/apps/VIS_www/appl/fnd/12.0.0/secure/VIS.dbc

2.3. 在桌面生成Jdeveloper快捷方式

E:\\p5856648_R12_GENERIC\\jdevbin\\jdeveloper.exe右键,选择“创建快捷方式”,并将改快捷方式放置到桌面。

2.4. 设定例程Toolbox的职责

在R12中新建一个应用用户或使用已有的用户,将职责OA Framework ToolBox Tutorial(职责关键字:FWK_TBX_TUTORIAL)和OA Framework Toolbox Tutorial Labs(职责关键字:FWK_TOOLBOX_TUTORIAL_LABS)指定给该用户,比如fwktester。

2.5. 运行Jdeveloper,设置数据库连接和用户

双击桌面快捷方式,运行Jdeveloper。在Jdeveloper中选择菜单File>Open,打开\\myprojects下的toolbox.jws。

在Jdeveloper中的Application Navigator中展开toolbox.jws,选择Tutorial.jpr,选择菜单

Tools>Project Properties…,或者在其上右键选择Project Properties…,在弹出的Project Properities对话框中展开Oracle Application节点,选择Runtime Connection,配置DBC File Name,将其指向刚才从应用服务器上下载的.dbc文件,用户名和密码填前面指定了相应职责的用户的信息。Responsibility中Application Short Name和Responsibility Key分别配置为ICX和FWK_TBX_TUTORIAL,与指定到该用户的职责的属性相对应。

从这里可以看出,OAF的开发比FORM开发与应用层的联系更加紧密,一个projects均与应用环境中的一个职责。使用该OAF功能的用户必须具有相应的职责。

完成以上设置后,再对LabSolution.jpr进行相同的设置。

再点击Jdeveloper中System Navigator中的Connections标签页,右键Database节点,选择New Database Connection…,为该project新建一个数据库连接,该连接必须与应用和前面下载的dbc文件中指向的数据库相对应。

在Tutorial.jpr上右键,选择Business Components节点,设置Business Components的Connection属性。

对LabSolutions.jpr属性也做相同配置。

2.6. 测试配置,运行例子程序

在Jdeveloper中打开toolbox.jws,选择Run>Rebuild toolbox.jws,或者直接在toolobx.jws上右键选择Rebuild。应该得到0 errors。

展开Tutorial.jpr下的Web Content文件夹,选定test_fwktutorial.jsp,选择Run>Run test_fwktutorial.jsp。

Linux环境下开发环境的配置略,请参考OAF官方开发指南。

附件:

3.OAF开发课程第一章-Getting Started

3.1. 第一课还是“Hello World!”

本课的目的将会通过生成一个简单的页面来展现如何进行初步的OAF开发工作。约耗时1-3小时。

在完成该课程后,应该掌握:

新建一个Oracle Application(OA)Jdeveloper Workspace和Project。 设置project,以便在开发模式下进行调试。

使用Jdeveloper OA Extension生成一个非常简单的页面。 生成一个控制器,并将它与一个region建立关联。 处理一个HTTP POST请求的submit按钮的事件。 在正常和debug模式下运行一个页面。

该课程的结果页面如下图所示(实例图片为11.5.10上的页面效果):

该页面上包括一系列global links,比如Preferences(首选项),Logout(注销)以及Return to Portal(返回至门户)。以及一个header(标题区)、一个footer(页脚),一个Go按钮。该页面仅是在点击Go按钮时将文本框中的内容显示到页面上做为提示。页面上的与客户化(Personalization)相关的Personalize Page和About this Page超链接需要配置相应的配置文件才能显示出来。

3.2. 实现步骤

3.2.1. 新建OA Workspace和OA Project

File>New…,打开New Gallery对话框,选择General分类下的Projects节点Workspace

Configured for Oracle Applications。

在新建了Workspace后会自动要求你建立一个空的Project。按照向导一步步操作即可。 该课程中在JDEV_USER_HOME\\myprojects路径下新建HelloWorldOAProject.jpr,设置默认的包为xz.oracle.apps.ak.hello。dbc文件、用户、职责选择相应。

3.2.2. 设置OA Project的Run Option

打开Project Properties…,展开Oracle Application节点下的Run Options属性。选择OADeveloperMode和OADiagnostic从Avaiable Options到Selected Options。

其中OADeveloperMode提供了额外的运行时代码检测和规则校验。OADiagnostic选中将在页面的顶部显示诊断链接(Diagnostics),该设置优先级高于application中的配置文件。在开发过程中,通常应保持选中这两种模式。开发模式选项见下一小节。

3.2.3. 生成OA Components Page File

在新建的workspace中,选择.jpr文件,右键并选择New>,或者直接从菜单中选择File>New…,打开新建对话框。选择Web Tier>OA Components>Page,在弹出的New Page对话框中,Name处输入HelloWorldPG,Package处输入oracle.apps.ak.hello.webui。 OAF开发中包名的命名规则应该符合Oracle Application的规范,其一般是

mycompany.oracle.apps....webui,其中application_shortname为小写,并且在Oracle Application产品中已存在,比如INV。命名规范具体内容参见OAF课程第八章。

完成页面的创建后,页面的初始结构会出现在Jdeveloper中的Structure Window中。其中pageLayout Components文件夹包含了标准的Oracle公司的商标图像。

3.2.4. 修改顶级Page Layout Region

在创建页面后,Jdeveloper会自动创建页面的顶级的page layout region。具体属性可在属性面板(Property Inspector)中进行相应的调整。

如果属性面板未打开,则可以选择菜单View>Property Inspector。在属性面板的属性上右键并选择“Categories”,可在属性按照字母表序或按分类序来排列之间来切换。 在本教程中,设置该pageLayout的ID属性为:PageLayoutRN。 确认Region Style属性被设置为pageLayout。 确认Form属性设置为True。

确认Auto Footer属性设置为True。

设置Window Title为:Hello World Window Title。

设置Title为:Hello World Page Header。此属性将出现在页面头部的蓝条之下。

设置AM Definition属性为oracle.apps.fnd.framework.server.OAApplicationModule,手工输入。该AM是一个为OAF所使用的通用的application module。

3.2.5. 创建第二个Region(Main Content Region)

在pageLayout Region下再创建一个region,方法是在Structure Window选择pageLayout Region,右键并选择New>Region

Region将为页面上的组件提供一个容器,并且保证正常的交错排列。 在本例中,设置该region的属性。 将ID设为MainRN。

将Region Style设为messageComponentLayout,messageComponentLayout做为region的子组件将为message类的组件提供布局容器。

3.2.6. 创建第一个Item

在Structure Window中选择MainRN,并在其上右键,从菜单中选择New>messageTextInput。 并设置属性,ID设为HelloName。

确认Item Style属性设为messageTextInput(该属性值将提供一个文本label和一个文本输入框)。

设置Prompt属性为Name。 设置Length为20。

设置Maximum Length为50。

3.2.7. 为Go按钮创建一个容器Region

在向messageComponentLayout类型的region中,添加一个非message类型的bean,例如submitButton。必须首先添加一个messageLayout Region。

选中messageComponentLayout,右键选择New>messageLayout。并将该region的Name属性设为ButtonLayout

3.2.8. 创建Go Button

选择messageLayout Region,右键并选择New>Item。 设置ID为Go。

设置Item Style为submitButton。

设置Attribute Set为/oracle/apps/fnd/attributesets/Buttons/Go。

此处可通过选择Search in:Entire MDS XML path,及时该Attribute Set不在当前的Project中。

确认Prompt设置为Go.

3.2.9. 保存工作并运行

保存:File>Save All。检查Project Properties中的Runtime Connection。

确认无误后,可在Structure Window中,在HelloWorldPG上右键并选择Run。

也可在Application Navigator中,展开相应的文件夹进行运行。如打开当前项目下的Application Sources中的xz.oracle.apps.ak.hello.webui文件夹,选择其下的HelloWorldPG.xml,右键并选择Run,或菜单Run>Run HelloWorldPG.xml。运行后的效果应与下图类似:

在更新后再次运行时,需要中断OC4J的Server。Run>Terminate>Embedded OC4J Server,然后再次运行。

3.2.10. 添加一个控制器

此教程中需要添加一个Controller来完成在点击Go按钮后显示消息的动作。选择MainRN,右键并选择Set New Controller…。

Package name填写:xz.oracle.ak.hello.webui。 Class name 填写:HelloWorldMainCO。

3.2.11. 修改控制器

在打开的HelloWorldMainCO.java文件中添加如下内容。

在import区域添加:

import oracle.apps.fnd.framework.OAException;

并右键,选择Organize Imports,对import语句进行排列。 修改processFormRequest方法:

Public void processFormRequest(OAPageContext pageContext,OAWebBean webBean) {super.processFormRequest(pageContext, webBean); if (pageContext.getParameter(\"Go\") != null) {

String userContent = pageContext.getParameter(\"HelloName\"); String message = \"Hello, \" + userContent + \"!\";

throw new OAException(message, OAException.INFORMATION); }

}

该处理过程为:点击按钮事件,因为page的Form属性设置为True,则提交请求方式为HTTP POST方式,将会调用region对应的Controller中的processFormRequest方法。在此方法中,将HelloName的文本输入框中的内容取出,并在其前拼上“Hello,”,然后以OAException.INFORMATION的类型抛出异常,显示内容为拼接后的字串。

3.2.12. 编译控制器,保存并运行

在java文件或代码编辑器上右键,选择Rebuild。

3.2.13. 调试程序

略,详见Jdeveloper使用指南。

3.2.14. OAF Runtime Configuration

Page Test Modes

选项 说明 推荐情景 OADeveloperMod 执行各类代码和标准检测 开发过程通常使用 开发过程通常使用 OADiagnostic 使诊断(Diagnostics)链接有效 OABackButtonTestMode 测试对浏览器回退按钮的支持 OAPassivationTestMode 测试页面对钝化(Passivation)的支持 OADumpUIXTree

输出页面的组件树 测试回退时使用 测试钝化支持时使用 排除疑难问题时使用 也可在测试的JSP页面中直接增加如下代码来实现对Runtime option的打开与关闭。

document.cookie = \"OADiagnostic=1\"; document.cookie = \"OADeveloperMode=1\"; document.cookie = \"OABackButtonTestMode=0\"; document.cookie = \"OAPassivationTestMode=0\"; document.cookie = \"OADumpUIXTree=0\";

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务