与SAP集成的接口方式比较:IDOC BAPI RFC 之间的区别

se37写出来的叫function,其中可以远程调用的叫rfc,remote-enabled function,abap语法和输入输出参数就会有一些限制。bapi是sap做好的实现特定业务操作的rfc。idoc是基于sap自己的类似xml格式的文档数据交换的方式。rfc必须在线的方式调用,一般做同步的,idoc基于文档,可以实现异步的。

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实

际上是数据的载体。

时间: 2024-08-28 10:35:04

与SAP集成的接口方式比较:IDOC BAPI RFC 之间的区别的相关文章

Java EE开发平台随手记5——Mybatis动态代理接口方式的原生用法

为了说明后续的Mybatis扩展,插播一篇广告,先来简要说明一下Mybatis的一种原生用法,不过先声明:下面说的只是Mybatis的其中一种用法,如需要更深入了解Mybatis,请参考官方文档,或者研读源码. 我们知道,使用Mybatis的方式有很多种,从是否集成上分,可以单独使用,也可以和Spring集成使用:从使用方式上分,可以编写静态工具类,在静态工具中调用SqlSession,也可以直接注入SqlSession/ SqlSessionTemplate,还可以编写Dao接口,让mybat

Mybatis接口方式

第三节接口方式[推荐]/动态SQL语句 2016年3月19日 星期六 08:31 MVC目录结构: Src -- com.shxt.servlet[控制层] --com.shxt.service[业务逻辑层] --com.shxt.model[实体Bean,用来承载数据] --com.shxt.dao[data access object数据访问层,执行SQL] 使用接口的规则 接口方式:处理多个参数的规则 动态SQL之Where语句 更新 添加操作 批量处理 接口方式需要注意的规则

Android集成支付宝接口 实现在线支付

手机的在线支付,被认为是2012年最看好的功能,我个人认为这也是移动互联网较传统互联网将会大放光彩的一个功能. 人人有手机,人人携带手机,花钱买东西,不再需要取钱付现,不再需要回家上网银,想买什么,扫描一下,或者搜索一下,然后下单,不找零,直接送到你家,这将是手机支付给我们带来的全新交易体验.谷歌刚推出了谷歌钱包,这必是我们后面要使用的主要手段,但是鉴于当前国情,我觉得有必要介绍一下android手机集成支付宝功能. 1.下载官方架包和说明文档其实官方已经提供了安装指南,下载地址:https:/

外网登陆SAP的两种方式

1.用SAP router实现从外网登录SAP服务器(方式一) 自已搭建的局域网结构如下: SAP服务器IP: 192.168.0.2, 路由器中设为DMZ区 在SAP服务器上启用SAP router,即可 SAP router的搭建非常简单: 1.找到SAP的安装目录(例如D:\usr\sap\ECC\DVEBMGS00\exe\),可以看到saprouter.exe文件 2. 用记事本建立一个名为SAPROUTTAB的文件(没有扩展名), 输入 P * * * 后保存 3.打开c:\syst

接口方式[推荐]/动态SQL语句

MVC目录结构: Src -- com.shxt.servlet[控制层] --com.shxt.service[业务逻辑层] --com.shxt.model[实体Bean,用来承载数据] --com.shxt.dao[data access object数据访问层,执行SQL] 使用接口的规则 接口方式:处理多个参数的规则 动态SQL之Where语句 更新 添加操作 批量处理

Java面向对象作业-用接口方式测试向下转型

Java面向对象作业-用接口方式测试向下转型 根据视频的里实例 我们直接修改Test2测试方法: 1 package com.java1234.chap03.sec13; 2 3 public class Test2 { 4 5 public static void main(String[] args) { 6 People p1=new Student(); 7 p1.say(); 8 9 Student student=(Student) p1; 10 student.say(); 11

03_线程的创建和启动_实现Runnable接口方式

[线程的创建和启动的步骤(实现Runnable接口方式)] 1.定义Runnable接口的实现类,并重写其中的run方法.run()方法的方法体是线程执行体.class SonThread  implement Runnable{ public void run(){......}} 2.创建Runnable接口实现类的实例.   sonThread s1=new SonThread(); 3.用该实例作为Thread的target来创建Thread对象.   Thread t1 =new Th

Android实现接口方式注册监听器

初学Android,新手大都倾向使用匿名类的方式注册监听器, 如下: public class MainActivity extends Activity { private Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button =

java多线程--实现Runnable接口方式

因为java类只能继承一个类可以实现多个接口的特性,所以一般情况下不推荐使用继承Thread类实现多线程,下面是实现Runnable接口方式的简单多线程代码 package text; /** * 多线程 * @author admin * */ public class Threads { public static void main(String[] args){ Thread_1 t1=new Thread_1(); Thread thread1 =new Thread(t1); thr