`
chengyue2007
  • 浏览: 1490209 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

OAF中的MASTER-DETAIL关系

 
阅读更多

http://blog.csdn.net/wang_zhou_jian/article/details/5788164

在日常开发中,我们经常会遇到头行结构,并且要求打开界面,行是隐藏的,点击头上的显示按钮,才要求头对应的行信息全部显示出来,这样,我们就用到了Master-Detail结构。

 

下面,我们就一步一步来实现他吧。

学习目的:

    1、掌握AM,View Object,View Link的创建方法

    2、学会用向导创建表格

    3、可以制作简单条件查询(simpleSearchPanel)

    4、掌握创建Detail的方法,以及属性的设置

一、新建AM:DetailAM

    选择项目TESTOAProject,点击右键New->Business Tier->ADF Business Components->Application Module

    设置   Package:test.oracle.apps.cux.details.server

             Name:DetailAM

 

点击下一步,一直到完成。

二、新建VOPoHeaderVO

    选择包test.oracle.apps.cux.details.server右键选择 New View Object

    设置   Packagetest.oracle.apps.cux.details.server

             Name:PoHeaderVO

 

选择下一步,到Step5,SQL Statement,输入SQL

 

[c-sharp] view plaincopy
 
  1. SELECT 'N' selectflag  
  2.               ,poh.po_header_id  
  3.               ,poh.segment1 po_number  
  4.               ,poh.vendor_id  
  5.               ,pv.vendor_name  
  6.               ,poh.vendor_site_id  
  7.               ,pvs.vendor_site_code  
  8.               ,0 viewline  
  9.           FROM po_headers_all      poh  
  10.               ,po_vendors          pv  
  11.               ,po_vendor_sites_all pvs  
  12.          WHERE poh.vendor_id = pv.vendor_id  
  13.            AND poh.vendor_site_id = pvs.vendor_site_id  
  14.            AND nvl(pv.enabled_flag,'Y') = 'Y'  

 

点下一步,一直到完成。

更改PoHeaderVO的属性

       右键PoHeaderVO,选择Edit PoHeaderVO->Attributes->Viewline

       更改Type为Boolean

三、新建VOPoLineVO

    选择包test.oracle.apps.cux.details.server右键选择New View Object

    设置   Packagetest.oracle.apps.cux.details.server

             Name:PoLineVO

 

选择下一步,到Step5 SQL Statement,输入SQL。

 

[c-sharp] view plaincopy
 
  1. SELECT pol.po_header_id  
  2.               ,pol.po_line_id  
  3.               ,pol.line_num  
  4.               ,pol.item_id  
  5.               ,msib.segment1 item_code  
  6.               ,pol.item_description  
  7.           FROM po_lines_all       pol  
  8.               ,mtl_system_items_b msib  
  9.          WHERE pol.item_id = msib.inventory_item_id  
  10.            AND pol.org_id = msib.organization_id  
  11.            AND nvl(msib.enabled_flag,'Y') = 'Y'  

 

下一步一直到完成。

 

四、新建View LinkPoHeaderToLineLink

    选择包test.oracle.apps.cux.details.server右键选择New View Link

    设置    Packagetest.oracle.apps.cux.details.server

              Name:PoHeaderToLineLink

点下一步。

选择Cardinality:0..1 to *

选择Select Source Attribute:PoHeaderVO.PoHeaderId

选择Select Destination Attribute:PolineVO.poHeaderId

点Add

下一步到Step 4View Link Properties

保证Source和Destination的In View Object复选框被选中

点完成。

五、将VO添加到AM中

    选中DetailAM,右键Edit DetailAM(或双击)

    选对PoHeaderVO添加到AM下,然后把PoLineVO via PoHeaderToLineLink添加到AM下

 确定。

六、新建PageDetailPG

 

选择test.oracle.apps.cux.details

点右键,New->Web Tier->OA Components->Page

 

输入      Name:DetailPG

       Package:test.oracle.apps.cux.details.webui

 

点完成。

修改PageLayout

           IDPageLayoutRN

AM Definitiontest.oracle.apps.cux.details.server.DetailAM

 Window Title主从表测试

        Title主从表测试

新建一个RNQueryRN

选择PageLayoutRN点右键New->Region

 

更改以下信息

                          ID:QueryRN

                Region Stylequery

           Construction ModeautoCustomizationCriteria

      Include Advanced Panel:True

用向导新建一个表格

右键点击QueryRN,New->Region Using Wizard...

 

  Application Moduletest.oracle.apps.cux.details.server.DetailAM

Available View UsagePoHeaderVO1

下一步。

   Region IDResultTable

Region Styletable

 

下一步。

选中PoheaderId,PoNumber,VendorName,VendorSiteCode,Viewline到右边。

下一步,修改表格信息。

完成。

可以看到,结构图如下

修改ITEM的Search Allowed全部为True。

 

更改ResultTable属性

Detail View Attribute:Viewline

                Width:100%

添加查询条件

选择QueryRN,右键选New->simpleSearchPanel

系统会自动创建一个Header和一个Region

修改Header属性

        ID:SimpleSearchHdr

      TEXT:订单查询

修改Region属性

        ID:SearchComponentLayout

然后在Region下面新建一个messageTextInput

修改ITEM的属性

        ID:PoHeaderID

        Search Allowed:True

        Maximum Length:40

                Prompt:订单ID

                Length:20

添加查询的对应关系

选择QueryRN,右键New->simpleSearchMappings

更改属性

                  ID:PoHeaderMap

         Search Item:PoHeaderId

        Results Item:PoHeaderId

完成后,结构图如下:

 现在可以运行看一下效果了...

 

 

 

 

 

 

选择ResultTable,右键New->details

系统会创建一个header域

 

 

 

用向导创建表格

选择detailHdr,右键New->Region Using Wizard...

Application Moduletest.oracle.apps.cux.details.server.DetailAM

Available View UsagePolineVO1

下一步Region Properties

    Region IDLineTable

    Region Style:table

选中LineNum,ItemCode,ItemDescription到右边

下一步,修改表格属性

完成。

更改表格属性,修改search_allowed全部为True

更改LineTable

View Link Instance:PoHeaderToLineLink1

             Width:90%

选择ResultTable,点右键New->MultipleSelection

修改multipleSelection1的属性值

 

 

            ID:SelectFlag

 View Instance:PoHeaderVO1

View Attribute:Selectflag

 

 

 

到此为止,我们就完成了Master-Details的全部设置,运行后,你就可以收获成功的喜悦了。。

 

 

 注:

 

当运行时,系统报如下错误时:

oracle.apps.fnd.framework.OAException: Detail View Attribute Name is not set for the table even though a detail named child has been specified. Please specify a Boolean or String ("Y" or "N") view attribute for this table property.

请检查:

主块的Table属性中,Detail View Attribute字段是否有类型为Boolean的值

 

 

属性

 

 

 

分享到:
评论

相关推荐

    OAF开发常用代码

    在Oracle Application Framework (OAF) 开发中,CO、VO、AM 和 EO 是四个关键的组件,它们构成了这个企业级应用框架的核心。以下是对这些概念的详细解释以及它们在实际开发中的常见用法: 1. **CO(Controller)**...

    OAF开发练习资料(中文、HAND)

    MASTER-DETAIL、高级表格、OAF中的Tab页、Table Layout、文件上传/下载、导入Excel、交互式列车(OATrainBean)、动态生成VO、在CO中为页面添加Region等内容。第一次打开好像需要关闭防火墙!

    OracleEBS11i-OAF开发笔记

    - **OAF 对象概念**:在 OAF 中,对象是用来表示应用程序中各种实体的一种方式,如实体对象、关联对象、视图对象等。 - **OAF 对象命名规则**:为了保持代码的一致性和易于理解,OAF 推荐遵循一定的命名约定,例如...

    OAF 中文资料

    下面将详细介绍OAF中的关键知识点。 1. **OAF架构**: OAF基于Java和J2EE技术,其核心组件包括Model(模型)、View(视图)和Controller(控制器)。Model负责处理数据和业务逻辑,View负责展示用户界面,...

    oaf-react-router:React Router的可访问包装

    Oaf React路由器的可访问包装器。 文档兼容性经过React Router v5测试仅限DOM(不支持React Native) 支持和 与在现代浏览器IE 11 Edge中经过测试对于(全)IE支持,你将需要填充工具。 使用 : import "core-js/es6...

    OAF开发手册Release 12

    OAF是Oracle E-Business Suite中的核心组件,它提供了一个灵活的、可扩展的框架,用于构建企业级的应用程序。本手册详细介绍了如何在Release 12版本中利用OAF进行高效且符合业务需求的开发。 在Oracle Application ...

    OAF 中VL和advancedTable结合使用

    ### OAF 中 VL 和 AdvancedTable 结合使用的详细解析 #### 一、背景介绍 在 Oracle Application Framework (OAF) 的开发环境中,为了提高开发效率和减少代码量,开发者经常需要利用框架内置的一些高级功能。其中,...

    OAF_DevUG_12.2.4

    手册中详细介绍了如何在Windows和Linux环境下配置JDeveloper工具,这是开发OAF应用的主要IDE。具体步骤包括安装JDeveloper、配置Oracle JDK、设置Oracle数据库连接等。这些步骤确保了开发者能够顺利地进行后续的应用...

    深入浅出Oracle之OAF开发参考

    - **3.2.6 使用CSS和JS**:教授如何在OAF中使用CSS和JavaScript来增强用户界面的设计和交互性。 ##### 3.3 中级篇 - **3.3.1 纯代码添加组件**:探讨如何通过编写代码来动态添加UI组件,实现更灵活的页面设计。 - *...

    OAF中文资料

    本文档主要总结了在OAF项目开发过程中遇到的各种问题,包括功能问题、控件问题、交互问题等,并提供了一些实用的解决方案和示例代码。对于初学者来说,这是一份非常宝贵的参考资料。 #### 常见问题 - **功能问题**...

    oaf培训资料

    理解组件和控制器的关系及其工作原理是开发OAF应用的关键。 7. **Data Control and VO(View Object)**:数据控制是OAF中用于与后端数据源交互的机制,通常与View Objects关联。理解如何创建和使用数据控制及VO...

    OAF开发初步文档

    Oracle Application Framework (OAF) 是Oracle E-Business Suite (EBS) 中的一个核心组件,用于构建和定制企业级用户界面。OAF 提供了一个灵活且强大的框架,允许开发者创建与EBS集成的自定义应用程序,提供更丰富的...

    个性化EBS标准OAF页面

    在Oracle E-Business Suite(EBS)中,个性化标准OAF页面是指基于Enterprise Object(EO)或SQL的版本,通过替换Value Object(VO)添加客户化属性来实现个性化的页面开发。下面是相关的知识点: 个性化EBS标准OAF...

    ORACLE OAF入门学习教程

    10. 实际操作:文档中的教程部分用具体的案例(如Hello, World、Search查询等)来说明OAF框架的各个组成部分如何在实际开发中运用。通过这些操作,可以加深对OAF框架的理解,并学会如何在实际项目中应用这些知识。 ...

    ORACLE EBS OAF开发笔记

    - **创建OAF Workspace**:在JDeveloper中创建一个新的Workspace,专门用于OAF项目开发。 - **配置OAF项目**:设置项目的名称、路径等基本信息,并选择合适的模板来快速搭建项目结构。 #### 三、创建OAF页面 #####...

Global site tag (gtag.js) - Google Analytics