请教一个关于BAPI的问题

经常有被问到:大概意思是如何把一个FUNCTION封装成BAPI,我一直觉得BAPI就是个FUNCTION,有什么区别吗?哪位能给个解释!... 经常有被问到:大概意思是如何把一个FUNCTION封装成BAPI,我一直觉得BAPI就是个FUNCTION,有什么区别吗?哪位能给个解释! 展开
 我来答
匿名用户
2014-05-18
展开全部
functin module也就是功能模块,顾名思义就是将实现特定功能的程序封装成模块,对外是独立的,只由传入传出参数进行连接。bapi和FM是两个完全不同的概念,BAPI是SAP里一个很好的思想,把业务对象都对象化了。刚学ABAP/4时,并不能理解SAP所说”ABAP/4”中的‘4’,而觉得它更像是一种脚本语言,顶多也就是和C一样,但是自从我接触了BAPI之后,我才体会到SAP说ABAP是种4G语言的确不虚。 当在外部调用BAPI的时候,比如VB,就可以把SAP里的诸如订单,物料,员工,工厂等作为一个对象来处理,而且这种处理又是那么的简单,可能只要几句代码就可以了。一个bapi对应一个特定对象类型的对象,但是一个对象可以用多个bapi来实现,对象包含接口,关键字段,属性,方法和事件,而每一个方法都会用一个FM来实现,bapi可以只实现对象下部分的方法。楼主所说的bapi也许指的就是方法对应的fm吧,其实这只是bapi的皮毛而已相关的tcodebapi--bapi浏览器se37--建立fmSWO1--业务对象维护说到bapi,不得不说下RFC这东西,不能说从字面上看到BAPI函数和RFC函数就认为他们之间有必然的联系和区别。打个比如,问一个问题:人可以分为哪几类,答曰:男人和老人,呵"",大家都知道,男人是基于性别来说的,老人是基于年龄的。BAPI是SAP提供的基于业务对象的函数,关键是它们处理的对象是R/3的业务相关(business object),比如单据类销售订单,组织:公司等,它们是一系列实体。RFC则是一种系统间通讯的方式(Remote Function Call),一个男人可能同时也是一个老人,一个BAPI函数往往能是一个RFC函数综合概括就是:一个FM可以是bapi的实现(即面向对象的bapi函数),同时也可以用RFC来实现通讯(即允许远程访问的RFC函数),这两者是不矛盾的,这个时候可以说这个bapi是基于RFC来调用的,当然bapi也可以不基于RFC来调用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-05-18
展开全部
非常感谢,说的很透彻. 我也找了点相关资料,练习了下SWO1,正如楼上所说。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式