OAF_文件系列3_实现OAF多行表中附件功能AttachmentImage(案例)

20150727 Created By BaoXinjian

OAF_文件系列3_实现OAF多行表中附件功能AttachmentImage(案例)


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。

OAF_文件系列3_实现OAF多行表中附件功能AttachmentImage(案例)


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区域允许你查找特定一组附件。

OAF_文件系列3_实现OAF多行表中附件功能AttachmentImage(案例)

默认地,对附件表或附件页做的修改都是自动保存到数据库的,不需要用户选择主页面的Apply,

你可以通过设置”Automactic Save”属性为True为附件链接,附件表,附件图像item启用”auto-commit”。

如果设置了”auto-commit”,用户在附件表或附件页面的每个操作(“Add”, “Update”,”Detach”)都会自动保存到数据库。

2. 建立EntityMap

结果面板,选择在区域附件item下创建的默认entityMap,在OA Extension 属性面板上,输入一个唯一的ID标示,对于”Entity”属性,你可以输入一个唯一的任意值。

OAF_文件系列3_实现OAF多行表中附件功能AttachmentImage(案例)

3. 建立Primary Key

在结构面板选择上面的Entity Map,在上下文中的New菜单下,选择primaryKeys为Entity Map创建一个命名的主键。

在结构面板中选中命名的primaryKey,在OA Extension属性面板中为主键输入一个VO主键属性名,如果是多个属性构成主键,就要新建多个primaryKey。

OAF_文件系列3_实现OAF多行表中附件功能AttachmentImage(案例)

4. 建立Category Map

建一个category map来指明哪种类型的文档可以关联附件。

在结构面板,选择你刚才定义的Entity Map,然后从上下文菜单选择New>categoryMap来创建一个命名的Category Map。

并指定相应的Category 属性,所有的Category可以通过Application Developers->Attachments->Document Categories得到所有Category的名称,

但那只是显示名称,需要通过Help->Examine得到相应的名称,或者使用下面的 SQL在后台得到相应的名称,可以也可以自己建立Category。

OAF_文件系列3_实现OAF多行表中附件功能AttachmentImage(案例)

OAF_文件系列3_实现OAF多行表中附件功能AttachmentImage(案例)


1. 运行测试,附件添加和不添加的区别

OAF_文件系列3_实现OAF多行表中附件功能AttachmentImage(案例)

2. 上传附件

OAF_文件系列3_实现OAF多行表中附件功能AttachmentImage(案例)

3. 查看上传后附件的位置

OAF_文件系列3_实现OAF多行表中附件功能AttachmentImage(案例)

4.1 查看数据库Category

OAF_文件系列3_实现OAF多行表中附件功能AttachmentImage(案例)

4.2 查看数据库Datatypes

OAF_文件系列3_实现OAF多行表中附件功能AttachmentImage(案例)

4.3 查看数据Document

OAF_文件系列3_实现OAF多行表中附件功能AttachmentImage(案例)

Thanks and Regards

参考:Tavor - http://blog.csdn.net/tavor/article/details/17894935

OAF_文件系列3_实现OAF多行表中附件功能AttachmentImage(案例)

上一篇:Andrew Ng在coursera上的ML视频 知识点笔记(2)


下一篇:吐槽net下没有靠谱的FastDFS的sdk之使用thrift实现JAVA和C#互通