与SAP集成的接口方式比较:IDOC BAPI RFC 之间的区别
2017-01-11 15:16
381 查看
SE37 写出来的叫function,其中可以远程调用的叫rfc,remote-enabled function,abap语法和输入输出参数就会有一些限制。bapi是sap做好的实现特定业务操作的rfc。idoc是基于sap自己的类似xml格式的文档数据交换的方式。rfc必须在线的方式调用,一般做同步的,idoc基于文档,可以实现异步的。
idoc是系统间利用message传递,不涉及底层函数调用,idoc的处理方式是用edi来执行的.
你可以理解为IDOC是SAP为了同外部系统或内部不同client通迅所采用的一种数据结构,不同的idoc type 定义了不同的格式,如关于material master data 的IDOC, BOM, PO,SO等相关的IDOC,, ALE 主要用于内部数据交换用的,如不同client, EDI用于同外部系统的交换数据,它们的本质都 是base on IDOC。。。idoc是基于sap自己的类似xml格式的文档数据交换的方式。idoc基于文档,可以实现异步的。
RFC是面向过程的,调用简单直接;
BAPI是面向对象的,有属性、有方法、有事件,更加复杂和丰富,更能反映SAP的业务应用,而
BAPI方法的构造是基于RFC的,你也可以认为BAPI封装了RFC
我觉得RFC在应用时最为灵活。
IDOC是SAP标准的文件交换格式,SAP已经有了大量的Function Module来处理和传递IDOC,特别
是对于要和其它系统交换数据时,配合一些系统如biztalk server,IDOC会显得非常的方便,开
发的工作量也是最小的。
RFC的话,如果配合SAP的BDC使用的话,或者你是一个ABAP的高手的话,RFC也是很灵活的。
至于BAPI的话,我觉得SAP的bapi概念很好,但是接口很不完善,很多数据无法通过SAP本身的
BAPI完成,得自己来做开发。
对于bapi和rfc到底那个好用,我觉得没什么定论。
有时bapi好用,有时rfc好用。
bapi好用在于,其效率相对比较高,这个主要体现在有些bapi是用direct input的方式写的,
效率高。
但你如果用rfc写也有他的好处,当你写的不只是一个luw时,而每个luw都比较简单,
在这种情况下就用rfc开发比较快。
SAP的idoc文件替代了edi文件的作用。
ale是一种通讯的模式。
bapi,一种函数,sap提供一大堆,用于主要的业务流程的处理
rfc,一种函数,用于与外部程序调用
应该说RFC是其它内容的基础,它是一个Function module,可以被远程调用。而BAPI本身就是一
个RFC,但它被作为BO的Interface,作用更进一步,除了BAPI文档中提到的内容外,还可以作为
ALE/IDOC的开发基础。
ALE是R/3系统之间的应用层数据交换,至于用什么,就看具体配置了,比如可以用IDOC,同步/
异步BAPI,甚至用EDI。非SAP系统无法用ALE来实现。
至于数据传输的方式,可以是IDOC(底层是用RFC来实际的),也可以是EDI,所以说IDOC/EDI实
际上是数据的载体。
idoc是系统间利用message传递,不涉及底层函数调用,idoc的处理方式是用edi来执行的.
你可以理解为IDOC是SAP为了同外部系统或内部不同client通迅所采用的一种数据结构,不同的idoc type 定义了不同的格式,如关于material master data 的IDOC, BOM, PO,SO等相关的IDOC,, ALE 主要用于内部数据交换用的,如不同client, EDI用于同外部系统的交换数据,它们的本质都 是base on IDOC。。。idoc是基于sap自己的类似xml格式的文档数据交换的方式。idoc基于文档,可以实现异步的。
RFC是面向过程的,调用简单直接;
BAPI是面向对象的,有属性、有方法、有事件,更加复杂和丰富,更能反映SAP的业务应用,而
BAPI方法的构造是基于RFC的,你也可以认为BAPI封装了RFC
我觉得RFC在应用时最为灵活。
IDOC是SAP标准的文件交换格式,SAP已经有了大量的Function Module来处理和传递IDOC,特别
是对于要和其它系统交换数据时,配合一些系统如biztalk server,IDOC会显得非常的方便,开
发的工作量也是最小的。
RFC的话,如果配合SAP的BDC使用的话,或者你是一个ABAP的高手的话,RFC也是很灵活的。
至于BAPI的话,我觉得SAP的bapi概念很好,但是接口很不完善,很多数据无法通过SAP本身的
BAPI完成,得自己来做开发。
对于bapi和rfc到底那个好用,我觉得没什么定论。
有时bapi好用,有时rfc好用。
bapi好用在于,其效率相对比较高,这个主要体现在有些bapi是用direct input的方式写的,
效率高。
但你如果用rfc写也有他的好处,当你写的不只是一个luw时,而每个luw都比较简单,
在这种情况下就用rfc开发比较快。
SAP的idoc文件替代了edi文件的作用。
ale是一种通讯的模式。
bapi,一种函数,sap提供一大堆,用于主要的业务流程的处理
rfc,一种函数,用于与外部程序调用
应该说RFC是其它内容的基础,它是一个Function module,可以被远程调用。而BAPI本身就是一
个RFC,但它被作为BO的Interface,作用更进一步,除了BAPI文档中提到的内容外,还可以作为
ALE/IDOC的开发基础。
ALE是R/3系统之间的应用层数据交换,至于用什么,就看具体配置了,比如可以用IDOC,同步/
异步BAPI,甚至用EDI。非SAP系统无法用ALE来实现。
至于数据传输的方式,可以是IDOC(底层是用RFC来实际的),也可以是EDI,所以说IDOC/EDI实
际上是数据的载体。
相关文章推荐
- 与SAP集成的接口方式比较:IDOC BAPI RFC 之间的区别
- 与SAP集成的接口方式比较:IDOC BAPI RFC 之间的区别
- 与SAP集成的接口方式比较:IDOC BAPI RFC 之间的区别
- X11硬线接口信号 与Profisafe安全输入输出信号之间的区别与比较
- XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?
- XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式
- JDBCTM中Statement接口提供的execute、executeQuery和executeUpdate之间的区别
- private,public,protect这三种继承方式相互之间的区别
- 继承,抽象,接口之间的关系和区别
- 抽象类、派生类、接口之间有何联系和区别(读书笔记)
- idoc 和 bapi 和 rfc 之间的区别
- 实现接口成员的两种方式有何区别有什么用途
- 接口和 继承方式之比较的漫谈
- ASP.NET 页面之间传递值方式优缺点比较
- idoc 和 bapi 和 rfc 之间的区别
- 三种 bottom half的实现方式 softirqs, tasklets, work queue 及之间的比较
- MVC中两种网页跳转方式的比较和区别
- 关于抽象类和接口之间的区别
- private,public,protect这三种继承方式相互之间的区别
- ASP.NET页面之间传递值方式优缺点比较