Oracle EBS开发培训--WebADI开发

一、准备工作

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;

  • 30
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值