ITPub博客

首页 > Linux操作系统 > Linux操作系统 > BAPI&FM(转)

BAPI&FM(转)

原创 Linux操作系统 作者:haojin_99 时间:2009-07-14 11:22:29 0 删除 编辑
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的皮毛而已

相关的tcode
bapi--bapi浏览器
se37--建立fm
SWO1--业务对象维护

说到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来调用。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/181844/viewspace-609117/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-12-17

  • 博文量
    13
  • 访问量
    43574