Web ADI 全称 web application desktop integrator,是用来实现Excel与ebs数据通信的,可以进行各种个性化开发,实现数据的导入。
开发时,需拥有web adi的相应职责。
在EBS 11.5.10.2环境中,WEBADI的职责名:Oracle Web ADI。
在EBS R12.0.4环境中,WEBADI的职责名:Desktop Integration。
使用web ADI的客户端需安装Excel且安装了VBA组件。因为excel与ebs的通信其实是由VBA程序实现的。但是开发时不需要掌握VBA编程,VBA程序由EBS系统自动生成。VBA使用xmlhttp与web服务器(apache)通信,而不是使用jdbc、odbc之类的与数据库(oracle)通信,绕开了这些,所以,不需要在客户端安装这些数据库驱动。
l 开发流程
1, 确定已经获取了Oracle Web ADI 或者Desktop Integration职责,如果没有,需要添加职责。
2, 确定已经获取到HR ADI Seeded Integrator Form Functions子功能,如果没有,需要添加。
3, Web adi 有两个配置文件可以设置相关的安全性
Profile Name | 说明 |
BNE Allow No Security Rule (BNE 允许无安全性规则) | 允许不设Security Rule 访问Integrator 。 N: 那么Integrator必须创建Security Rule , 否则报You do not have permission to accessThis functionality。 Y:那么没有创建Security Rule可以访问;有Security Rule的则需要通过安全规则验证才行。 Once a security rule is defined the profile option BNE Allow No Security Rule is ignored |
ADI: Use Function Security (ADI:使用功能安全性) | 是否启用功能安全性。 是,菜单中需要包含相应功能 |
4, 如果是导入数据到个性化开发的表中的话,需要先建表和视图,以及相应的pkg用来insert、update、delete表数据。如果是ebs的接口表或者其他表中导入数据,则略过create table,但是需要建立相关的视图和pkg。
如果此web adi开发只用来导入数据的话,可以不用创建视图,视图是用来做修改和删除时候,先从数据库查得数据用的。
5, 创建integrator
点击创建文档进入,在下拉列表中选择HR 集成设置
下一步选择查看工具
下一步
如果选择文本文件可以从.csv之类的文件导入已经写好的设置信息,如果没有此类文件选择无。
最后 创建文档。
加载 | 元数据类型 | 应用产品简称 | 集成器用户名 | 视图名称 | 表单名 | API程序包名称 | API过程名 | 界面用户名 | 界面参数列表名称 | API类型 | API返回类型 |
参数填写说明
元数据类型 Create仅新增、Download仅查询、Update查询并修改 。仅导入时选择Create即可。
应用产品简称CUX
集成器用户名 就是ADI中显示出来的Integrator名称。
视图名称 用APPS下的视图名! 如果仅仅是导入数据,不需要创建视图
表单名GENERAL
API 程序包名称ADI所要调用的程序包名
API 过程名ADI调用的功能程序包的过程名
界面参数列表名称ADI Interface
API 类型过程或函数
API 返回类型 如果是函数,必须填写返回类型。
6, 创建Function
Type选子函数
如果ADI: Use Function Security(ADI:使用功能安全性)选择的是‘是’则需要把这个功能加到web adi菜单中去。
7, 建立Integrator与Function关联
点击创建文档 选择
应用产品简称:即应用开发的简称
集成器用户名:即前面创建的集成器名称。
完成后创建文档
在表单功能名中填写刚刚创建的功能名,加载即可。
PS.这时候可能在加载项中找不到oracle菜单了,是因为之前打开的那个excel没有关闭。在做web adi时不可以同时打开多个web adi的excel文件。
8, 定义布局
字段名是程序包中的参数和视图字段的并集
排列方式可选题头 行 上下文三种。如果有默认值的话必须选择默认类型。默认值可以选择
几种。
默认类型 | 一些字段会有默认的预定义 |
常数 | 当在电子表格的默认值区域输入内容时会被默认为默认值 |
环境 | 当设置为一个区域的默认值时,用来关联一个环境变量,可用的值如下: l Sysdate :系统时间 l Database:当前数据库名称 l Oauser.id:当前Oracle应用的用户ID
被证明不好用 |
参数 | 当你使用创建文档时,用来引用一个系统管理员在FORM功能中存储的参数这个参数可以被每个集成器所引用 |
SQL | 用来运行一个SQL语句来决定区域的默认值。Web ADI运行SQL语句并自动的将结果填充到区域中如果多个值被查询到,它将返回第一个值。你可以在SQL语句中使用以下的标记 l $profiles$.profilename:当输入预置文件名称时,返回当前用户的值 l $env$.userid:返回当前用户的ID l $env$.appid:返回当前引用的ID l $env$.respid:返回当前职责的ID l $env$.language:返回当前Session的语言 |
公式 | 你可以输入Excel可兼容的公式作为默认值。按照以下Excel公式的语法并用方括号包含名称。 例如:[credit]+[debit] |
参数中有默认值的字段和视图中的字段可以选择不显示或者显示,参数中没有默认值的字段必须显示。
在下一步中设置样式表、是否保护,以及各个字段的位置、是否只读、宽度等。
9, 定义映射
定义映射主要是为视图中的字段定义显示用的,如果元数据类型选择的是create,这里可以不用设置。
10, 修改字段显示为中文
生成的web adi excel中的字段名是和参数相同的英文,需修改表来改成中文;
在plsql中,若是在中文环境中做的web adi 需要先
ALTER SESSION SET NLS_LANGUAGE= 'SIMPLIFIED CHINESE';
然后查select * from bne_integrators_vl t 找到定义好的adi
11, 保存至表单功能
在创建文档的最后一步,点击保存。则出现以下页面
输入快捷方式名称,即要定义的功能简称。并勾选保存至表单功能。点击应用即可。
然后在菜单中添加刚刚的快捷方式名称。
12, 移植web adi
最笨的办法当然是在新环境重新配置一遍,但是也可以用fndload来做。
FNDLOAD apps/apps 0 Y DOWNLOAD $BNE_TOP/patch/115/import/bneintegrator.lct bneintegrators4.ldt BNE_INTEGRATORS INTEGRATOR_ASN=CUX INTEGRATOR_CODE=GENERAL_23_INTG
FNDLOAD apps/apps 0 Y UPLOAD $BNE_TOP/patch/115/import/bneintegrator.lct bneintegrators4.ldt
红色部分自己定义
The end!
本人做过lwap的excel导入,感觉web adi导入不及lwap的excel导入使用
转自:http://www.zhixing123.cn/jsp/36102.html