oracle ebs api怎么用

作者&投稿:政别 (若有异议请与网页底部的电邮联系)
ORACLE EBS里怎么通过api创建ar事务处理~

在R12中做过事务处理导入,是利用接口表Ra_Interface_Lines_All然后提交标准请求Autoinvoice Master Program
r11里导入贷项通知单真的很恶心啊 我用APIR12导入的好好的 到了11就不让搞了 一看api他自己限制了发票类型 不让导入dm的

1、标准接口表2、标准API前者例如AP的发票接口表,供应商、客户接口表,具体实现方式是,将数据按照接口表规格准备到接口表中,然后运行标准的import程序将接口表数据导入到Oracle EBS中(即各接口表对应的正式table中)。
而例如银行、分行、银行帐户相关API,一般通过客户化程序,调用此类API实现将数据导入系统,此时一般也会新建一些客户化staging table,先将外部数据准备到staging table后,再使用客户化程序,调用API将资料导入Oracle EBS中。

通常,“Oracle EBS的接口方式”指的是数据进入Oracle EBS的方式,主要有两类技术:
1、标准接口表
2、标准API

前者例如AP的发票接口表,供应商、客户接口表,具体实现方式是,将数据按照接口表规格准备到接口表中,然后运行标准的import程序将接口表数据导入到Oracle EBS中(即各接口表对应的正式table中)。

而例如银行、分行、银行帐户相关API,一般通过客户化程序,调用此类API实现将数据导入系统,此时一般也会新建一些客户化staging table,先将外部数据准备到staging table后,再使用客户化程序,调用API将资料导入Oracle EBS中。

而DBLINK则是数据库之间的资料交换方式,假如Oracle EBS的数据库需要与其他数据库(例如其他系统的数据库)进行资料交互,那么DBLINK是其中一个选项而已。

以上,两者直接比较没有太大意义,完全可能是应用于不同业务场景下的技术。

1.创建Product Family
Product Family用于管理几个功能相近的Product(也可以立即为模块),统一管理客户化的Webservice接口

begin
-- Call the procedure
ad_pa_insert_package.insert_ad_pm_product_info(x_product_abbreviation => 'os_xxx',
x_pseudo_product_flag => 'N',
x_product_family_flag => 'Y',
x_application_short_name => NULL,
x_product_name => 'Oracle Xxx Suite',
x_product_family_abbreviation => NULL,
x_product_family_name => NULL,
x_aru_update_date => to_char(SYSDATE,'yyyy-mm-dd

hh24:mi:ss'),
x_currdate => to_char(SYSDATE,'yyyy-mm-dd

hh24:mi:ss'),
x_last_updated_by => -1,
x_created_by => -1);
COMMIT;
end;

2.注册Product,即注册Xxx University(cux)应用到产品家族中
begin
ad_pa_insert_package.insert_ad_pm_product_info(x_product_abbreviation => 'cux',
x_pseudo_product_flag => 'N',
x_product_family_flag => 'N',
x_application_short_name => 'CUX',
x_product_name => 'Xxx University',
x_product_family_abbreviation => NULL,
x_product_family_name => NULL,
x_aru_update_date => to_char(SYSDATE,'yyyy-mm-dd hh24:mi:ss'),
x_currdate => to_char(SYSDATE,'yyyy-mm-dd hh24:mi:ss'),
x_last_updated_by => -1,
x_created_by => -1);
COMMIT;
end;

3.关联Xxx University应用到产品家族Oracle Xxx Suite下
begin
-- Call the procedure
ad_pa_insert_package.insert_ad_pm_prod_family_map(x_product_abbreviation => 'cux',
x_product_family_abbreviation => 'os_xxx',
x_aru_update_date => TO_CHAR(SYSDATE,'yyyy-mm-dd hh24:mi:ss'),
x_currdate => TO_CHAR(SYSDATE,'yyyy-mm-dd hh24:mi:ss'),
x_last_updated_by => -1,
x_created_by => -1);
COMMIT;
end;

4.增加一个BUSINESS_ENTITY的lookup code(应用开发员职责->应用产品 -> 代码->Oracle Application Object),这个Lookup会用在下

一步的API中的@rep:category BUSINESS_ENTITY

这里增加的code为ORACLESEEKER

5.编写PL/SQL API Specification
CREATE OR REPLACE PACKAGE CUX_SUPPLIER_PKG AS
/* $Header: $ */
/*#
* This package using maintain the supplier information
* @rep:scope public
* @reproduct CUX
* @rep:lifecycle active
* @rep:displayname Supplier Approve result
* @rep:compatibility S
* @rep:category BUSINESS_ENTITY ORACLESEEKER
*/
/*#
* insert approve result
* @param apply_id apply id
* @param node_id node id
* @param node_name node name
* @param approver_id approver id
* @param approver_name approver name
* @param approve_result approve result
* @param approve_opinion approve opinion
* @param approve_date approve date
* @return a varchar
* @rep:scope public
* @rep:lifecycle active
* @rep:displayname insert supplier approve result Webservice
*/
FUNCTION f_insert_approve_result(apply_id IN NUMBER,
node_id IN NUMBER,
node_name IN VARCHAR2,
approver_id IN NUMBER,
approver_name IN VARCHAR2,
approve_result IN NUMBER,
approve_opinion IN VARCHAR2,
approve_date IN DATE) RETURN VARCHAR2;
END CUX_SUPPLIER_PKG;

需要注意Package中的注释并不是随便填写的,每一个注释都会对应到Oracle Integration Repositoy接口的说明上去,对于要注册成

Webservice的PL/SQL API必须按照要求来填写。
注释标签具体的含义需要参考《Oracle E-Business Suite Integrated SOA Gateway Developer's Guide》

6.验证PLSQL接口文件,并生成ildt文件
将编写好的PLSQL声明定义保存为.pls文件(PAUL_ITEM_PKG.pls),并将其上传到服务器应用$CUX_TOP/patch/115/sql目录下,然后执行下

边的命令生成ildt文件
/usr/bin/perl $FND_TOP/bin/irep_parser.pl -g -v -username=sysadmin

cuxatch/115/sql:CUX_SUPPLIER_PKG.pls:12.0=CUX_SUPPLIER_PKG.pls

7.将iLDT文件上传到Oracle Integration Repositoy
FNDLOAD apps/apps 0 Y UPLOAD $FND_TOP/patch/115/import/wfirep.lct CUX_SUPPLIER_PKG_pls.ildt

8.在对应的Product Family和Product下就能看到你的接口

9.在Web服务调用的时候,需要有一个应用数据库用户来连接EBS数据库,因此需要创建一个具备一定权限的用户,而为了简化设置的麻烦

,Oracle提供了一个内建的用户 ASADMIN ,只要启用它并重置密码就可以了。
以sysadmin登录Oracle EBS,切换到 User Management 职责,进入Users页面,查找出asadmin用户,通过修改密码的方式激活asadmin,

并确保此用户拥有Apps Schema Connect Role职责。

由于asadmin的密码已经被重置,因此中间服务器的文件配置$INST_TOP/ora/10.1.3/j2ee/oafm/config/system-jazn-data.xml 中对应的

密码也需要修改,由于配置中的密码已被加密,我们无法提供加密后的密码,使用过OC4J的同事应该都知道,Oracle提供了一种重置这里

密码的方便方法,就是采用明文密码,在密码前添加一个警号(!),然后重启应用服务器后自动会重新加密。打开system-jazn-data.xml

文件后, 找到
<user>
<name>ASADMIN</name>
<display-name>Default Apps SOA User</display-name>
<description>Used by SOAProvider for DB connection</description>
<credentials>{903}qMgAeO1AjQjwOJ6rIB41Sx049uG0xzhs</credentials>
</user>
只要将credentials的值更改为自己的密码,如我的密码设置为11111,就设置为 <credentials>!11111</credentials>。修改完成后重启

oamf,简单的方法就是重启Oracle EBS应用服务。

附重启命令:
cd $INST_TOP/admin/scripts
01、关闭应用 sh adstpall.sh apps/apps
02、重启应用 sh adstrtal.sh apps/apps
03、关闭DB
04、重启DB
05、启动并发管理器 adcmctl.sh start apps/apps

10.为集成接口创建授权
发布到Oracle Integration Repositoy中的Web服务能够被访问必须有相应的权限才可以,这也是受到AOL安全模型限制的一个体现。
登录EBS后切换到Integrated SOA Gateway职责,在 Integration Repositoy 中找出已经上传好的客户化集成接口,选择接口过程和方法

后点击Create Grant 按钮
选择授权类型:All Users、Group of Users 和 Specific USer,下面设置为最后一种方式

11.完成以上工作后,点击Generate WSDL按钮来生成集成接口对应的Web服务WSDL信息
成功完成后可以看到如下Web服务的状态为:Generated
点击 Deploy 按钮来发布Web服务到中间服务器中,发布后Web服务的状态为: Deployed

-----------------------------------------------
12.如果在测试中报java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: For input

string: ""
执行以下操作:
cd $ORA_CONFIG_HOME/10.1.3/j2ee/forms/config/oc4j.properties
注释代理服务
#http.proxyHost=
#http.proxyPort=
重启服务

13.如果填写信息提交后会报出 wsse:FailedAuthentication 这样的错误信息,这是由于提交的Soap消息中并没有包括Oracle

Integration Repository要求的AOL安全认证,即没有Oracle EBS系统要求的用户、职责、安全组和语言信息,也就是没有进行Oracle

EBS的环境初始化

wsdl文件路径/ebsr12/test/inst/apps/TEST_scmdev/soa/PLSQL/4343

此问题可以通过修改wsdl文件来解决
01删除CUX_SUPPLIER_PKG_soap.wsdl中
<element name="SOAHeader">
<complexType>
<sequence>
<element name="Responsibility" minOccurs="0" type="string"/>
<element name="RespApplication" minOccurs="0" type="string"/>
<element name="SecurityGroup" minOccurs="0" type="string"/>
<element name="NLSLanguage" minOccurs="0" type="string"/>
<element name="Org_Id" minOccurs="0" type="string"/>
</sequence>
</complexType>
</element>

02删除CUX_SUPPLIER_PKG_soap_http.wsdl中
<element name="SOAHeader">
<complexType>
<sequence>
<element name="Responsibility" minOccurs="0" type="string"/>
<element name="RespApplication" minOccurs="0" type="string"/>
<element name="SecurityGroup" minOccurs="0" type="string"/>
<element name="NLSLanguage" minOccurs="0" type="string"/>
<element name="Org_Id" minOccurs="0" type="string"/>
</sequence>
</complexType>
</element>

修改后点击invoke,如出现“处理服务时出错”,进行如下处理
/ebsr12/test/inst/apps/TEST_scmdev/soa/PLSQL/4343/F_INSERT_APPROVE_RESULT.wsdl

查看这个文件的内容
<jcaperation
PackageName=”ORACLESEEKER_DEPT_PKG”
ProcedureName=”ADD_DEPARTMENT”
IRepInternalName=”PLSQL:ORACLESEEKER_DEPT_PKG:ADD_DEPARTMENT”
IRepOverloadSeq=”1〃
InteractionSpec=”oracle.tip.adapter.apps.AppsStoredProcedureInteractionSpec” >
</jcaperation>


襄樊市18641018748: Oracle EBS 的接口方式是什么样的?与 DBLINK 有什么不同? -
祖朋泛捷: 1、标准接口表2、标准API前者例如AP的发票接口表,供应商、客户接口表,具体实现方式是,将数据按照接口表规格准备到接口表中,然后运行标准的import程序将接口表数据导入到Oracle EBS中(即各接口表对应的正式table中). 而例如银行、分行、银行帐户相关API,一般通过客户化程序,调用此类API实现将数据导入系统,此时一般也会新建一些客户化staging table,先将外部数据准备到staging table后,再使用客户化程序,调用API将资料导入Oracle EBS中.

襄樊市18641018748: ORACLE EBS里怎么通过api创建ar事务处理 -
祖朋泛捷: 在R12中做过事务处理导入,是利用接口表Ra_Interface_Lines_All然后提交标准请求Autoinvoice Master Programr11里导入贷项通知单真的很恶心啊 我用APIR12导入的好好的 到了11就不让搞了 一看api他自己限制了发票类型 不让导入dm的

襄樊市18641018748: 如何启用及查看Oracle EBS 诊断日志 -
祖朋泛捷: 您好,很高兴为您解答.o Set profile options at USER level: FND: Debug Log Enabled : Yes FND: Debug Log Level : Statement FND: Log Module : % o Run: select max(log_sequence) from fnd_log_messages ; — start o Reproduce the issue (...

襄樊市18641018748: EBS OAF开发中如何在form上调用OAF页面并传递参数给OAF页面 -
祖朋泛捷: BS OAF开发中如何在form上调用OAF页面并传递参数给OAF页面 (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处;否则请与本人联系,违者必究)1. 为Form添加一个按钮或者其它Item并添加相应的触发器,...

襄樊市18641018748: 如何访问虚拟机上的oracle ebs服务 -
祖朋泛捷: 从可见的行列表中提取部分: NSArray *indexPathsForVisibleRows = [tableView indexPathsForVisibleRows]; NSMutableIndexSet *indexSet = [NSMutableIndexSet indexSet]; for ( NSIndexPath *indexPath in indexPathsForVisibleRows ) { [indexSet...

襄樊市18641018748: po 4层匹配怎么用 oracle ebs -
祖朋泛捷: 1.PR订单拒绝后不能删除明细行,PO单拒绝后可以删除明细行.PR单取消是会整张取消退回,所以要尽量避免这种现象.2.当出现一个供应商有两个一揽子协议订价的时候,先要查看协议中的付款条件与税率是否相同.如果不同则属正常,如果一样,则对两个一模一样的协议选取一个,作最终关闭动作.

襄樊市18641018748: oracle ebs 怎样动态创建list -
祖朋泛捷: 实现步骤:1. 得到账簿的CHART_OF_ACCOUNTS_ID2. 得到账户弹性域分隔符3. 调用标准的API得到账户组合id具体实现如下:1. 得到账簿的CHART_OF_ACCOUNTS_ID实现code:?12345SELECT sob.chart_of_accounts_id INTO l_id_flex_...

襄樊市18641018748: 如何启用Oracle EBS Form监控 -
祖朋泛捷: 1. 在Oracle EBS上进行Form跟踪的技术方法:Oracle EBS的一个Profile 提供此功能:User_Profile_Option_Name = 登录:审计层(Sign-On:Audit Level) View_Name = FND_SIGNON_AUDIT_VIEW 此Profile有4个可选值:'无':不跟踪--A ...

襄樊市18641018748: Oracle EBS标准错误信息如何追踪 -
祖朋泛捷: Oracle EBS标准错误信息如何追踪 (Debug) 调用EBS标准API的时候,可能会返回一些让人看不懂的错误,比如最近我在开发rcv_transaction_interface的时候,数据卡在接口表里没有过去,但是返回的错误令人费解.例如如下两个错误就让...

襄樊市18641018748: oracle ebs怎么新建账簿 -
祖朋泛捷: 1、新建一个GL分类账 首先新建一个分类账,设置科目段,新建法人实体2、新建OU 新建业务实体,绑定分类账3、新建ORG 新建ORG,绑定分类账,绑定业务实体4、设置AP,AR,PO,OM 这四个模块都在OU层,设置好OU后就可以设置这四个模块5、设置BOM,ENG,WIP,MRP,CST 制造部分都在ORG层,ORG建好后方可设置!

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网