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

  

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实 
际上是数据的载体。

idoc 和 bapi 和 rfc 之间的区别的更多相关文章

  1. 【MM系列】SAP ABAP BAPI 和 RFC 的区别

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP BAPI 和 ...

  2. IDOC、ALE、EDI三者之间的区别于联系

    EDI (Electronic data interchange) - 是指按照同一规定的一套通用标准格式,将标准的经济信息,通过通信网络传输,在贸易伙伴的电子计算机系统之间进行数据交换和自动处理.由 ...

  3. UTF-8 GBK UTF8 GB2312之间的区别和关系

    UTF-8 GBK UTF8 GB2312之间的区别和关系     UTF-8:Unicode TransformationFormat-8bit,允许含BOM,但通常不含BOM.是用以解决国际上字符 ...

  4. select、poll、epoll之间的区别总结

    select.poll.epoll之间的区别总结 05/05. 2014 select,poll,epoll都是IO多路复用的机制.I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪 ...

  5. 你真的会玩SQL吗?EXISTS和IN之间的区别

    你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...

  6. [转]ExtJs基础--Html DOM、Ext Element及Component三者之间的区别

    要学习及应用好Ext框架,必须需要理解Html DOM.Ext Element及Component三者之间的区别. 每一个HTML页面都有一个层次分明的DOM树模型,浏览器中的所有内容都有相应的DOM ...

  7. iOS中assign,copy,retain之间的区别以及weak和strong的区别

    @property (nonatomic, assign) NSString *title; 什么是assign,copy,retain之间的区别? assign: 简单赋值,不更改索引计数(Refe ...

  8. javascrip中parentNode和offsetParent之间的区别

    首先是 parentNode 属性,这个属性好理解,就是在 DOM 层次结构定义的上下级关系,如果元素A包含元素B,那么元素B就可以通过 parentElement 属性来获取元素A. 要明白 off ...

  9. 面试问题5:const 与 define 宏定义之间的区别

    问题描述:const 与 define 宏定义之间的区别 (1) 编译器处理方式不同     define宏是在预处理阶段展开:     const常量是编译运行阶段使用: (2) 类型和安全检查不同 ...

随机推荐

  1. netty ByteBuf分析

    1.Heap Buffer(堆缓冲区) 2.Direct Buffer(直接缓冲区) 3.Composite Buffer(复合缓冲区) 4.PooledByteBuf 池缓冲 readerInex ...

  2. 【Android】Handler、Looper源码分析

    一.前言 源码分析使用的版本是 4.4.2_r1. Handler和Looper的入门知识以及讲解可以参考我的另外一篇博客:Android Handler机制 简单而言:Handler和Looper是 ...

  3. rails利用big_sitemap生成sitemap

    # Gemfile gem 'big_sitemap' # lib/tasks/sitemap.rake require 'big_sitemap' namespace :custom do desc ...

  4. KIS旗舰版常用数据表

    select * from IC_Web2ERPOrders  --网上订单  FOrderStatus 14--已发货,6--待发货,2--待配货,1--未审核 (审核后变为2,进入待配货)sele ...

  5. Android中使用POI加载与显示word文档

    最近打算实现一个功能:在Android中加载显示Word文档,当然这里不是使用外部程序打开.查看一些资料后,打算采用poi实现,确定了以下实现思路: 将ftp中的word文档下载到本地. 调用poi将 ...

  6. java中产生对象的两种方式

    /* * 普通new对象的过程! */ Person pp = new Person(); System.out.println(pp); /* * 利用代用参数的构造器产生对象实例! * 首先获得相 ...

  7. redis实现有序的消息队列

    redis是什么东西就不多说了,网上文章一搜一大堆. 首先来说一下我要实现的功能: 类似一个消息中转站吧,如果有人要发送消息,先将消息发到我这里来,然后我这边进行转发,为的就是有一个统一的管理和修改时 ...

  8. Android 学习笔记之Volley(六)实现获取服务器的字符串响应...

    学习内容: 1.使用StringRequest实现获取服务器的字符串响应...   前几篇一直都在对服务——响应过程的源码进行分析,解析了整个过程,那么Volley中到底实现了哪些请求才是我们在开发中 ...

  9. redis配置文件

    # redis 配置文件示例 # 当你需要为某个配置项指定内存大小的时候,必须要带上单位, # 通常的格式就是 1k 5gb 4m 等酱紫: # # 1k => bytes # 1kb => ...

  10. C语言编译过程详解

    前言 C语言程序从源代码到二进制行程序都经历了那些过程?本文以Linux下C语言的编译过程为例,讲解C语言程序的编译过程. 编写hello world C程序: // hello.c #include ...