




免费预览已结束,剩余67页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
OA Framework 二次开发教程李奉学2009-2-22第一章 概述1.1 OA Framework 概述Oracle Application Framework(OA Framework)是 Oracle 提供的基于 HTML应用的开发和发布平台,由一系列的中间层服务和 Oracle10g JDeveloper 的扩展(Oracle Applications Extension,OA Extension)组成 1.2 OA Framework框架结构OA Framework 基于工业标准 J2EE MVC 的设计模式视图控制器模型HTTP 请求HTTP 响应被控制动作数据模型:封装底层数据和业务逻辑,通过 BC4J(Oracle Business Components for Java) 来实现视图:格式化和显示来自模型的数据,通过 UI XML(UIX)实现 控制器:响应用户操作和控制应用流程,通过 Java 类来实现,简单的页面流程直接使用控制器对象实现;而复杂的则使用Oracle Workflow来实现浏览器发送HTTP请求到控制器,控制器响应浏览器端输入,创建并设置模型,当模型发生变化时,视图得到通知,刷新界面显示1.3 OA Framework页面组成1.4 模型模型包装了业务逻辑和业务数据由模型图中可以看到,要改变数据库中的数据有两个途径:1、应用程序模块中可以直接获取OADBTransaction对象,调用JDBC更改数据2、通过设置VO属性,VO自动更改对应的EO,EO同步到数据库;EO直接能获取OADBTransaction对象,也可以加入客户化代码直接操作数据库三个最基本的模型对象 应用程序模块容纳相关的BC4J实例对象的容器业务逻辑方法,由控制器调用 实体对象封装业务逻辑封装、同步底层数据 视图对象向页面展现数据保存用户更改数据1.5 视图1.5.1 页面层次(Hierarchy) 有两种页面(UI)元素:Region和Item 每个UI元素都对应一个或多个Java对象(Web Bean) 设计时使用声明的方式,定义Web Bean层次结构 运行时,UIX框架根据Web Bean结构产生HTML1.5.2 页面示例1.6 控制器1、控制器控制UI的行为运行时操作UI初始化数据捕获和处理用户事件(如按钮click)2、控制器类处理两种请求GET请求(processRequest)POST请求(processFormRequest)1.7 OA Framework应用开发结构1、应用模块拥有视图对象(数据)2、根应用模块拥有事务对象(调用存储过程)3、页面的pageLayout拥有根应用模块4、业务组件重用,各层调用关系client - AM - VO - EO1.8 OA Framework开发步骤1、 创建业务组件1) 业务组件包2) 实体对象(实体关联)3) 基于实体对象(或SQL)建立视图对象(视图连接)4) 应用模块对象,把视图对象实例添加到应用模块中2、 以声明方式定义页面(Region和Item)3、 为需要的Region设置控制器类4、 编写应用模块代码和控制器类代码第二章 开发环境配置1、 解压缩JDeveloper10g OA Extension压缩文件至硬盘(解压目录不要包含空格和中文)2、 添加系统环境变量JDEV_USER_HOME,指定一个目录,此目录作为程序开发和本机运行时的主目录3、 从服务器下载dbc文件,修改dbc文件(去掉反斜杠),放到JDEV_USER_HOME的子目录中,dbc文件必须放在secure目录下4、 创建(或打开)项目,为项目指定用户、密码、应用和职责5、 使用JDeveloper建立数据库连接,用于设计时访问数据库6、 测试连接第三章 第一个应用程序Hello World3.1 概述通过使用 Oracle10g JDeveloper OA Extension 创建一个简单的页面的过程,只需要很少的解释和步骤(无 BC4J)。3.2 目标1. 创建一个 Oracle Applications (OA) JDevelope10g 工作区和项目2. 设置项目属性,使其能够进行开发模式的测试和诊断3. 使用 Oracle Applications (OA) JDeveloper10g 创建一个简单的页面4. 创建一个控制器,并和区域关联起来5. 处理提交按钮的按下动作(一个HTTP POST请求)运行出来的页面有全局链接(如:选项设置、退出、回到门户)、页眉、页脚、个性化区域按钮、一个空的文本域和 Go 按钮,页面仅仅能够将输入到文本域中的值显示出来。页面如图:3.3 实现步骤3.3.1 创建 OA 工作台和 OA 项目选择 File New 打开新建对话框,如下图:从新建对话框中选择 General Workspace Configured for Oracle Applications ,确定进入 New Oracle Applications Workspace 窗口, 输入文件名,并选择 Add a New OA Project ,如下图:确定后进入 Oracle Applications Project Wizard 对话框,第一步更改 File Name 和 Default Package 分别为:HelloWorldOAProject.jpr 和 ite.oracle.apps.ak.hello 。第二步选择Database Connection,选择开始建好的数据库连接,如图:第三步,指定DBC文件路径、Application用户名和密码,如图:点击完成按钮完成工程的创建。3.3.2 设置项目的运行选项选择 HelloWorldOAProject.jpr 项目,选择 Project Project Properties 进行选项设置。选择 Oracle Applications Run Options 设置页,选择 OADeveloperMode 和 OADiagnostic 项到 Selected Options 中。在运行期间 OADeveloperMode 提供了而外的代码检查和标准检测;OADiagnostic 使运行出来的页面顶部有全局按钮 Diagnostics 按钮,这个选项覆盖了其它几个对应的预制文件。如图:3.3.3 创建 OA Components 页面文件选择 HelloWorldOAProject.jpr 项目,选择 File New,打开 新建对话框。选择 Web Tier OA Components 类别,选择 Page 进行下一步,如图:输入页面文件名和包名包名的格式必须遵循如下规则:.oracle.apps.webui 到此创建 JDeveloper 自动创建了页面结构,并显示在结构窗口中3.3.4 更改页面布局(Top-Level)区域在页面结构中选择region1,通过属性面板修改相应属性如下:l 设置 ID 属性值为 PageLayoutRNl 确认 Region Style 属性设置为 pageLayout l 确认 Form 属性设置为 True l 确认 Auto Footer 属性设置为 True l 设置 Window Title 属性为 Hello World Window Title,这个标题就成为了页面对应窗口的标题l 设置 Title 属性为 Hello World Page Header,这个标题成为页面的题头l 设置 AM Definition 属性为 oracle.apps.fnd.framework.server.OAApplicationModule ,这是 OA Framework提供的基本应用模块3.3.5 创建第二个区域(主内容区域)在结构窗口中选择页布局区域创建第二个区域,右键点击PageLayoutRN,从上下文菜单中选择 New Region 创建这个区域的目的是,为项目提供一个容器,并保证其中的项目有合适的缩进,设置属性为下列的值:l 设置属性 ID 的值为 MainRN l 设置 Region Style 属性值为 messageComponentLayout 3.3.6 创建第一个元素(文本框)在文件结构区域右键点击MainRN,使用上下文菜单选择 New messageTextInput创建一个文本框:设置相关属性如下:l 设置 ID 属性值为 HelloNamel 验证 Item Style 属性值为 messageTextInputl 设置 Prompt 属性值为 Namel 设置 Length 为 20l 设置 Maximum 为 503.3.7 为 Go 按钮创建容器区域 在文件结构区域右键点击MainRN,通过菜单选择New messageLayout,创建一个按钮容器:设置其ID为ButtonLayout。3.3.8 创建第二个元素(Go 按钮) 在文件结构视图中右键点击ButtonLayout,通过菜单选择New Item添加一个按钮,并设置相关属性如下:l 设置 ID 属性值为 Go l 设置 Item Style 属性值为 submitButton l 设置 Attribute Set 属性值为 /oracle/apps/fnd/attributesets/Buttons/Go l 验证 Prompt 属性为 Go(这是属于按钮的标签,从属性集中继承而来,当然可以修改成我们想要的名字,如:确定)3.3.9 运行页面 选中HelloWorldPG.xml文件,点击右键,通过菜单选中Run来页面。:运行后页面如图:3.3.10 添加控制器 为了可以将用户输入的消息后点击Go按钮能够将消息打印出来,需要为页面添加一个控制器,在文件结构视图中选中PageLayoutRN,点击右键,通过菜单选择Set New Controller:设置控制器的包名和:ite.oracle.apps.ak.hello.webui 类名:HelloWorldMainCO 此时在webui包中就可以看到HelloWorldCO.java文件,如图:3.3.11 编辑控制器 双击打开HelloWorldCO.java文件,在 import 部分的最后一行添加如下的代码,使得 OA Framework OAException 程序有效,编辑 processFormRequest() 方法的执行代码和下面一样3.3.12 运行页面 重新运行页面,在文本框中输入一些文字,然后点击Go按钮,将得到下面的效果:第四章 查询4.1 概述讲述了如何实现一个简单查询和查询结果页面4.2 目标 创建一个典型的查询页面,页面包括了一个 OAQueryBean 查询区域和查询结果表 能够使用户通过“可选择的查询条件”预防了盲目的查询 创建值列表(LOV) 创建根 UI 应用模块,并启用钝化功能(passivation) 创建 BC4J 包 创建实体对象 创建实体关联 创建基于实体对象的视图对象 创建简单 SQL 的视图对象 项目上使用属性集4.3 实现步骤4.3.1 创建项目 创建OA项目1. 右键点击工作区,通过菜单选择New OA Project。2. 跳过欢迎界面3. 改变Project Name为EmployeeOAProject4. 改变Directory Name为自己的路径:D:OracleR12jdevhomejdevmyprojects5. 改变Default Package为ite.oracle.apps.ak.employee6. 选择下一步选中Use Repository for Design Time复选框,并从Connection下拉列表中选择自己配置的Database Connection7. 选择下一步设置dbc文件信息及连接信息,并设置相关职责信息字段值D:OracleR12jdevhomejdevdbc_filessecureVIS.dbcDBC File NameD:OracleR12jdevhomejdevdbc_filessecureVIS.dbcUser NamelifengxuePasswordfengxueliApplication Short NameAKResponsibility KeyFWK_TBX_TUTORIAL8. 完成项目的创建 启用开发诊断功能一般情况下,开启开发测试模式和 OA 诊断来帮助开发人员检查各种编码标准的违例情况和测试 AOL/J 日志特点。1. 从导航栏中选择 EmployeeOAProject.jpr 项目,右键从菜单中选择 Project Properties. 2. 在 Project Properties 页中选择 Oracle Applications Run Options 节点 3. 选择 OADeveloperMode 和 OADiagnostic 到 Selected Options 列表4.3.2 创建页面模型组件 创建根UI应用模块(AM)1. 为页面创建一个应用模块(AM),使其成为页面的根节点。2. 在导航栏中右键点击EmployeeOAProject.jpr,通过菜单选择New,在弹出的对话框中选择Business TierADF Business ComponentsApplication Module,如图:3. 点击确定跳过欢迎页4. 在Package中指定包名为:ite.oracle.apps.ak.employee.server,在Name中指定AM名称为:EmployeeAM,如图:5. 选择下一步到第四步6. 在第四步Java页中选中Generate Java File(s)7. 点击下一步,完成 为根应用模块启用钝化功能钝化功能对所有的根 UI 应用模块使用,详细内容请参考OA Framwork Develpers Guide。1. 从导航栏中选择 EmployeeAM 应用模块,右键从菜单中选择 Edit EmployeeAM(或双击EmployeeAM)2. 在弹出的对话框中选中Custom Properties节点3. 在 Name 字段中输入 RETENTION_LEVEL 4. 在 Value 字段中输入 MANAGE_STATE 5. 选择 Add 按钮增加6. 选择 确定按钮确认退出向导对话框 创建员工实体对象(EO)为 FWK_TBX_EMPLOYEES 表创建一个实体对象(EO)1. 在导航栏中右键点击EmployeeOAProject.jpr,通过菜单选择New,在弹出的对话框中选择Business TierADF Business ComponentsEntity Object2. 跳过欢迎页面,在Name页中设置Name为EmployeeEO,设置Package为ite.oracle.apps.ak.schema.server,在Schema Object中填写AK. FWK_TBX_EMPLOYEES3. 选择下一步到第三步Attribute Setting,确保EmployeeId的Primary Key复选框选中,不改变其它任何值4. 选择下一步,在 Java 页中,为 Entity Object Class:EmployeeObjectmpl 选择 Generate Java File 选项框,在Generate Methods区域中选择Accessors、Create Method、Remove Method、Validation Method,点击Class Extends按钮,确保基类为oracle.jbo.server.EntityImpl,如图:5. 选择下一步,在 Generate 页中,确保 Generate Default View Object 选项框没有被选中 6. 选择下一步,点击完成按钮创建EO7. 选择EmployeeEO,双击EmployeeEO,在弹出的对话框中选择Tuning,选中Use Update Batching,在文本框中填入100 创建Employee-To-Manager关联(AO)在 FWK_TBX_EMPLOYEES 表上为自连接条件创建一个employee-to-manager 关联(AO)。 业务逻辑规则为: 在 POSITION_CODE != PRESIDENT 的条件下,一个员工必须有一个主管 一个员工最多只能有一个主管 一个主管可以管理很多员工创建步骤1. 在导航栏中右键点击EmployeeOAProject.jpr,通过菜单选择New,在弹出的对话框中选择Business TierADF Business ComponentsAssociation2. 点击确定跳过欢迎页3. 设置Package为ite.oracle.apps.ak.schema.server,设置Name为EmpToMgrAO4. 在 Entity Objects 页中,需要配置员工为原实体对象,主管为目标实体对象。页的顶部的 Cardinality 下拉列表也帮助指定了原实体对象和目标实体对象的对应关系 在 Select Source Attribute 列表中选择 ite.oracle.apps.ak.schema.server.EmployeeEO 实体对象中的属性 ManagerId (这是主管的外键) 在 Select Destination Attribute 列表中选择 ite.oracle.apps.ak.schema.server.EmployeeEO 实体对象中的属性 EmployeeId(这是主管的主键) 然后在Cardinality 下拉列表中选择 * to 0.1 5. 点击Add按钮添加连接条件6. 选择 下一步 按钮 7. 在 Association Properties 页中,确保 Source 和 Destination 两个区域的 Expose Accessor 选项框被选中 8. 完成 创建视图对象EmployeeSummaryVO(VO)为了满足员工搜索结果表的要求,需要创建一个包括了搜索所需要的所有属性的汇总视图。此视图整合了上面所创建的 EmployeeEO 和 EmpToMgrAO 对象。1. 从导航栏中选择 ite.oracle.apps.ak.employee.server BC4J 包,右键从上下文菜单中选择 New Association. 进入 New View Object. 向导 2. 跳过欢迎页3. 在Name页中指定视图名称为EmployeeSummaryVO,并确定Package为ite.oralce.apps.ak.employee.server。4. 选择下一步,在 Entity Objects 页中,在 Available 列表中选择 EmployeeEO 并移动到 Selected 列表,重复执行两次这样的动作(一次为员工,另一次为主管)5. 确保 EmployeeEO 的第二个实例的 Alias 值为 EmployeeEO1 ,Association 设置为 EmpToMgrAO.ManagerIdEmployeeEO6. 选择下一步7. 在 Attributes 页中,从 Available 列表中选择下列属性到 Selected 列表中 从EmployeeEO中选择EmployeeId 、FullName 、EmailAddress 从EmployeeEO1中选择EmployeeId(JDeveloper自动分配默认值EmployeeId1 ) 、FullName(JDeveloper自动分配默认值FullName1) 、EmailAddress(JDeveloper自动分配默认值EmailAddress1) 8. 选择下一步在 Attribute Settings 页中,设置相关属性属性名Name值Query Column AliasFullNameEmployeeNameEMPLOYEE_NAMEEmailAddressEmployeeEmailEMPLOYEE_EMAILEmployeeId1ManagerIdMANAGER_IDFullName1ManagerNameMANAGER_NAMEEmailAddress1ManagerEmailMANAGER_EMAIL9. 选择下一步,选择 Expert Mode 选项框进行手工编辑 SQL 语句 10. 在 Query Statement 文本框中修改 SQL 为下列句子SELECT EmployeeEO.EMPLOYEE_ID,EmployeeEO.FULL_NAME AS EMPLOYEE_NAME, EmployeeEO.EMAIL_ADDRESS AS EMPLOYEE_EMAIL, EmployeeEO1.EMPLOYEE_ID AS MANAGER_ID, EmployeeEO1.FULL_NAME AS MANAGER_NAME, EmployeeEO1.EMAIL_ADDRESS AS MANAGER_EMAIL, flkp.meaning AS POSITION_DISPLAY FROM FWK_TBX_EMPLOYEES EmployeeEO, FWK_TBX_EMPLOYEES EmployeeEO1, FWK_TBX_LOOKUP_CODES_VL flkp WHERE EmployeeEO.MANAGER_ID = EmployeeEO1.EMPLOYEE_ID (+) and EmployeeEO.POSITION_CODE = flkp.lookup_code and flkp.lookup_type = FWK_TBX_POSITIONS11. 完成修改后选择 Test 按钮进行验证测试12. 选择 下一步 按钮两次 13. 完成 添加视图对象到根应用模块实体对象只能够在包含它的应用模块的上下文中使用,在你页面中使用EmployeeSummaryVO之前必须先将它加入到页面的 UI 应用模块根节点中。1. 从导航栏中选择 EmployeeAM ,右键从上下文菜单中选择 Edit EmployeeAM. 进入Application Module. 向导2. 选择 Data Model 页,将 Available View Objects 列表中的 EmployeeSummaryVO 实体对象移到 Data Model 列表中3. 确定完成4.3.3 创建初始页此步骤的任务是创建一个页标题为 Employees 的页面,并带有提示文本信息。 创建EmpSearchPG页面1. 从导航栏中选择 EmployeeOAProject.jpr 项目,右键从上下文菜单中选择 New2. 在 New 窗口中,展开 Web Tier 层次选择 OA Components 3. 在 OA Components Items 列表中选择 Page 4. 选择 确定 继续5. 在 New Page 对话框中,输入 Name 的值为 EmpSearchPG;Package 的值为 ite.oracle.apps.ak.employee.server.webui 6. 选择 确定 创建页面 更改页面布局区域在结构窗口中选择 EmpSearchPG 中的 region1,设置和验证以下属性值属性值IDPageLayoutRNRegion StylepageLayoutAM Definitionoracle.apps.ak.employee.server.EmployeeAMWindow TitleFramework ToolBox Tutorial: Labs AroneTitleEmployees AroneAutoFooterTrue 添加一个产品商标图片每个 Oracle 应用页面都要求有一个商标图片在结构窗口中选择 PageLayoutRN 区域,右键从菜单中选择 NewproductBranding,Developer 会自动创建一个包括了productBranding(名为 Item1 ) 图形项目的 pageLayoutComponents 文件夹,选择其中的项目进行下面的属性设置属性值IDProdBrandImage URIFNDTAPPBRAND.gifAdditional TextOA Framework ToolBox Tutorial 创建页面指示文本添加页面级别的指示文本,可以使用 Oracle Application 消息字典来实现文本信息可以随着环境语言的不同而显示不同在结构窗口中选择 PageLayoutRN 区域,右键从上下文菜单中选择 New pageStatus JDeveloper 自动为 pageStatus 组件创建了 flowLayout 区域,设置区域的 ID 属性值为 PageStatusRN 选择 PageStatusRN 区域,右键选择 New Item ,设置如下的属性:属性值IDPageHelpItem StylestaticStyledTextData TypeVARCHAR2CSS ClassOraInstructionTextMessage Appl Short NameAKMessage NameFWK_TBX_T_PAGE_GENERAL 运行页面进行测试运行页面测试效果4.3.4 配置基于结果的查询 添加一个QueryBean到页面中选择EmployeePG.xml,在文件结构视图中选择PageLayoutRN,右键从菜单中选择New Region选择新生成的region1,设置其属性如下:属性值IDQueryRNQuery StylequeryConstruction ModeresultsBasedSearchInclude Simple PanelTrueInclude Views PanelTrueInclude Advanced PanelTrue 添加查询结果表到QueryRN1. 在结构窗口中选择 QueryRN 区域,右键从上下文菜单中选择 New Region Using Wizard2. 按下一步跳过欢迎页3. 在 BC4J Objects 页中,在Application Modules选择 ite.oracle.apps.ak.employee.server.EmployeeAM,然后在 Available View Useages 列表中选择视图对象实例 EmployeeSummaryVO14. 选择 下一步 按钮 5. 在 Region Properties页中设置 Region ID 的值为 ResultsTable ;Region Style 的值为 Table6. 在 View Attributes 页中,选择 Available View Attributes 列表中的下列属性到 Selected View Attributes 列表中 EmployeeId EmployeeName PositionDisplay ManagerName7. 选择 下一步 按钮8. 在 Region Items 页中,设置如下的属性值:IDPromptStyleData TypeAttribute SetEmployeeId员工编号messageStyledTextNUMBEREmployeeName员工姓名messageStyledTextVARCHAR2PositionDisplay职位messageStyledTextVARCHAR2ManagerName主管姓名messageStyledTextVARCHAR29. 选择完成按钮结束 设置相关元素属性值在结构视图中选择ResultsTable,在属性窗口中设置和确认如下属性:属性值IDResultsTableRegion StyletableAM Definition必须为空,如果有值必须删除Additional Text员工列表RenderedTrueRecords Displayed10Width100%User PersonalizationTrue设置EmployeeId项目属性值属性值Search AllowedTrueSort AllowedascendingInitial Sort SequencefirstSelective Search CriteriaTrueUser PersonalizationTrue (用户可以根据需要保存个性化视图)设置EmployeeName项目属性值属性值Search AllowedTrueSelective Search CriteriaTrueUser PersonalizationTrue (用户可以根据需要保存个性化视图)设置PositionDisplay项目属性值属性值Search AllowedTrueUser PersonalizationTrue (用户可以根据需要保存个性化视图)设置ManagerName项目属性值属性值Search AllowedTrueDestination URImailto:ManagerEmail User PersonalizationTrue (用户可以根据需要保存个性化视图) 运行测试效果运行页面测试效果无须作添加任何代码就可以轻松实现查询,OA Framework 自动根据表中的项目和 Search Allowed 属性及项目的类型来创建查询视图 。4.3.5 转换查询区域为使用自动客户化查询条件如果我们希望查询区域中使用值列表(LOV)来增加用户的易用性,简单的“基于结果”的查询无法使用带有 LOV 的查询。因此需要将“基于结果”的 Query Bean 转换为“自定义查询条件”模式。 改变QueryRN为自定义查询模式1. 在结构窗口中选择 QueryRN2. 更改属性 Construction Mode 为 autoCustomizationCriteria3. 更改属性 Include Views Panel 为 False 4. 更改属性 Include Advanced Panel 为 False 增加一个简单查询区域1. 在结构窗口中选择 QueryRN ,右键从菜单中选择 New simpleSearchPanel ,一个头区域(region2)和messageComponentLayout 区域(region1)自动创建2. 选择头区域,设置 ID 属性值为 SimpleSearchHdr ;改变 Text 属性值为 Search 3. 设置 messageComponentLayout 区域(region1)的属性 ID 值为 CustomSimpleSearch 创建查询项目EmployeeName和EmployeeNumber1. 在结构窗口中选择 CustomSimpleSearch,右键从上下文菜单中选择 New messageTextInput2. 选择创建的项目,设置和验证属性值为下列所示:属性值IDSearchEmpNameItem StylemessageTextInput(后面将此改为LOV域)Selective Search CriteriaTrueData TypeVARCHAR2Maximum Length240Prompt员工名称CSS ClassOraFieldTextLength403. 按照同样的方法创建EmployeeNumber查询项目,并设置属性如下:属性值IDSearchEmpNumItem StylemessageTextInpuSelective Search CriteriaTrueData TypeNUMBERMaximum Length15Prompt员工编号CSS ClassOraFieldTextLength 建立查询项目和查询结果表之间的映射OA Framework 将使用在上面所定义的查询项目和结果表列之间的映射来自动处理用户输入的查询条件。1. 在结构窗口中选择QueryRN,右键从上下文菜单中选择 New simpleSearchMappings2. 选择 simpleSearchMappings 下的默认映射,并设置其属性为下列值:属性值IDEmpNameMapSearch ItemSearchEmpNameResult ItemEmployeeName3. 右键点击simpleSearchMappings,在菜单中选择New queryCriteriaMap,选择新建的映射,并设置属性如下:属性值IDEmpNumMapSearch ItemSearchEmpNumResult ItemEmployeeId 运行页面测试效果运行页面测试效果4.3.6 为员工姓名字段添加值列表(LOV)创建一个可以重复使用的值列表(LOV),以后在别的查询页面也可以引用。 创建公共的LOV应用模块一个项目中的所有LOV都必须放在一个公共的产品包中,本次练习设为ite.oracle.apps.ak.lov.server,应该将相关的 LOV 视图对象组织到公共的应用模块中。例如:为员工应用所创建的任何 LOV 视图对象都必须包含在唯一的应用模块中。创建AM的步骤同创建根UI应用模块。模块名取名为LabsLovAM,包名确认为ite.oracle.apps.ak.lov.server。 创建LOV视图对象1. 在导航视图中选择包ite.oracle.apps.ak.lov.server,右键点击从菜单中选择New View Object,指定名称为EmployeeNamesVO2. 点击下一步按钮直到Query页3. 在 Query 页中的 Query Statement 域中输入如下 SQL语句。选择 Test 按钮验证语法的正确性。SELECT full_name AS EMPLOYEE_NAME, employee_id AS EMPLOYEE_NUMBER, email_addressFROM fwk_tbx_employeesWHERE end_date is null4. 选择 下一步 直到 Java 页5. 在 Java 页中 反选 View Object Class: EmployeeNamesVOImpl 选项下的 Generate Java File ;选择 View Row Class: EmployeeNamesVORowImpl 选项下的 Generate Java File 。6. 完成 将EmployeeNamesVO添加到LOV应用模块中参照添加视图对象到根应用模块 创建EmployeesLovRN共享LOV区域由于需要将员工姓名的 LOV 使用到多个页面中,必须将它创建为共享的和独立运行的区域。1. 在导航栏中选择 EmployeeOAProject.jpr 项目,右键选择 New. 2. 跳过欢迎页3. 在 New 窗口中,展开 Web Tier 层次并选中 OA Components 4. 在 OA Components Items列表中选择 Region 5. 选择 确定 继续6. 在 New Region 页中,指定下列的属性值:7. Name 值为 EmployeesLovRN8. Package 值为 oracle.apps.ak.lov.webui 9. Style 为 listOfValues 10. 选择 确定 创建区域 11. 在结构窗口中选择 EmployeesLovRN ,设置 AM Definition 属性值为 oracle.apps.ak.lov.server.LabsLovAM;设置 Advanced Search Allowed 属性值为 True ;设置 Scope 属性值为 Public 增加表到LOV1. 在结构窗口中选择 EmployeesLovRN, 右键从菜单中选择 New table Using Wizard2. 跳过欢迎页3. 在 BC4J Objects 页中,选择 LabsLovAM 应用模块(oracle.apps.ak.lov.server.LabsLovAM),从 Available View Objects 列表中选择 EmployeeNamesVO1 视图对象实例4. 选择 下一步 5. 在 Region Properties 页中,设置 Region ID 值为 EmpNamesTable;Region Style 为 table 6. 选择 下一步 7. 在 View Attributes 页中,选择 EmployeeNamesVO1 所有的属性8. 在 Region Items 页中,设置如下的属性值:IDPromptStyleData TypeAttribute SetEmployeeId员工编号messageStyledTextNUMBEREmployeeName员工名称messageStyledTextVARCHAR2EmailAddress电子邮件messageStyledTextVARCHAR29. 选择 完成 按钮创建数据表10. 在结构窗口中选择 EmployeeName 和EmployeeId 项目,设置他们的 Search Allowed 和 Selective Search Criteria 的属性值为 True 。第一个属性是让用户在 LOV 的值中进行查询选择;第二个属性保证了用户至少输入一个查询条件,防止盲目的查询。 设置EmployeeName能够使用LOV1. 在导航视图中选择EmpSearchPG.xml2. 在文件结构视图中选择CustomSimpleSearch下的SearchEmpName项目3. 改变它的 Item Style 属性值为 messageLovInput ,JDeveloper 自动带出内置的 LOV 区域(区域样式 listOfValues)和一个默认的 LOV 映射4. 选择 External LOV 属性值为 /ite/oracle/apps/ak/lov/webui/EmployeesLovRN5. 改变 Disable Validation 的属性为 True 定义LOV映射在页面项目和 LOV项目之间建立映射。映射关系反映了页面项目和 LOV 项目之间的数据 输入/输出 关系。1. 选择默认的 LOV 映射,ID 为 lovMap1 ,然后设置如下的属性值:LOV Reg
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 石油天然气运输公司经理在基层单位的考察讲话
- 大庆服务外包产业发展面临的问题及对策
- 公司职级体系管理制度
- 分布式条件下一种基于演化算法的聚类算法优化与应用
- 江苏开放大学2025春国家公务员制度期末复习3
- 2025授权代理协议样本
- 广西平果市2024-2025学年高二下册期中数学测试卷附解析
- 2024年四川绵阳中医药高等专科学校招聘真题
- 2024年滨州阳信县温店镇招聘乡村公益性岗位真题
- 陕西延长石油招聘笔试真题2024
- GB/T 28650-2012公路防撞桶
- GB/T 25820-2010包装用钢带
- 围手术期低体温护理研究进展课件
- 高质量心肺复苏
- 锅炉防磨防爆总结汇报课件
- 茶叶企业营销课件
- 井巷工程课程设计-2篇
- 经口鼻腔吸痰操作评分标准
- 某印刷有限公司安全逃生平面图
- 口腔执业医师解剖生理学试题b1型题
- DB14T1049.3-2021 山西省用水定额 第3部分:服务业用水定额
评论
0/150
提交评论