一、概述
在SAP MM模块最重要的数据无非就是供应商主数据了,在SD模块中是客户主数据了。
在ECC 中这个都不是事,建立一个分组,然后给分组分配一个编码范围,其他保持默认就OK了。
但是到了S/4 HANA中,引入了一个BP业务合作伙伴的概念,很多人就卡在编码范围这个地方了。

引入BP 来讲对于前端来讲变的就非常简单了。ECC中的供应商数据 FK01 FK02 FK03 MK01 MK02 MK03 XK01 XK02 XK03 以及销售主数据 VD01 VD02 VD03 FD01 FD02 FD03 XD0 1XD02 XD03 新增修改显示去全部用一个事务码BP搞定,还包含其他地址、人员等其他数据也集成到了BP里面。

这中设计理念也与S/4 HANA 大道至简的理念。

但是这中设计理念就像现在的芯片一样,在方便前端的同时,后台的设计也变的复杂起来。

如果没弄清原理,即便配置通过了也会出现下面的问题。

二、对于BP业务合作伙伴的原理,我举一个案例就豁然开朗了。
我们知道SAP中有物料编码,MM01创建时可以自动编号,也可以手工编号。
自动编号:SAP就会根据 1001 1002 1003 …..自动编号下去。
手工编号,你可以用1001 1003 1005 1006这种方式编号。
如果公司有了OA系统之后,那么就不会手工在SAP中直接创建编码了,在OA里面发起物料编码申请,审批完成之后通过接口自动在SAP里面创建。
这样就会出现一个问题:
OA会根据自己的规则,在OA内部做一套编码,SAP本身有一套自己的编码规则。
那么两套编码是如何统一呢?
SAP手工编号
因为有两套编码规则,并且是从OA发起传到SAP的,这就要求SAP的编码规则需要服从OA的编码规则。
就是说SAP要用手工编码,被动接收OA发过来的编码(当然了发过来的编码要在SAP设定好的编码范围内)。
SAP自动编号
如果SAP 用的是自动编码会怎样,OA发过来的名称、单位等信息SAP会接收,但是编码会根据SAP当时编到哪里了自动加1 。如果你设计的非常完美,那么两边编码就会一致,如果那边的系统编码卡住报错了,编码就会错乱了。(这个问题很普遍,OA里面刚把自己的编码+1,在传递时SAP还没来得及+1就断网了)
注: 写接口时只传名称、单位等信息,OA里的编码就不要传给SAP了,如果你传了编码接口就会报错.
小贴士:OA为什么自己编一套,抓取SAP的不行吗?
OA里面是自己开发的,可以根据物料类型、物料组等做一套更细分的编码,SAP只能根据物料类型做一个编码。

三 回到SAP BP 业务合作伙伴设计
看完上面的案例在来理解 BP的设计理念。
BP 中虽然前台看起来只有一个编码,但是后台设计是分两个地方存储的。
BP数据存在 BUT000表中
供应商数据存在LFA1 表中,客户主数据存在KNA1表中
因此需要设计两套分组、两套编码,如下图,再结合前面OA的案例,是不是就理解设计原理了呢。

具体的操作方法我已经录好了视屏课程,扫描屏幕右边的二维码,或者直接加我微信 sapyangjia 把文章推荐给两个好友就可以免费领取啦。