请教一个关于BAPI的问题
答案:2 悬赏:60 手机版
解决时间 2021-02-13 13:21
- 提问者网友:酱爆肉
- 2021-02-13 02:55
经常有被问到:大概意思是如何把一个FUNCTION封装成BAPI,我一直觉得BAPI就是个FUNCTION,有什么区别吗?哪位能给个解释!
最佳答案
- 五星知识达人网友:执傲
- 2021-02-13 04:22
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来调用。
全部回答
- 1楼网友:夜风逐马
- 2021-02-13 05:36
是啊,没有办法就找了一个bapi自己检查了。bapi_material_availability.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯