均和interface有关。 sap的idoc文件替代了edi文件的作用。 ale是一种通讯的模式。 bapi,一种函数,sap提供一大堆,用于主要的业务流程的处理 rfc,一种函数,用于与外部程序调用
RFC有两个意思
一
网络名词RFC
二
外贸中的RFC
三
SAP中的RFC
一、网络中的RFC
RFC及RFC编辑者:
RFC(Request
For
Comments)-意即“请求注解”,包含了关于Internet的几乎所有重要的文字资料。如果你想成为网络方面的专家,那么RFC无疑是最重要也是最经常需要用到的资料之一,所以RFC享有网络知识圣经之美誉。通常,当某家机构或团体开发出了一套标准或提出对某种标准的设想,想要征询外界的意见时,就会在Internet上发放一份RFC,对这一问题感兴趣的人可以阅读该RFC并提出自己的意见;绝大部分网络标准的指定都是以RFC的形式开始,经过大量的论证和修改过程,由主要的标准化组织所指定的,但在RFC中所收录的文件并不都是正在使用或为大家所公认的,也有很大一部分只在某个局部领域被使用或并没有被采用,一份RFC具体处于什么状态都在文件中作了明确的标识
RFC由一系列草案组成,起始于1969年(第一个RFC文档发布于1969年4月7日,参见“RFC30年”,RFC2555”),RFC文档是一系列关于Internet(早期为ARPANET)的技术资料汇编。这些文档详细讨论了计算机网络的方方面面,重点在网络协议,进程,程序,概念以及一些会议纪要,意见,各种观点等。
“RFC编辑者”是RFC文档的出版者,它负责RFC最终文档的编辑审订。“RFC编辑者”也保留有RFC的主文件,称为RFC索引,用户可以在线检索。在RFC近30年的历史中,“RFC编辑者”一直由约翰•普斯特尔(Jon
Postel)来担任,而现在“RFC编辑者”则由一个工作小组来担任,这个小组受到“因特网社团”(Internet
Society)的支助。
RFC编辑者负责RFC以及RFC的整体结构文档,并维护RFC的索引。Internet协议族的文档部分(由Internet工程委员会“因特网工程师任务组”IETF以及IETF
下属的“因特网工程师指导组”IESG
定义),也做为RFC文档出版。因此,RFC在Internet相关标准中有着重要的地位。
RFC编辑者的职责是由Internet
中的大家提议形成的,所出版的语言也就和Internet一样。IETF和ISOC是代表了世界各地的国际性组织,英语是IETF的第一工作语言,也是IETF的正式出版语言。RFC
2026
"The
Internet
Standards
Process
--
Revision
3"
允许RFC翻译成其他不同的语言。但是不能保证其翻译版本是否正确。因此,RFC编辑不对非英语的版本负责,而只是指明了哪里有非英语的版本,将这些信息列在WEB页上。
1、同步RFC(sRFC, synchronous RFC)是RFC的第一个版本,它要求连接的双方是同步的工作方式,即都是在可用状态才能够实现成功调用。
2、异步RFC(aRFC,asynchronous RFC)这种RFC可以实现异步的RFC调用方式,它可以进行多个并发调用,并且不要求被调用系统的可用状态。发出调用系统会一直尝试直到获得被调用系统的应答。它通常用于当你需要提高系统并行调用多个RFC的效率,相对于强制等待程序的结果,它的效率更高。
3、事物RFC(tRFC,transactional RFC)是对aRFC进行相关技术改进后的一个RFC版本,其于aRFC相同点是实现异步调用,其优点是可以将多个调用进行LUW分组处理, 并只执行一次运行。现在aRFC基本上已经停用。
4、队列RFC(qRFC,queue(d) RFC)是tRFC的一个增强版本,它保证了所传输数据的处理次序,并可用于SAP-SAP及SAP-non SAP。
5、并行RFC(pRFC,Parallel RFC)是一种特殊的RFC,它是aRFC的一种扩展类型。因为它改善了系统的性能,在执行大量的aRFC时。SAP 使用它在MRP里面提高速度。但是它只能执行在同一个系统和同一个client里。
跨语言通讯我从通用的角度上说。
1 内联代码:这个貌似Java会和SAP系统紧密一些,不过你需要SDK和Java语言,然后Java和C++通讯,这个网上资源应该比较多,你也可以做一些控制。
2 通过一部分资源共享(内存,文件,各种socket),不过你要确定SAP系统一定会在恰当的时候读这些资源,并且格式正确。SAP的系统比较奇葩,非常抽象,所以我一点也不看好这种做法。
3 (不太现实)请设计原生编译器编译C、C++到SAP系统内部语言,或者就是直接从底下写一套C++、C的接口。
总之,SAP系统本身就是奇葩一朵,几种通用编程规范(主要是Posix)基本没几条适用,再者SAP系统并非单纯为了组织计算资源的系统,在设计目的上更加偏向密集数据的分析和应用,各种商业逻辑的实现,最后连SAP自己的语言都要基于数据库来完成。所以如果要做lz这样的事情,感觉已经是编写系统的范畴,不仅不容易,而且不一定会出彩。
如果您仍然想要做这样的事情,可以参考一下Qt在signal slot方面的实现方法,比如代码的再分析啊,各种序列化啊这种,可能借鉴意义比较大。
以上说法纯口胡的成分比较大,我就是一说,做个建议。
BAPI和RFC不是同一个层次上概念,不能说从字面上看到BAPI函数和RFC函数就认为他们之间有必然的联系和区别。打个比如,问一个问题:人可以分为哪几类,答曰:男人和老人,呵~~,大家都知道,男人是基于性别来说的,老人是基于年龄的。BAPI是SAP提供的基于业务对象的函数,关键是它们处理的对象是R/3的业务相关business object),比如单据类销售订单,组织:公司等,它们是一系列实体。RFC则是一种系统间通讯的方式(Remote Funciton Call),一个男人可能同时也是一个老人,一个BAPI函数往往能是一个RFC函数(我不知道是不是所有BAPI都可以有基于RFC技术来调用,但是至少也可以说大部分吧,VB里面用BAPI,就是因为这个BAPI函数具有RFC的特性)
BAPI是个SAP里一个很好的思想,把业务对象都对象化了。刚学ABAP/4时,并不能理解SAP所说”ABAP/ 4”中的‘4’,而觉得它更像是一种脚本语言,顶多也就是和C一样,但是自从我接触了BAPI之后,我才体会到SAP说ABAP是种4G语言的确不虚。 当在外部调用BAPI的时候,比如VB,就可以把SAP里的诸如订单,物料,员工,工厂等作为一个对象来处理,而且这种处理又是那么的简单,可能只要几句代码就可以了,最关键就是:1收集BAPI函数所要的数据,也就是BAPI输入参数,VB也好,SAP本身的 Screen也好,甚至Web页面也好,只不过是一个数据收集器!(要作一些必要的数据检查保证它们是正确的,不过即使不正确也没有关系,BAPI会返回错误信息) 收集完成了,就送给BAPI作为参数,剩下的事都是BAPI给做了,你就不用管了! 2接收BAPI返回的信息,也就是BAPI输出参数,并把它们“翻译”成恰当的形式给表达给用户
以上就是关于哪位高人来说说,EDI ALE BAPI RFC IDOC等的关系先谢全部的内容,包括:哪位高人来说说,EDI ALE BAPI RFC IDOC等的关系先谢、什么是RFC文档、急急急,RFC的需求等级分为哪五类等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)