默认情况下“附件”按钮是灰显的,本文将展示如何让某个Form的附件按钮变亮,并能上传附件.

以用户Form为例,我们想让用户上传自己的照片

Pre-Setups

Help > Diagnostics > Custom Code > Personalize,记录下Function Name

并用Help > Diagnostics > Examine查看User Name字段和User ID字段对应的Field名称

我们将会在后边的步骤里使用USER_ID和USER_NAME

Setups

接下来就在Application Developer职责下,要配置Attachment

Step 1: Create document entity

Navigation: Application Developer > Responsibility > Attachments > Document Entities

(Entity:An entity is an object within Oracle Applications data, such as an item, an order, or anorder line. The attachments feature must be enabled for an entity before users can link attachments to the entity.)

Step 2: Create attachment function

Navigation: Application Developer > Responsibility > Attachment > Attachment Functions

选择Function,Name就是我们在文章刚开始时,查得的Function Name。再点Category,选择附件类型

Block,Entity为Block的名称

Entities

Step 3: Add document category

Navigation:Application Developer > Responsibility > Attachment > Document Categories

(Category:A document category is a label that users apply to individual attachments and documents. Document categories provide security by restricting the documents that can be viewed or added via a specific form or form function.
In the below example i am trying to enable the attachment funcionality for the USer form..I want to upload the approval copy for creating a user or attaching new responsibility)

Save the form. Click on Assignments button.
The default Type is Function. Add the name of the function, i.e. Users (This is the User Name of the function defined in Attachment Functions form).

这样附件的设置就算完成了。可以到用户form上,可以看到附件的按钮就变亮了。

点附件按钮,就可以上传附件了

上传之后

Query To Check

=================================================

Attachment Related Tables

1. FND_DOCUMENTS

2. FND_ATTACHED_DOCUMENTS

3. FND_DOCUMENTS_TL

4. FND_DOCUMENT_DATATYPES.

5. FND_DOCUMENT_CATEGORIES

6. FND_DOCUMENTS_LONG_TEXT (Long text type attachment).

7. FND_DOCUMENTS_SHORT_TEXT (Short text type attachment).

8. FND_DOCUMENTS_LONG_RAW

9. FND_LOBS (File type attachments).

FND_DOCUMENTS:

FND_DOCUMENTS stores language-independent information about a document. For example, each row contains a document identifier, a category identifier, the method of security used for the document (SECURITY_TYPE, where 1=Organization,2=Set of Books, 3=Business unit,4=None), the period in which the document is active, and a flag to indicate whether or not the document can be shared outside of the security type (PUBLISH_FLAG).

Other specifications in this table include: datatype (DATATYPE_ID, where 1=short text,2=long text, 3=image, 4=OLE object), image type, and storage type (STORAGE_TYPE, where 1=stored in the database, 2=stored in the file system).

The document can be referenced by many application entities and changed only in the define document form (USAGE_TYPE=S); it can be used as a fill-in-the-blanks document, where each time you use a template, you make a copy of it (USAGE_TYPE=T); or it can be used only one time (USAGE_TYPE=O).Images and OLE Objects cannot be used as templates.

FND_ATTACHED_DOCUMENTS:

FND_ATTACHED_DOCUMENTS stores information relating a document to an application entity.  For example, a record may link a document to a sales order or an item. Each row contains foreign keys to FND_DOCUMENTS and FND_DOCUMENT_ENTITIES. There is also a flag to indicate whether or not an attachment was created automatically.

FND_DOCUMENTS_TL:

FND_DOCUMENTS_TL stores translated information about the documents in FND_DOCUMENTS. Each row includes the document identifier, the language the row is translated to, the description of the document, the file in which the image is stored, and an identifier (MEDIA_ID) of the sub-table in which the document is saved (FND_DOCUMENTS_SHORT_TEXT, FND_DOCUMENTS_LONG_TEXT, or FND_DOCUMENTS_LONG_RAW).

FND_DOCUMENT_DATATYPES:

FND_DOCUMENT_DATATYPES stores the document datatypes that are supported. Initial values are: short text, long text, image, and OLE Object (DATATYPE_ID=1, 2, 3, or 4). Customers can add datatypes to handle documents stored outside of Oracle and use non-native Forms applications to view/edit their documents. The table uses a “duplicate record” model for handling multi-lingual needs. That is, for each category there will be one record with the same CATEGORY_ID and CATEGORY_NAME for each language.

FND_DOCUMENT_CATEGORIES:

FND_DOCUMENT_CATEGORIES stores information about the categories in which documents are classified. For example, documents may be considered “Bill of Material Comments”, “WIP Job Comments”, etc. Document categories are used to provide a measure of security on documents. Each form that enables the attachment feature lists which categories of documents can be viewed in the form. This table uses a “duplicate record” model for handling multi-lingual needs.

FND_DOCUMENTS_LONG_TEXT:

FND_DOCUMENTS_LONG_TEXT stores information about long text documents.

FND_DOCUMENTS_SHORT_TEXT:

FND_DOCUMENTS_SHORT_TEXT stores information about short text documents.

FND_DOCUMENTS_LONG_RAW:

FND_DOCUMENTS_LONG_RAW stores images and OLE Objects, such as Word Documents and Excel spreadsheets, in the database.

FND_DOCUMENT_ENTITIES:

FND_DOCUMENT_ENTITIES lists each entity to which attachments can be linked. For example, attachments can be linked to Items, Sales Orders, etc. Since the table uses a “duplicate record” model for handling multi-lingual needs, for each document entity there will be one record with the same DOCUMENT_ENTITY_ID and DATA_OBJECT_CODE for each language.

Useful Queries

To find all Long Text attachments:

SELECTFAD.SEQ_NUM "Seq Number",FDAT.USER_NAME "Data Type",FDCT.USER_NAME "Category User Name",FAD.ATTACHED_DOCUMENT_ID "Attached Document Id",FDET.USER_ENTITY_NAME "User Entity",FD.DOCUMENT_ID "Document Id",FAD.ENTITY_NAME "Entity Name",FD.MEDIA_ID "Media Id",FD.URL "Url",FDT.TITLE "Title",FDLT.LONG_TEXT "Attachment Text"
FROMFND_DOCUMENT_DATATYPES FDAT,FND_DOCUMENT_ENTITIES_TL FDET,FND_DOCUMENTS_TL FDT,FND_DOCUMENTS FD,FND_DOCUMENT_CATEGORIES_TL FDCT,FND_ATTACHED_DOCUMENTS   FAD,FND_DOCUMENTS_LONG_TEXT FDLT
WHEREFD.DOCUMENT_ID          = FAD.DOCUMENT_IDAND FDT.DOCUMENT_ID     = FD.DOCUMENT_IDAND FDCT.CATEGORY_ID    = FD.CATEGORY_IDAND FD.DATATYPE_ID      = FDAT.DATATYPE_IDAND FAD.ENTITY_NAME     = FDET.DATA_OBJECT_CODEAND FDLT.MEDIA_ID       = FD.MEDIA_IDAND FDAT.NAME           = 'LONG_TEXT';

To find all Short Text attachments:

SELECTFAD.SEQ_NUM "Seq Number",FDAT.USER_NAME "Data Type",FDCT.USER_NAME "Category User Name",FAD.ATTACHED_DOCUMENT_ID "Attached Document Id",FDET.USER_ENTITY_NAME "User Entity",FD.DOCUMENT_ID "Document Id",FAD.ENTITY_NAME "Entity Name",FD.MEDIA_ID "Media Id",FD.URL "Url",FDT.TITLE "Title",FDST.SHORT_TEXT "Attachment Text"
FROMFND_DOCUMENT_DATATYPES FDAT,FND_DOCUMENT_ENTITIES_TL FDET,FND_DOCUMENTS_TL FDT,FND_DOCUMENTS FD,FND_DOCUMENT_CATEGORIES_TL FDCT,FND_ATTACHED_DOCUMENTS   FAD,FND_DOCUMENTS_SHORT_TEXT FDST
WHEREFD.DOCUMENT_ID          = FAD.DOCUMENT_IDAND FDT.DOCUMENT_ID     = FD.DOCUMENT_IDAND FDCT.CATEGORY_ID    = FD.CATEGORY_IDAND FD.DATATYPE_ID      = FDAT.DATATYPE_IDAND FAD.ENTITY_NAME     = FDET.DATA_OBJECT_CODEAND FDST.MEDIA_ID       = FD.MEDIA_IDAND FDAT.NAME           = 'SHORT_TEXT';

WEBPAGE ATTACHMENT

SELECT DISTINCTAD.SEQ_NUM                  ,DCT.USER_NAME               , DAT.USER_NAME               ,D.STORAGE_TYPE              ,D.FILE_NAME                 ,D.IMAGE_TYPE                ,D.USAGE_TYPE                ,AD.AUTOMATICALLY_ADDED_FLAG ,AD.ATTACHED_DOCUMENT_ID     ,DET.USER_ENTITY_NAME        ,D.DATATYPE_ID               ,DAT.NAME                    ,D.DOCUMENT_ID               , D.START_DATE_ACTIVE         ,D.END_DATE_ACTIVE           ,D.SECURITY_TYPE             ,D.SECURITY_ID               ,D.PUBLISH_FLAG              ,AD.CREATED_BY               ,DET.USER_ENTITY_PROMPT      ,AD.ENTITY_NAME              ,AD.COLUMN1                  ,AD.PK1_VALUE                , D.MEDIA_ID                  ,D.CATEGORY_ID               ,D.URL                       ,DT.TITLE
FROM FND_DOCUMENT_DATATYPES DAT,FND_DOCUMENT_ENTITIES_TL DET    ,FND_DOCUMENTS_TL DT             ,FND_DOCUMENTS D                 ,FND_DOCUMENT_CATEGORIES_TL DCT  , FND_ATTACHED_DOCUMENTS AD
WHERE D.DOCUMENT_ID        = AD.DOCUMENT_ID
AND DT.DOCUMENT_ID         = D.DOCUMENT_ID
AND DCT.CATEGORY_ID        = D.CATEGORY_ID
AND D.DATATYPE_ID          = DAT.DATATYPE_ID
AND AD.ENTITY_NAME         = DET.DATA_OBJECT_CODE
AND DAT.name               = 'WEB_PAGE';

FILE ATTACHMENT

SELECTAD.SEQ_NUM                  ,DCT.USER_NAME               , DAT.USER_NAME               , AD.ATTACHED_DOCUMENT_ID     ,DET.USER_ENTITY_NAME        , DAT.NAME                    ,D.DOCUMENT_ID               , AD.ENTITY_NAME              , AD.PK1_VALUE                , D.MEDIA_ID                  , D.URL                       ,DT.TITLE                    ,DBMS_LOB.SUBSTR(L.file_data,1,10) file_data
FROM FND_DOCUMENT_DATATYPES DAT,FND_DOCUMENT_ENTITIES_TL DET    ,FND_DOCUMENTS_TL DT             ,FND_DOCUMENTS D                 ,FND_DOCUMENT_CATEGORIES_TL DCT  , FND_ATTACHED_DOCUMENTS AD       ,FND_LOBS  L
WHERE D.DOCUMENT_ID          = AD.DOCUMENT_ID
AND DT.DOCUMENT_ID           = D.DOCUMENT_ID
AND DCT.CATEGORY_ID          = D.CATEGORY_ID
AND D.DATATYPE_ID            = DAT.DATATYPE_ID
AND AD.ENTITY_NAME           = DET.DATA_OBJECT_CODE
AND L.FILE_ID                = D.MEDIA_ID
AND DAT.name                 = 'FILE';

Find the functions using attachments

SELECTAD.SEQ_NUM                  ,DCT.USER_NAME               , DAT.USER_NAME               , AD.ATTACHED_DOCUMENT_ID     ,DET.USER_ENTITY_NAME        , DAT.NAME                    ,D.DOCUMENT_ID               , AD.ENTITY_NAME              , AD.PK1_VALUE                , D.MEDIA_ID                  , D.URL                       ,DT.TITLE                    ,AF.FUNCTION_NAME            ,AF.FUNCTION_TYPE
FROM FND_DOCUMENT_DATATYPES DAT,FND_DOCUMENT_ENTITIES_TL DET    ,FND_DOCUMENTS_TL DT             ,FND_DOCUMENTS D                 ,FND_DOCUMENT_CATEGORIES_TL DCT  ,FND_DOC_CATEGORY_USAGES DCU     ,FND_ATTACHMENT_FUNCTIONS AF     ,FND_ATTACHED_DOCUMENTS AD
WHERE 1 = 1
AND D.DOCUMENT_ID              = AD.DOCUMENT_ID
AND DT.DOCUMENT_ID             = D.DOCUMENT_ID
AND DCT.CATEGORY_ID            = D.CATEGORY_ID
AND DCU.CATEGORY_ID            = D.CATEGORY_ID
AND DCU.ATTACHMENT_FUNCTION_ID = AF.ATTACHMENT_FUNCTION_ID
AND D.DATATYPE_ID              = DAT.DATATYPE_ID
AND AD.ENTITY_NAME             = DET.DATA_OBJECT_CODE
AND DCU.ENABLED_FLAG           = 'Y';

Reference

http://imdjkoch.wordpress.com/2010/09/02/attachment-in-oracle-application/

http://erpschools.com/articles/oracle-attachment-functionality-adding-an-attachment-to-a-form

http://oraclemaniac.com/2012/04/23/enable-attachment-button-for-an-oracle-apps-form/

http://www.centroid.com/knowledgebase/blog/how-to-enable-attachments-in-oracle-e-business-suite-release-12

http://oracleappstechnicalworld.blogspot.jp/2008/04/attachment-functionality-in-oracle.html

http://www.shareoracleapps.com/2010/06/fnd-attachments-in-oracle-apps-r12.html

Attachments in Oracle Form相关推荐

  1. Oracle Form Builder

    Oracle Form Builder 是Oracle的一个开发工具,可以针对Oracle公司的E-Business Suit的ERP系统开发的.对应的还有reports builder. Oracl ...

  2. Oracle EBS使用CSV导入Oracle Form及BOM清单导入 API

    Oracle EBS物料BOM清单维护是用户最头疼的事情,特别对一些电子产品行业的产品种类多,更新周期短和BO层级多等等特点,用户提出想在PADS软件或AD软件或PLM系统的BOM清单导出Excel, ...

  3. Oracle Form 之 Compute Data

    操作数据无非删除.更新.插入的动作,在Oracle Form依靠下面触发器完成这些操作. Form Trigger Key-commit        保存按钮触发/Ctrl+S 键盘触发/代码触发 ...

  4. oracle的form开发,Oracle Form开发之调用Form

    Form开发中经常会用到Form间相互调用的功能,总结了以下,大概有以下3种方法: 方法1 PROCEDURE shot_plan_new IS fm_id FormModule; BEGIN fm_ ...

  5. Oracle Form二次开发实战总结

    操作数据无非删除.更新.插入的动作,在Oracle Form依靠下面触发器完成这些操作. Form  Trigger Key-commit    保存按钮触发/Ctrl+S 键盘触发/代码触发 Blo ...

  6. Oracle Form二次开发实战总结 调用Form

    http://blog.163.com/hcyhan@126/blog/static/50315227200831491559855/ Form开发中经常会用到Form间相互调用的功能,总结了以下,大 ...

  7. oracle form on query,OracleForm实战总结.doc

    Lab 1: 创建客户化应用$ cd $APPL_TOP 在目录$APPL_TOP下建立目录satyam,其结构如图(注意大小写的区分) 图1.1 Step 2: 修改Environment File ...

  8. oracle form 6i菜单模块,利用DDE技术实现ORACLE FORMS 6i 中打开文件(如:EXCEL、WORD、图片、网页)的功能...

    一.产生前因: 在ITPUB论坛中有人提出:如何在FORMS 中实现超链接,如何在FORMS中直接打开文本文档及图片等类似问题. 二.参考资料: 1.从FORM中导出数据到EXCEL例子(Export ...

  9. Oracle form培训资料,新Oracle Form开发标准培训文档(完整版本)

    由于Oracle 提供的标准Developer2000开发培训教材比较大,上次发的时候也乱了,现我把所有的一整套从新压缩,按照顺序发布,如果大家发现有附件链接出错及时通知,谢谢! 下面是原文件和压缩文 ...

  10. oracle form 头行合计,FORM主从块头行金额汇总

    "实现主从关系Form中汇总行金额/数量",这句话在百度一搜,你就会看到N多篇文章专门讲这个东西,出处基本都是张老大提供的技术文档 想当初俺也意识到这是个不错的东西收藏了一下,这不 ...

最新文章

  1. C之 #pragma(二十二)
  2. (chap1 网络基础知识)OSI参考模型举例
  3. 第十二届蓝桥杯省赛第二场C++B组真题 【未完结】
  4. python学习笔记(十三)标准库heapq
  5. Linux下 安装Redis并配置服务
  6. html中的分页条怎么写,如何写分页(含HTML)
  7. Java Media Framework 基础教程
  8. 【FFmpeg学习】H264 视频编码格式详细总结
  9. Windows PowerShell命令大全
  10. 怎么修改u盘的图标 如何修改移动硬盘图标
  11. 【RL】算法简介与实现
  12. 联想android刷机教程,超详细的联想刷机教程~带你嘻刷刷
  13. UE5中创建VR项目并在瞬移的基础上增加圆盘位移操作
  14. 正睿集训模拟赛 Day1
  15. matlab p文件转码 matlab pcode文件 将matlab中的p文件转为m文件工具
  16. 最简单ListView显示联系人姓名和电话号码
  17. 关于时区的环境变量TZ
  18. 教你如何零基础学习视频剪辑,干货满满
  19. 打造绿色数据中心,Colt DCS 是认真的!
  20. 信号频率(Frequency),幅值(Amplitude),周期(Period),相位(Phase)所代表的含义与关系

热门文章

  1. eeglab基础学习
  2. 如何成为快速计算机高手,超级实用的4个电脑小技巧,1分钟教会你成为电脑高手...
  3. 小程序练习 - rawData和userInfo
  4. Altium Designer,打开PCB文件,提示:File type not recognised
  5. python基础学习之python操作PDF文件、发送邮件添加附件10
  6. win10多合一原版系统_【教程】制作Windows 10 多合一原版系统
  7. 使用webgl(three.js)搭建一个3D智慧园区、3D建筑,3D消防模拟,web版3D,bim管理系统——第四课(炫酷版一)
  8. python自动化办公手册之python操作PPT
  9. Vue登录页面源代码分享
  10. 我珍藏很久的网盘资源搜索网站和下载神器