Doc Ref: 错误!未找到引用源。
错误!未找到引用源。
? PL/SQL程序包头示例
将普通的PL/SQL程序包的包头修改成如下代码样式既可,本例是返回EBS制造商信息的集成接口程序:
CREATE OR REPLACE PACKAGE cux_soa_master_data_pkg AS
/* $Header: cux_soa_master_data_pkg.pls 120.16.12010000.1 2009/10/11 11:12:37 appldev ship $ */ /*#
* This package using provide PIM master data web service * @rep:scope public * @rep:product CUX
* @rep:displayname PIM master data web service * @rep:lifecycle active * @rep:compatibility S
* @rep:category BUSINESS_ENTITY CUSTOMER_SOA
* @rep:ihelp FND/@o_funcsec#o_funcsec See the related online help */
/*===============================================
Copyright (C) HAND Enterprise Solution Co., Ltd AllRights Reserved ================================================ * =============================================== * PROGRAM NAME: cux_soa_master_data_pkg *
* DESCRIPTION: 与XXX集成主数据WS,供XXX获取主数据使用 * * HISTORY:
* 1.00 2009-10-11 sail.sun Creation *
* ==============================================*/
--传入参数
TYPE record_input IS RECORD(
system_code VARCHAR2(100), max_update_date VARCHAR2(20), last_max_rownumber NUMBER);
--返回汇总信息
TYPE record_sum IS RECORD( status VARCHAR2(10), total_flag VARCHAR2(1), row_accout NUMBER, max_rownumber NUMBER,
err_msg VARCHAR2(240));
错误!未找到引用源。
(三)Integrated SOA Gateway应用File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )
Company Confidential - For internal use only
23 of 82
Doc Ref: 错误!未找到引用源。
错误!未找到引用源。
--制造商返回记录信息
TYPE record_manufacturer IS RECORD(
organization_id VARCHAR2(40), --库存组织ID manufacturer_id VARCHAR2(40), --制造商标识(ID) manufacturer_num VARCHAR2(30), --制造商编号 manufacturer_name VARCHAR2(240), --制造商名称 manufacturer_name_alt VARCHAR2(150), --制造商简称 qua_flag VARCHAR2(1), --是否合格制造商 disable_flag VARCHAR2(1), --失效标志 last_update_date VARCHAR2(20), --最后更新时间 add1 VARCHAR2(200), --备用1 add2 VARCHAR2(200), --备用2 add3 VARCHAR2(200), --备用3 add4 VARCHAR2(200), --备用4 add5 VARCHAR2(200) --备用5 );
TYPE table_manufacturer IS TABLE OF record_manufacturer INDEX BY BINARY_INTEGER; /* ============================================= * FUNCTION / PROCEDURE
* NAME : get_manufacturer *
* DESCRIPTION: 获取制造商与物资的关系信息 *
* ARGUMENT: p_record_input 输入条件 * x_record_sum 返回汇总信息
* x_table_manufacturer 返回制造商与物资的关系信息 *
* RETURN: none *
* HISTORY:
* 1.00 2009-10-11 sail.sun Creation
* =============================================*/ /*#
* Get the manufacturer information
* @param p_record_input In Param
* @param x_record_sum Returns Item Sum Info * @param x_table_manufacturer Returns Item Data * @rep:scope public
* @rep:lifecycle active
* @rep:displayname Get manufacturer information * @rep:compatibility S
错误!未找到引用源。
(三)Integrated SOA Gateway应用File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )
Company Confidential - For internal use only
24 of 82
Doc Ref: 错误!未找到引用源。
错误!未找到引用源。
* @rep:ihelp FND/@mesgdict#mesgdict See the related online help */
PROCEDURE get_manufacturer(p_record_input IN record_input, x_record_sum OUT record_sum,
x_table_manufacturer OUT table_manufacturer); END cux_soa_master_data_pkg; ?
标记注释说明
@rep:product CUX 说明集成接口注册到CUX应用中,必须是系统中存在的应用简称。
@rep:displayname PIM master data web service 集成接口名称,将会在Integration Repository显示。 @param 存储过程和方法参数的描述。
@rep:category BUSINESS_ENTITY CUSTOMER_SOA 业务实体的类型。 ?
注意事项
@rep:category中使用的业务实体类型必须在BUSINESS_ENTITY值列表类型下定义,否则无法导入。 包头的声明使用AS不使用IS。
包级别的标记注释与‘PACKAGE
保存PLS文件
将程序包编译到数据库中以后,再将包头文件保存后缀为pls的文件,例如:cux_soa_master_data_pkg.pls。 3.3 编译和导入集成接口程序 ?
上传编译
将文件上传到应用服务器上的目录,例如$CUX_TOP/soa目录,以管理应用的OS用户运行如下命令: cd $CUX_TOP/soa $IAS_ORACLE_HOME/perl/bin/perl $FND_TOP/bin/irep_parser.pl -g -v -username=sysadmin cux:patch/115/sql:cux_soa_master_data_pkg.pls:12.0=cux_soa_master_data_pkg.pls 编译成功后会生成一个文件cux_soa_master_data_pkg_pls.ildt。 ?
LOAD到Oracle Integration Repositoy
(三)Integrated SOA Gateway应用 25 of 82
Company Confidential - For internal use only
错误!未找到引用源。
File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )
Doc Ref: 错误!未找到引用源。
错误!未找到引用源。
使用FNDLOAD工具,将文件LOAD到Oracle Integration Repositoy,以管理应用的OS用户运行如下命令:
FNDLOAD apps/apps 0 Y UPLOAD $FND_TOP/patch/115/import/wfirep.lct cux_soa_master_data_pkg_pls.ildt 到此为止,PL/SQL集成接口已导入到EBS中,可以在Oracle Integration Repositoy中查看该客户化集成接口,并发布和部署WS。
3.4 发布和部署Web Service ?
查看集成接口
以ASADMIN用户登录EBS,进入Integrated SOA Gateway职责,点击查找,输入“PIM master data web service”查找,结果如下:
可以看到客户化的PIM master data web service接口的Source是“Custom”,而Oralce自带的接口的Source是“Oracle”。 ?
生成和部署WS
点击“PIM master data web service”链接进入集成接口详细页面,点击“Generate WSDL”。
错误!未找到引用源。
File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )
Company Confidential - For internal use only
(三)Integrated SOA Gateway应用 26 of 82
Doc Ref: 错误!未找到引用源。
错误!未找到引用源。
待成功生成WSDL后,再点击“Deploy”部署WS。 点击View WSDL可以查看WSDL文件的内容。 3.5 为Web Service授权
当第三方程序调用EBS发布的WS,需要提供安全验证信息,因为EBS要求发布的WS必须设置安全验证信息。 ?
授权
选择相关的方法,点击“Create Grant”。
错误!未找到引用源。
File Ref: Oracle实践之EBS Integrated SOA Gateway实施指南.doc (1. 0 )
Company Confidential - For internal use only
(三)Integrated SOA Gateway应用 27 of 82