oracle接口表怎么用,oracle 接口

oracle 报表接口是什么样子的

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

成都创新互联公司专业为企业提供海林网站建设、海林做网站、海林网站设计、海林网站制作等企业网站建设、网页设计与制作、海林企业网站模板建站服务,十载海林做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

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

oracle ebs api怎么用

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

nameASADMIN/name

display-nameDefault Apps SOA User/display-name

descriptionUsed 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

ORACLE ERP中PO/INV/AP/GL流程对应那些关键基表、接口表?

这个要看你用的哪一种ERP,如果是EBS,接口表参考如下信息:

AP接口表:

AP_INVOICES_INTERFACE

AP_INVOICE_LINES_INTERFACE

涉及的请求:

应付款管理系统开放接口导入

涉及案例: 运费导AP、费用导AP

PO接口表:

申请:

PO_REQUISITIONS_INTERFACE_ALL

涉及请求:

导入申请

采购:

po_headers_interface

po_lines_interface

po_distributions_interface

涉及的请求:

Import Standard Purchase Orders

接收:

rcv_headers_interface

rcv_transactions_interface

mtl_transaction_lots_interface

涉及请求:

接收事务处理处理器

涉及案例:运费导采购、MRP导申请、POP导申请

GL接口表:

gl_interface

涉及案例:ADI导日记账、返利导日记账

FA接口表:

fa_mass_additions

FA API:

增加fa_addition_pub.do_addition

修改:fa_adjustment_pub.do_adjustment

fa_asset_desc_pub.update_desc

涉及案例:电子资产清理

库存事务接口:mtl_transactions_interface

1)一般用来做各类杂收发、Cost Update,对于和业务有关的事务一般不建议使用,比如SO发货,如果自己发会导致Workflow没有往下走

2)成功导入之后运行Cost Manager生成会计分录

3)平均成本更新也通过此接口;如果该Item没有交易,则成本数据不会进入cst_item_costs

固定资产接口:fa_mass_additions

1)fa_mass_additions这个表有几个Trigger需要注意;会自动去插其他表,删除的时候也是

2)折旧方法接口表无法给,而是自动从Category继承下来,所以导入之后需要Update表

3)不是通过AP引过来的FA,是没有Source Lines信息的;如果需要,可以通过插表来实现

4)数据进接口之后从Navigator:Mass Additions/Post Mass Additions提交请求集,这样会有个报表显示导入结果。不过我的测试程序可以直接提交请求集。

总账分录接口:gl_interface

1)最简单的接口,不说了

应付发票接口:ap_invoices_interface/ap_invoice_lines_interface

1)Profile AP: Use Invoice Batch Controls定义是否使用批控制

2)仅支持CREDIT/STANDARD;注意金额正负,小于零用CREDIT,大于零用STANDARD

3)PREPAYMENT/DEBIT/EXPENSE REPORT/MIXED不支持,先用CREDIT或者STANDARD,进去之后再Update正式表ap_invoices_all

4)导入之后可再调用请求Invoice Validation自动Validate发票

应收发票接口:ra_interface_lines_all/ra_interface_salescredits_all

1)几个接口表之间的关系和其他接口不同,不是通过ID关联,而是通过描述性弹性域Line Transaction Flexfield定义

2)接口给ID还是Name,要根据Transaction Source上的定义,不能随便给

3)ra_interface_distributions_all这个表可以不插,让系统自动生成分配行

4)如果没有销售员,可以提供一条ID=-3的No Sales Person记录给接口。这个要看AR System Option Miscellaneous上的设置是否要求销售员

应收收据接口:ar_interim_cash_receipts_all

1)AR Receipt标准接口是Lockbox,需要预先定义Format;Oracle根据Format定义把接口数据写到ar_interim_cash_receipts_all;我们可以跳过第一步,直接把数据插入到ar_interim_cash_receipts_all,不过Batch需要我们直接插表

2)在Batch界面查看:数据在ar_interim_cash_receipts_all的Batch Type为 Mannual Quick

3)Batch的Currency取本位币即可,收据用需要的货币

客户导入接口:ra_customers_interface_all/ra_customer_profiles_int_all/ra_contact_phones_int_all

1)要导Customer,ra_customer_profiles_int_all需要有记录

2)orig_system_party_ref相同的话,Customer_Number不同,可以在一个Party下建多个Customer

3)ship to的bill_to_orig_address_ref可用bill to的orig_system_address_ref,这样可以自动关联

4)需要打Patch 3606744和3558213,否则Statement和Dunning类型的Site Use导不进去

5)不是所以字段都可以从Interface进去;以HZ_Cust_Site_Uses_all为例,导入之后需要直接Update如下比较重要的字段:payment_term_id、order_type_id、warehouse_id、territory_id、primary_salesrep_id

6)更新HZ_Cust_Site_Uses_all的Primary_flag的时候注意同时更新hz_cust_acct_sites_all的bill_to_flag和ship_to_flag为P(Primary)或者Y

销售订单接口:oe_headers_iface_all/oe_lines_iface_all/oe_actions_iface_all

1)整张Close的订单可以通过接口表;Close的订单,Oracle几乎是直接插表;其他的要做很多验证

2)部分行Close的订单,可以给行Assign一个仅负责Close(Enter/Fulfill/Close/End)的工作流,这样Workflow Back Ground Process起来之后就会Close

3)非Close的订单行号不能重复,所以接口表我们给空;如果有需要待导入后Update Line表即可

4)数量正负要与Line Type的类型一致,正的对Order,负的对Return,否则接口报Inventory Item错误

5)订单号更新需要更新几个表:oe_order_headers_all/wsh_delivery_details/mtl_sales_orders

6)订单行在收货或者发货不足的情况下会拆行,拆行的时候系统几乎是拷贝所有的字段,如果碰到Unique的字段会失败。我碰到的问题是把源系统的line_id记录在弹性域上,并给这个弹性域建了Unique索引,导致Dropship的订单采购部分收货老是报错

采购订单接口:po_headers_interface/po_lines_interface/po_distributions_interface

1)PO接口有问题可察看错误信息表po_interface_errors,可以解决大部分问题

2)本位币导入之后,头上的Rate Date为空,需要Update表

3)quantity_billed也可以事后更新,这样AP不会再Match过来

4)审批记录可以直接插入表po_action_history

5)注意采购的Valdiate ORG

6)如果Item没有Assign给Ship_to_org,会报No data found错误

采购接收接口:rcv_shipment_headers/rcv_transactions_interface

1)收据头直接写表;收据行和收货事务通过接口

2)注意parent_transaction_id,Receive需要放空

3)PO接口有问题可察看错误信息表po_interface_errors,可以解决大部分问题

4)如果要再现原来的Receiving Transaction,可按如下顺序分批进入接口RECEIVE、TRANSFER、ACCEPT、REJECT、DELIVER、RETURN TO RECEIVING、RETURN TO VENDOR、CORRECT

库存项目接口:mtl_system_items_interface

1)在Master Org新增Item比较简单,给足需要的字段即可

2)在其他组织增加Item(相当于从Master Assign后再Update),需要注意Master Org Conctrol的字段需要保持主组织的值(比较多,看mtl_item_attributes的Conctrol_level = 1)

3)在其他组织增加Item还需要注意一些字段需要保持主组织的值,否则接口会报错,它们是create_supply_flag、dual_uom_control、buyer_id、allowed_units_lookup_code、purchasing_item_flag、internal_order_flag、inventory_item_flag

4)如果要给Item Assign Category,可以通过mtl_item_categories_interface,对应的请求是Item Category Assignment Open Interface

公司内部系统的oracle数据库表怎么对接?

建议建立中间表来实现,不建议也不需要设置键值关联,建了反而会有问题

最简单的实现方式大概思路就是设计一个中间表(字段只要双方约定好就可以了),通过dblink的方式,他们系统往中间表里插入数据,你们从中间表里获取数据,这样大家互不影响

Oracle中的接口表和中间表是干什么用的?之间有什么关系?能举个例子吗?

起中转作用。当其它系统软件需要写数据到自己系统软件的数据库中时,为了保证数据的安全性,一般不会直接让它操作本系统的数据表,否则如果其它软件的BUG导致数据库误操作而破坏了表中的数据,从而会导致本软件系统出错,所以常用处理方法是另建一个表作为接口表,其它方软件写数据到此表中,本方再从接口表取数到本方表中。而中间表某种时候又可以理解为,为处理某项数据时,处理后的半成品数据存放用

谁有ORACLE ERP 总帐接口相关资料,接口表是GL_INTERFACE,共享一下,谢谢!

1, db Init.ora 参数设定.

一次读取block

2, standar request max number

systemadminstrator/concurrent/manager/define/

3,Concurrent Program Controls setup

GL super/setup/system/control

一次读取到内存的科目,可以把科目都读入

每次处理的journal的数量,不写默认是1000

指定回滚段

千万不能指定归档, gl_interface_history 就是用来纪录的.

4,GL 优化程序, 可以配合gather使用

Maintain Summary Templates Program

GL Optimizer Program

5,可以在GL_interface创建索引,指定到自己的表空间

CREATE INDEX gl_interface_n2 ON gl_interface (request_id,je_header_id,status,code_combination_id, je_line_num)

6,导入建议:

(1)尽可能的少batch

(2)关闭应该关闭的period

(3)不允许动态插入,这也会带来开销

7, oracle 还提供多个口导入, 这个用得人应该很少. ref: 198437.1

最后,要随时的检测temp,以及回滚段标空间


本文题目:oracle接口表怎么用,oracle 接口
文章源于:http://hbruida.cn/article/dschdpg.html