设为首页 收藏本站
查看: 1951|回复: 0

[经验分享] EBS OAF开发中如何在多行表中实现附件功能

[复制链接]

尚未签到

发表于 2017-5-24 08:36:57 | 显示全部楼层 |阅读模式
  EBS OAF中如何在多行表中实现附件功能
  (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处;否则请与本人联系,违者必究)
  在OAF中使用附件功能之前,要先明白Entity(实体)的概念。一个Entity是Oracle E-BussinessSuite的一个数据对象,比如一个物料,一个订单或者一个订单行。(这里的实体和BC4J中Entity(实体)对象没有关系).在用户可以链接附件到实体之前,必须先启用实体的附件功能。在附件上下文中,一个实体可以认为是一个基础实体或者是相关实体。一个基础实体是一个区域的主要实体,一个相关实体通常是由外键关系关联到这个区域的实体。
  一个实体是由一组属性名组成(通过OAExtension区域items声明),这些属性是关联到这个区域的View Obect的主键.当保存一个附件的时候,这些主键的值和实体ID也会一块存储,那么附件就可以被唯一识别和提取。几个区域可以访问同一个实体,在你的整个应用中就可以提供一致的附件外观。
  OA Framework也支持多个实体关联到同一个区域item,这个和Oracle E-BussinessSuite 基于Forms的附件功能是相似的。
  比如,一个采购订单有一个订单头和多个订单行,在行级别上,你可以添加附属于实体PO_LINES的附件。注意你经常在PO行上输入物料号。当你在主物料form上创建物料的时候,你可以添加一个附件,比如一个存储在其它实体上的物料图片,比如MTL_SYSTEM_ITEMS。有了多实体支持,当你查看PO行上的附件的时候,你可以查到两个实体上的附件,就是PO_LINES和MTL_SYSTEM_ITEMS。
  为物料启用附件功能
  声明实现
  附件页是由OA Framework的标准组件生成的。启用附件是不需要编程的.你只需要简单定义你的区域的附件ITEM,和通过OA Extension 建立的item和实体的关系。确认依照 OA Framework 命名标准来定义你的OAExtension组件。
  步骤1:定义你的应用的VO和PG,并且做好基本的功能,这个这里就不再介绍,具体看OAF相关文档。我做好的界面如下
DSC0000.jpg

  所有需要额外加的控件如下图中的红框部分。
DSC0001.jpg

  步骤2:在Table中添加一个attachmentImage类型item,这样将在table中创建一个附件列。在附件列,选择附件图标将打开附件页,或者选择Add图标将打开增加附件页。
  步骤3:为刚才创建的附件区域item指定下面的属性
  l ID –附件区域item的唯一ID.
  l View Instance-启用了附件功能的实体的Viewinstance的名字
  l Rendered –设成true.
  l Enable Document Catalog-设成True来启用从document catalog添加附件功能,设成False以禁止访问document catalog,默认值是True。参考AttachmentsPage 和Adding Attachments 部分得到更多的细节。
  l Render SearchRegion–设置成True来为附件页/区域生成Search 区域.Search区域允许你查找特定一组附件。
DSC0002.jpg

  步骤3:默认地,对附件表或附件页做的修改都是自动保存到数据库的,不需要用户选择主页面的Apply,你可以通过设置”Automactic Save”属性为True为附件链接,附件表,附件图像item 启用”auto-commit”.
  如果设置了”auto-commit”,用户在附件表或附件页面的每个操作(“Add”, “Update”,”Detach”)都会自动保存到数据库。
  我们这里设置成true来简化处理。
DSC0003.jpg

  步骤4:在结果面板,选择在区域附件item下创建的默认entityMap,在OA Extension 属性面板上,输入一个唯一的ID标示,对于”Entity”属性,你可以输入一个唯一的任意值。如果你要和Form进行附件共享的话,这里就需要额外的设置,将在另一篇文章中介绍。
DSC0004.jpg

  在结构面板选择上面的Entity Map,在上下文中的New菜单下,选择primaryKeys为Entity Map创建一个命名的主键.在结构面板中选中命名的primaryKey,在OA Extension属性面板中为主键输入一个VO主键属性名,如果是多个属性构成主键,就要新建多个primaryKey.
DSC0005.jpg

  注意:多个区域可以共享一个实体;事实上,如果你想在不同的区域查看同一个附件,那么这些区域必须共享同一个实体。另外,这些不用区域的附件items必须拥有相同VO属性名并且引用的是同一个VO实例。
  步骤10:创建一个category map来指明哪种类型的文档可以关联附件。在结构面板,选择你刚才定义的Entity Map,然后从上下文菜单选择New>categoryMap来创建一个命名的Category Map.并指定相应的Category 属性,所有的Category可以通过Application Developers->Attachments->Document Categories得到所有Category的名称,但那只是显示名称,需要通过Help->Examine得到相应的名称,或者使用下面的SQL在后台得到相应的名称,可以也可以自己建立Category.
  SELECT name FROM FND_DOCUMENT_CATEGORIES_V1 WHERE user_name='Miscellaneous';
  比如,这里我只加了Miscellaneous这一个Category.
DSC0006.jpg

  运行时的情况如下
DSC0007.jpg

  选择用户2,点击Add图标来为其新增一个附件
DSC0008.jpg

  点击Apply,可以看到附件添加成功了
DSC0009.jpg

  点击查看,可以看到新加的附件信息
DSC00010.jpg

  点击Title对应的链接,我们可以查看或者下载附件的内容,我们这里因为是文件,所以是下载
DSC00011.jpg

  这样一个简单的附件功能就是实现了。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-380235-1-1.html 上篇帖子: EBS OAF开发中的Java 实体对象(Entity Object)验证功能补充 下篇帖子: EBS OAF开发中LOV特性之一预取LOV(Look Ahead LOV)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表