EBS 中的FORM界面有时需要使用附件的功能,而EBS本身也提供了FORM界面上传附件的功能,不需要二次开发,通过简单的配置即可实现FORM界面的附件上传的功能。
本文档的目的就是通过一个简单的示例,演示如何通过简单的配置,现实某个FORM功能界面的上传附件功能。
本文档以“退料申请”FORM界面为例进行演示,其他功能与此类似。
在FORM附件功能的配置过程中需要一下信息:
a.需要添加附件功能的FORM界面对应后台数据表
b.需要添加附件功能的FORM界面对应的功能或者FORM表单
c.需要添加附件功能的FORM界面的数据块及字段信息(前台帮助检查就可以看到)
此处的信息是后边配置附件功能需要的,因此做个简要的说明。
获取后台数据表
主要就是为了获取FORM功能界面对应的后台数据表
可以通过 帮助—》诊断—》属性—》项目
对象属性为“块”
对象1:选择需要作为附件实体的数据块即可
特性:选择“DML dataTarget Name”即可
值:显示对应的数据块引用的表或者视图
获取功能或者表单
功能或者表单是后边配置附件需要使用的,可以通过前台的菜单来查找对应的菜单引用的功能,然后再通过功能去查找对应的FORM程序(一般配置附件的时候指定功能就可以了)。
说明:本文最后会描述如果通过SQL来获取功能的方法。
获取数据块字段
获取某个数据块的字段信息(一般主要是主键,也可以是其他字段信息,主要用于附件配置的关键字字段之用)。
可以在FORM界面,通过帮助—》诊断—》检查 来获取对应的数据块及字段信息:
在FORM附件功能的配置过程中需要一下信息:
本文档中使用的相关配置信息如下所示:
类别 | 值 |
后台表 | CUX_RETURN_HEADS |
功能 | CUX_退料申请 |
数据块字段(此处使用的是头信息的主键) | CUX_RETURN_HEADS_V.HEADID |
功能对应的应用系统 | CUX |
本文档中需要添加的FORM界面如下所示:
可以看到图中的附件功能是无法使用的,配置完成之后便可以在该界面使用附件功能了。
EBS系统的附件配置主要是在“应用开发员”的职责下,主要包括以下三个方面的配置:
文档实体、单据类别、附件功能
因此在配置附件功能的时候需要使用具有“应用开发员”职责的用户登陆系统进行配置。
配置文档实体
通过菜单进入“文档实体”功能界面,根据之前获取的数据,录入相关数据即可:
其中,实体名称和提示可以根据需要自定义,属于描述性信息;应用需要与添加附件的功能属于一个应用,本例中的具体信息如下:
类别 | 值 |
表 | CUX_RETURN_HEADS |
实体标识 | CUX_RETURN_HEADS |
实体名称 | 退料申请附件实体 |
提示 | 退料申请附件实体 |
应用 | CUX |
然后保存即可,至此就完成了文档实体的配置。
配置单据类比
通过菜单进入“单据类别”功能界面:
输入类别信息:
类别:CUX_退料申请附件 (自定义描述即可)
默认数据类型:文件(有其他选项,根据需要选择)
说明:此处可以不用点击分配按钮,配置附件功能的时候也会给功能分配类别,因此此处不需要再分配了。
配置附件功能
通过菜单进入“附件功能”界面:
a. 输入之前获取的功能信息:
b. 点击“类别”按钮,在弹出的界面选择之前配置的类别信息,然后保存,关闭类别选择界面:
c. 再点击“块”按钮,在弹出的界面选择之前配置的类别信息,然后保存,关闭类别选择界面:
输入之前获得的块名“CUX_RETURN_HEADS_V”,然后点击“实体”按钮,
在弹出的界面中的实体配置中选择之前配置的实体信息:
其中“权限”中的,查询、插入、更新、删除等等,可以根据需要进行修改。然后切换到“主关键字字段”页签:
在“关键字1”中输入之前的关键字字段信息,然后保存即可。
到此基本完成了“CUX_退料申请”FORM功能的附件的配置操作,可以去FORM界面确定配置是否生效。
通过以上配置,我们再重新进入之前的“CUX_退料申请”界面,查看上传附件功能是否生效:
可以看到之前不能点击的附件按钮已经可以点击了,点击之后变回弹出附件上传的界面:
说明:由于之前定义附件关键字的时候引用的是退料申请的主键信息,因此新建退料的时候需要先保存,生成主键之后便可以上传附件了。
根据前台菜单查找功能SQL:
--查询菜单对应的功能及FORM
select m.MENU_NAME 菜单,
m.DESCRIPTION 菜单名称,
t.PROMPT 提示,
n.FUNCTION_NAME 功能名,
n.USER_FUNCTION_NAME 用户功能名,
fm.FORM_NAME 表单名,
fm.USER_FORM_NAME 用户表单名,
(select mn.APPLICATION_NAME
from fnd_application_vl mn
where mn.APPLICATION_ID = n.APPLICATION_ID) 功能所属应用,
t.*
from fnd_menu_entries_vl t,
fnd_menus_vl m,
fnd_form_functions_vl n,
fnd_form_vl fm
where t.PROMPT like '%CUX退料申请%'
and m.MENU_ID = t.MENU_ID
and n.FUNCTION_ID = t.FUNCTION_ID
and n.FORM_ID = fm.FORM_ID
order by t.CREATION_DATE asc;