一、准备工作
Excel修改如下设置:
菜单路径:工具-》宏-》安全性
二、开发步骤
WebADI方式开发主要步骤如下:
1)创建数据库对象
编写建表脚本:
create sequence cux.cux_webadi_test_s
minvalue 1
maxvalue 999999999999999999999999999
start with 1
increment by 1
cache 20;
CREATE or replace SYNONYM apps.cux_webadi_test_s FOR cux.cux_webadi_test_s;
drop table cux.cux_webadi_test CASCADE CONSTRAINTS;
create table cux.cux_webadi_test
(
TEST_ID NUMBER(15) not null,
TEST_CODE varchar2(30),
TEST_NAME varchar2(50),
org_code varchar2(30),
ATTRIBUTE1 VARCHAR2(150),
ATTRIBUTE2 VARCHAR2(150),
ATTRIBUTE3 VARCHAR2(150),
ATTRIBUTE4 VARCHAR2(150),
ATTRIBUTE5 VARCHAR2(150),
CONSTRAINT pk_cux_webadi_test PRIMARY KEY (TEST_ID)
);
CREATE or replace SYNONYM apps.cux_webadi_test FOR cux.cux_webadi_test;
编写视图:
create or replace view cux_webadi_test_v as
select cwl.TEST_ID,
cwl.TEST_CODE,
cwl.TEST_NAME,
cwl.ORG_CODE,
cwl.ATTRIBUTE1,
cwl.ATTRIBUTE2,
cwl.ATTRIBUTE3,
cwl.ATTRIBUTE4,
cwl.ATTRIBUTE5,
cfo.org_name
from cux_webadi_test cwl,cux_fnd_org_v cfo
where cwl.org_code=cfo.org_code;
编写包:cux_webadi_test_pkg.pck
create or replace package cux_webadi_test_pkg AS
----WebADI导入
PROCEDURE upload_data(
P_TEST_ID IN NUMBER,
P_TEST_CODE IN VARCHAR2,
P_TEST_NAME IN VARCHAR2,
P_ORG_CODE IN VARCHAR2,
P_ATTRIBUTE1 IN VARCHAR2,
P_ATTRIBUTE2 IN VARCHAR2,
P_ATTRIBUTE3 IN VARCHAR2,
P_ATTRIBUTE4 IN VARCHAR2,
P_ATTRIBUTE5 IN VARCHAR2
);
end cux_webadi_test_pkg;
/
create or replace package body cux_webadi_test_pkg AS
PROCEDURE upload_data(
P_TEST_ID IN NUMBER,
P_TEST_CODE IN VARCHAR2,
P_TEST_NAME IN VARCHAR2,
P_ORG_CODE IN VARCHAR2,
P_ATTRIBUTE1 IN VARCHAR2,
P_ATTRIBUTE2 IN VARCHAR2,
P_ATTRIBUTE3 IN VARCHAR2,
P_ATTRIBUTE4 IN VARCHAR2,
P_ATTRIBUTE5 IN VARCHAR2
) as
v_error_msg varchar2 (2500):='';
n_seq number:=null;
n_check number:=null;
n_err_count number:=0;
begin
if P_ORG_CODE is null then
v_error_msg:=v_error_msg||'机构代码不能为空;';
n_err_count:=n_err_count+1;
end if;
select count(*) into n_check
from cux_fnd_org_v sfo
where sfo.org_code=P_ORG_CODE;
if n_check=0 then
v_error_msg:=v_error_msg||'机构代码错误;';
n_err_count:=n_err_count+1;
end if;
if n_err_count>0 then
raise_application_error (-20001, v_error_msg);
return;
end if;
if trim(P_TEST_ID) is null then
INSERT INTO cux_webadi_test
(
TEST_ID,
TEST_CODE,
TEST_NAME,
ORG_CODE,
ATTRIBUTE1,
ATTRIBUTE2,
ATTRIBUTE3,
ATTRIBUTE4,
ATTRIBUTE5)
SELECT cux_webadi_test_s.nextval,
P_TEST_CODE,
P_TEST_NAME,
P_ORG_CODE,
P_ATTRIBUTE1,
P_ATTRIBUTE2,
P_ATTRIBUTE3,
P_ATTRIBUTE4,
P_ATTRIBUTE5
FROM dual;
else
update cux_webadi_test swl
set
TEST_CODE=P_TEST_CODE,
TEST_NAME=P_TEST_NAME,
ORG_CODE=P_ORG_CODE,
ATTRIBUTE1=P_ATTRIBUTE1,
ATTRIBUTE2=P_ATTRIBUTE2,
ATTRIBUTE3=P_ATTRIBUTE3,
ATTRIBUTE4=P_ATTRIBUTE4,
ATTRIBUTE5=P_ATTRIBUTE5
where TEST_ID=P_TEST_ID;
end if;
commit;
end upload_data;
end cux_webadi_test_pkg;
2)创建集成器
菜单路径:桌面集成-》创建文档
选择“HR集成器设置”,再依次选择如下项:
项目 | 值 |
查看程序 | Excel 2003 |
内容 | 无 |
点击“创建文档”。
增加如下记录:
项目 | 值 | 说明 |
元数据类型 应用产品简称 集成器用户名 视图名称 表单名 API 程序包名称 API 过程名 界面用户名 界面参数列表名称 API 类型 API 返回类型 | UPDATE CUX CUX_WEBADI_TEST cux_webadi_test_v GENERAL cux_webadi_test_pkg upload_data CUX INTERFACE HR_UPLOAD PROCEDURE |
集成器导入模板
2)定义映射
菜单路径:桌面集成-》定义映射
3)定义布局
菜单路径:桌面集成-》定义布局
布局名称:CUX_WEBADI_TEST_LAYOUT
4)设置标题
在PL*SQL中执行以下语句,修改标题栏:
select
interface_col_name,
--左标题
inc.prompt_left,
--头标题
inc.prompt_above
from bne_interface_cols_vl inc
WHERE
EXISTS (SELECT *
FROM bne_integrators_vl bni, bne_interfaces_vl inf
WHERE bni.application_id = inf.integrator_app_id
AND bni.integrator_code = inf.integrator_code
AND inf.application_id = inc.application_id
AND inf.interface_code = inc.interface_code
AND bni.user_name = 'CUX_WEBADI_TEST')
for update
5)定义功能
为了方便进入该功能,需要定义个功能项,并加入菜单项。
菜单路径:系统管理员-》应用产品-》功能
新增功能项值如下:
项目 | 值 |
功能 用户功能名 类型 HTML调用 | CUX_WEBADI_TEST CUX_WEBADI_TEST SSWA servlet 函数 BneApplicationService |
相关查询SQL语句:
select bif.* from bne_interfaces_b bif,bne_integrators_vl bit
where bit.USER_NAME in ('CUX_WEBADI_TEST')
and bif.integrator_app_id=bit.APPLICATION_ID
and bif.integrator_code=bit.INTEGRATOR_CODE;