Oracle_Web_ADI_R12_基础开发

Oracle E-B USINESS S UITE R12 WebADI基础开发

Author: 曹正炎Zhenygan.Cao

Creation Date: November 8, 2012

Last Updated: November 19, 2012

Document Ref:

Version: DRAFT 1A

Approvals:

Copy Number _____

Document Control

Change Record

Reviewers

Distribution

Note To Holders:

If you receive an electronic copy of this document and print it out, please write your

name on the equivalent of the cover page, for document control purposes.

If you receive a hard copy of this document, please write your name on the front cover,

for document control purposes.

Contents

Document Control ................................................................................................................................. i i Preface. (1)

1.Web ADI 基础 (2)

1.1.职责、菜单 (2)

1.2.Profile (3)

1.3.WebADI 开发权限 (3)

2.客户化开发(基础) (5)

2.1.功能概要 (5)

2.2.创建数据库对象(Required) (5)

2.3.创建集成器(Required) (6)

2.4.维护集成器表单功能关联(Required) (9)

2.5.定义布局(Required) (12)

2.6.定义映射(Optional) (14)

2.7.定义查询条件(Optional) (15)

2.8.使用 (18)

3.Open and Closed Issues for this Deliverable (22)

Open Issues (22)

Closed Issues (22)

Preface

WEB ADI全称是WEB Application Development Integrator,原来是Oracle HRMS模块提供的一个利用浏览器来进行存取的,在服务器段运行的self-service应用程序。后来经过不断地发展,也可以用于其他模块的数据导入。现在,我们也可能通过客制化开发ADI,来实现EXCEL与EBS模块通信。

本文主要是基于EBS12.1.3。

本文参考文档:Oracle E-Business Suite 实例详解之Web ADI(汉得黄建华)

Oracle_Web_ADI_开发笔记(抽丝拨茧篇)(王重东)

1.Web ADI 基础

1.1.职责、菜单

应用:Web 应用产品桌面集成器(Web Applications Desktop Integrator)

职责:桌面集成(Desktop Integration)< 11i 版本为:Oracle Web ADI >

职责:桌面集成管理器(Desktop Integration Manager)

桌面集成菜单

桌面集成管理器菜单

Desktop Integration Menu

Desktop Integration Manager Menu

1.3.WebADI 开发权限

开发WebADI要用到” HR ADI Seeded Integrator Form Functions(HR ADI 植入的生成器

表单功能)”

2.客户化开发(基础)

2.1.功能概要

本例仅涉及一张数据表的Web ADI开发,实现excel数据的导入EBS(可update数据)。

ADI_ORGANIZATION_ID字段是为下一章客户化开发(进阶)预留。

2.2.创建数据库对象(Required)

创建数据库对象并注册

在APPS下执行:

-- Create table

create table CUX.CUX_WEBADI_DEMO

(

ADI_ID NUMBER,

ADI_ORGANIZATION_ID NUMBER,

ADI_CODE VARCHAR2(30),

ADI_DATE DATE

);

-- Create synonym

CREATE PUBLIC SYNONYM CUX_WEBADI_DEMO FOR CUX.CUX_WEBADI_DEMO;

--Create sequence

CREATE SEQUENCE CUX.CUX_WEBADI_DEMO_S;

CREATE PUBLIC SYNONYM CUX_WEBADI_DEMO_S FOR CUX.CUX_WEBADI_DEMO_S;

-- Insert demo data

INSERT INTO CUX_WEBADI_DEMO VALUES(1,83,'TEST01',SYSDATE);

COMMIT;

-- Register table and columns

BEGIN

ad_dd.register_table('cux','cux_webadi_demo','t');

ad_dd.register_column('cux','cux_webadi_demo','adi_id',1,'number',38,'y','n');

ad_dd.register_column('cux','cux_webadi_demo','adi_organization_id',2,'number',38,'y','n');

ad_dd.register_column('cux','cux_webadi_demo','adi_code',3,'varchar2',30,'y','n');

ad_dd.register_column('cux','cux_webadi_demo','adi_date',4,'date',9,'y','n');

COMMIT;

END;

-- Create demo view

CREATE OR REPLACE VIEW CUX_WEBADI_DEMO_V AS

SELECT cwd.adi_id

,cwd.adi_organization_id

,cwd.adi_code

,cwd.adi_date

FROM cux_webadi_demo cwd;

CUX_WEBADI_DEMO_OBJ.sql

文件:

创建程序包

在APPS下执行:

CREATE OR REPLACE PACKAGE cux_webadi_demo_pkg IS

-- Author : zhengyan.cao

-- Created : 2012/11/9 16:02:10

-- Purpose :

PROCEDURE upload_data(p_id IN NUMBER

,p_organization_id NUMBER

,p_code IN VARCHAR2

,p_date IN DATE);

END cux_webadi_demo_pkg;

/

CREATE OR REPLACE PACKAGE BODY cux_webadi_demo_pkg IS

PROCEDURE upload_data(p_id IN NUMBER

,p_organization_id NUMBER

,p_code IN VARCHAR2

,p_date IN DATE) IS

BEGIN

--do any thing you want to do here

IF p_id IS NULL THEN

INSERT INTO cux_webadi_demo

(adi_id

,adi_organization_id

,adi_code

,adi_date)

SELECT cux_webadi_demo_s.nextval

,p_organization_id

,p_code

,p_date

FROM dual;

ELSE

UPDATE cux_webadi_demo cwd

SET cwd.adi_organization_id = p_organization_id

,cwd.adi_code = p_code

,cwd.adi_date = p_date

WHERE cwd.adi_id = p_id;

END IF;

COMMIT;

END;

END cux_webadi_demo_pkg;

/

cux_webadi_demo_pkg.pck

文件:

2.3.创建集成器(Required)

开始

N:桌面集成->创建文档(Desktop Integration-> Create Document)

选择集成器

N:下一步

选择集成器:HR 集成器设置(HR Integrator Setup)。

选择查看程序

N: 下一步

不要选择报告按钮,这样就可以编辑、上传。

查看程序:选择”Excel 2003”,注意哦,要不然会有问题的哦!

选择内容

N: 下一步

选择内容,选”无”。

文档创建复查

N: 创建文档

系统自动创建文档并打开Excel

N: 下一步

我们输入以下内容:(最好双击单元格,出来LOV再选择)

上传到EBS

N: 加载项/Oracle/加载

点击加载完成上传。

后台表结构

SQL:

--alter session set nls_language='SIMPLIFIED CHINESE';

--alter session set nls_language='AMERICAN';

SELECT bni.application_id

,bni.integrator_code --集成器code

,https://www.360docs.net/doc/5812744283.html,er_name --集成器名称

FROM bne_integrators_vl bni

WHERE https://www.360docs.net/doc/5812744283.html,er_name = 'CUX_WEBADI_DEMO';

因为是在中文环境下创建的集成器,所以需要先初始化语言环境哦,要不然在数据库中

查不到数据的哦!

2.4.维护集成器表单功能关联(Required)

开始

N:桌面集成->创建文档(Desktop Integration-> Create Document)

选择集成器

N: 下一步

选择集成器:HR维护集成器表单功能关联(HR Maintain Integrator Form Function Associations)。

选择查看程序

N: 下一步

选择Excel 2003,不要选择报告按钮,这样就可以编辑、上传。

选择内容

N: 继续

文档创建复查

N: 创建文档

定义功能

N: 应用开发员->应用产品->功能

功能:CUX_WEBADI_FUNCTION

功能用户名:CUX_WEBADI_FUNCTION 类型:子函数

添加功能到菜单

N: 应用开发员->应用产品->菜单

在桌面集成菜单下面添加功能CUX_WEBADI_FUNCTION,提示里面不需要填写。

系统自动创建文档并打开Excel

N: 下一步

我们输入以下内容:(最好双击单元格,出来LOV再选择)

上传到EBS

N: 加载项/Oracle/加载

点击加载完成上传。

2.5.定义布局(Required)

开始

N: 桌面集成器->定义布局

选择集成器

N:

选择上面创建的Integrator:” CUX_WEBADI_DEMO”,查找,然后点击创建。

定义布局(Define Layout)

N:

输入布局名称:CUX_WEBADI_DEMO_LAYOUT,题头数不用管,直接下一步。

把必需字段里面的排列方式全部选择“行”。可选字段不管,下一步。

必需字段区域的字段是自动出来的API Procedure Name的参数列表,并且自动去掉前面的P_。我们可以安排这些字段显示在Header还是Line。这里我们全部改为Line,因为我们是单表导入。

注意:1、这些值将传给API Procedure Name,一行一次,不管这里是Header还是Line。

2、视图的字段名和变量P_XX,变量去掉P_后的部分最好不要和视图里面的字段名相同。

所以在Excel里面显示是分头行的、作为参数传给API Procedure Name时是并列的、至于在API Procedure Name代码里面,我们又可以自己人为区分出头子段和行字段,然后插到不同的表中去。

可选字段区域的字段是View的字段,可以全部不显示。

创建布局:行:字段ID只读属性选上。应用。

2.6.定义映射(Optional)

开始

N: 桌面集成->定义映射

选择集成器

N: 查找

选择上面创建的集成器”CUX_WEBADI_DEMO”,查找:

这个时候会弹出默认定义好的映射,更新:

映射详细资料,下一步。

定义映射

N: 应用

这里定义界面显示的字段对应到数据库哪个字段。

我们增加4行,把视图出来的值传给Procedure的参数。

2.7.定义查询条件(Optional)

用来定义过滤条件。

开始

N: 桌面集成->创建文档

选择集成器

N: 下一步

选择功能;这一步很关键,要选择 HR创建独立查询(HR Create Standalone Query)。如果以后要修改则改用HR维护查询(HR Maintain Standalone Query)。

选择查看程序

N: Next

不要选择报告按钮,这样就可以编辑、上传。查看程序选Excel 2003

选择内容

N: 继续

文档创建复查

N: 创建文档

系统自动创建文档并打开Excel

N: Next

我们输入以下内容:(最好双击单元格,出来LOV再选择)

后面有第1个参数名…第5个参数名,这个是根据前面的SQL WHERE子句内定义的参数来的。

参数提示是在创建文档的时候,选择参数的说明。

上传到EBS

N: 加载项/Oracle/加载

相关文档
最新文档