如果 你还不知道什么叫函数 ,看下面这个链接。
[ SAP接口中的函数与参数
](http://mp.weixin.qq.com/s?__biz=MzI0MjQ2OTUxNw==&mid=2247486392&idx=1&sn=9d68fa7813b684f0835a3b4bb8b5a08d&chksm=e97a945ade0d1d4c882e51048deb9d40b07442b4b0c22cb25a8b8e003ffc452a4d5e7386fa4b&scene=21#wechat_redirect)
**A: 那么BAPI是什么呢?
** 其实BAPI 也是函数的 一种,结构和函数一模一样。 **
**
我们判断一个函数是不是BAPI , 要从业务上讲 。
举例来讲,我们要修改一个物料描述,如下图
我们需要输入,物料号 4128 和 华为CPU 。
** 如果是BAPI 的话,参数里面是有这两个字段的 ** 。
**
**
**B: 没有BAPI ,需要自己做SHDB录屏
** 如果 没有BAPI 的话,SE37里连名字都找不到。 就需要我们做SHDB录屏了
**C** **: 没有BAPI ,SAP帮我们做录屏
** 这个时候,你网上找到的是:录屏加了外壳,变成函数。并不是真正的BAPI (不能像前面那样直接传入我们想要的,而是按照录屏的模式)
例如 FICO模块的清账,你网上搜BAPI,结果出来是函数(能完成清账功能)。
正常来讲,我们标准清账 只需要凭证号码和行项目足够了 ,你是BAP的话 应该有这两个参数 (其他清账的话参数应该更丰富。 )
**我们再看看 用法举例**
上面的代码和下面界面是一 一对应的。
** 其实,这个是SAP内置的一个简化的录屏函数 ** 。
**小结:**
我们想批量导入、批量更改某些数据时,都要去找BAPI .
(一)如果有BAPI 我们直接传值,比如前面讲的直接,输入物料编码和新描述,即可完成。
(二)如果没有BAPI的话,我们只能用录屏了(SHDB)。你不但要告诉 物料编码和新描述, 还要告诉系统,你用哪个事务码,点击了哪个按钮,模拟人工操作
。
(三)还有一种情况,就是函数。
理论上没有BAPI ,就需要我们自己做录屏模拟人工操作. 但是呢SAP有时候自己帮我们做一个录屏,然后变成函数提供给我们用,但本质上还脱离不了录屏那个套路。
** 这个知识点对业务顾问的影响
** 录屏做批量处理,受外界的影响的太大了,你的 **SAP界面设置不同,点击的顺序不同,结果可能都不同** 。
BAPI的话, 只要保证你的数据正确 就可以了,不用考虑操作界面。
所以没有BAPI的话,系统出错的概率就非常大,你需要多测试。
再比如前面那个清账的函数,因为我们操作界面没有行项目,所以函数里也没有行项目, 不能怪ABAP顾问, 我们得想办法才行 。