20150727 Created By BaoXinjian
一、摘要
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。
二、实现方式
1. 建立AttachmentImage控件
Table中添加一个attachmentImage类型item,这样将在table中创建一个附件列。在附件列,选择附件图标将打开附件页,或者选择Add图标将打开增加附件页。
为刚才创建的附件区域item指定下面的属性
(1). ID:附件区域item的唯一ID.
(2). View Instance:启用了附件功能的实体的Viewinstance的名字
(3). Rendered:设成true.
(4). Enable Document Catalog:设成True来启用从document catalog添加附件功能,设成False以禁止访问document catalog,默认值是True。
(5). Render SearchRegion:设置成True来为附件页/区域生成Search 区域。Search区域允许你查找特定一组附件。
默认地,对附件表或附件页做的修改都是自动保存到数据库的,不需要用户选择主页面的Apply,
你可以通过设置”Automactic Save”属性为True为附件链接,附件表,附件图像item启用”auto-commit”。
如果设置了”auto-commit”,用户在附件表或附件页面的每个操作(“Add”, “Update”,”Detach”)都会自动保存到数据库。
2. 建立EntityMap
结果面板,选择在区域附件item下创建的默认entityMap,在OA Extension 属性面板上,输入一个唯一的ID标示,对于”Entity”属性,你可以输入一个唯一的任意值。
3. 建立Primary Key
在结构面板选择上面的Entity Map,在上下文中的New菜单下,选择primaryKeys为Entity Map创建一个命名的主键。
在结构面板中选中命名的primaryKey,在OA Extension属性面板中为主键输入一个VO主键属性名,如果是多个属性构成主键,就要新建多个primaryKey。
4. 建立Category Map
建一个category map来指明哪种类型的文档可以关联附件。
在结构面板,选择你刚才定义的Entity Map,然后从上下文菜单选择New>categoryMap来创建一个命名的Category Map。
并指定相应的Category 属性,所有的Category可以通过Application Developers->Attachments->Document Categories得到所有Category的名称,
但那只是显示名称,需要通过Help->Examine得到相应的名称,或者使用下面的 SQL在后台得到相应的名称,可以也可以自己建立Category。
三、删除统计信息
1. 运行测试,附件添加和不添加的区别
2. 上传附件
3. 查看上传后附件的位置
4.1 查看数据库Category
4.2 查看数据库Datatypes
4.3 查看数据Document
Thanks and Regards
参考:Tavor - http://blog.csdn.net/tavor/article/details/17894935
技术交流,技术讨论,欢迎加入
Technology Blog Created By Oracle ERP - 鲍新建