一、业务背景
目前公司有一种电商业务,卖的是备品配件,是公司先跟供应商采购,然后再销售给客户,系统账就是按照正常业务来流转,公司进行采购订单入库,然后销售订单出库。
不过这种备品配件,实物是不经过我们公司的,而是从供应商的生产工厂直接发货给客户(系统会专门给这些供应商设置一个库存地点,如XXX供应商成品仓,入库时就入到这个库位,发货时也通过这个库位来发,便于对账),然后这个时候存在一种客户退货的业务场景,由于实物是不经过我们公司的,那么对于客户退货,有一部分也是供应商自身的原因,所以客户退货时,我们需要由供应商那边承担一定的责任。
基于这种客户退货,我们公司和供应商各自承担一部分责任的场景下,我们需要在SAP里面重新下采购订单,入库后再重新发货给客户(至于客户退货的那部分,属于在供应链平台管理,SAP系统不记账,所以没有库存重新发货),并且这部分采购订单的定价,需要做好折扣,譬如原本10块钱/PC的,现在公司和供应商分别承担50%的责任,那么我们下采购订单给供应商时,这个单价就变成了5块钱/PC。
也就是说,目前我们的重点,有两个; (1)重新跟供应商下采购订单时,如何定价,因为每个物料,跟供应商分别承担的比例是不一样的
(2)物料跟供应商下单采购,正常的业务是不能有折扣的,只有这种客户退回来的,重新跟供应商采购补货给客户的,才需要折扣。
目前讨论了一种系统的实现方案;
二、原理
(一)新增订单类型
1、新增一个采购订单类型ZNB7,用于区分是正常的采购业务,还是这种客户退货后,需要重新跟供应商下单采购的业务
(二)配置与供应商的折扣
1、通过新增折扣条件表,让用户在前台使用MEK1事务码,维护物料与供应商对应的折扣价;并且更新到定价过程中;(条件表关联的字段为:供应商 + 订单类型作为表头,物料作为项目)
2、新增存储顺序Z001,把折扣条件表分配到存储顺序中,
3、新增折扣条件类型Z001:然后再把存储顺序Z001分配到折扣条件类型Z001中;
4、把折扣条件类型添加到采购定价过程中
(三)前台操作效果
1、用户维护MEK1折扣价;
2、当用户创建ZNB7采购订单时,根据条件表维护的供应商和物料,自动带出来对应的折扣条件类型;
3、增加一个增强校验,当采购订单类型ZNB7没有找到折扣条件类型Z001时,报错;(防止用户漏维护MEK1的折扣数据)
三、后台配置实现;
1、后台配置
(1)新增采购订单类型ZNB7
(2)新增采购折扣的条件表:A501,字段包含:供应商、物料、采购订单类型;
(3)新增存储顺序Z001,把表A501添加到存储顺序中
(4)新增折扣相关的条件类型:Z001
(5)把存储顺序Z001关联到折扣的条件类型Z001中;
(6)把条件类型添加到采购订单对应的定价过程中;
(7)后台配置完成,前台MEK1维护Z001的折扣条件类型,绑定供应商、物料、采购订单类型;
(8)正常测试:创建ZNB7的采购订单,可以正常带出来对应的折扣条件类型;
2、增强控制
采购订单增强控制,特定采购订单类型时,必须要带出来条件类型Z001,否则就报错(防止用户忘记维护条件表,而导致创建采购订单时没产生折扣)
CMOD:EXIT_SAPMM06E_012。INCLUDE ZXM06U43
四、系统配置完整记录
(一)新增采购订单类型
新增采购订单比较简单,这里就不讲解了,复制其他订单类型新增即可。
(二)配置与供应商的折扣
1、新增折扣条件表
为了让用户可以在前台MEK1维护着特定采购订单类型下,针对不同的供应商,维护不同的物料折扣,需要单独配置一个采购折扣表;
新增条件表A501时,系统标准不存在“订单类型”这个字段,需要单独进行额外的配置操作
说明:定义条件表;
有3个相关的结构需要维护:
KOMG(允许条件结构字段)
KOMK(定价通讯抬头)
KOMP(定价通讯项目)
要把我们需要添加的字段添加到这3个表里,KOMG表是必须要添加的(上面创建条件表时,找不到字段就是这里维护的),抬头字段添加到表KOMK,行项目字段添加到KOMP,我这里要添加的字段是采购订单类型BSART,所以需要添加KOMG和KOMK
1.1、维护KOMG结构
新增附加结构,添加对应的条件字段BSART;
添加外键,用于维护条件记录时,检查数据
1.2、维护KOMK结构
由于KOMK表中自身已经有哦BSART这个字段,不需要另外新增处理
1.3、重新维护新增A501条件表
(1)KOMG结构维护了BSART字段后,下面可以看到该字段
(2)这技术视图中的配置需要注意,会影响到后面使用MEK1维护折扣时,抬头和行项目物料的维护方式(哪个字段属于抬头,哪个字段属于行项目,需要自己考虑清楚)
(3)点击左上角的字典元素,也能看到这个字段对应的表是KOMG,这也能解释,为什么需要先在这个结构添加字段
(4)点击激活生成表A501
没有维护外键时,会有以下提示;
维护外键后,没有黄色警告;
2、新增存储顺序Z001,把折扣条件表分配到存储顺序中,
2.1、新增存储顺序Z001
3、新增折扣条件类型Z001:然后再把存储顺序Z001分配到折扣条件类型Z001中;
可以参考标准的条件类型:R000 总价折扣 %
4、把折扣条件类型添加到采购定价过程中
(三)前台操作效果
1、用户维护MEK1折扣价;
2、建单测试
当用户创建ZNB7采购订单时,根据条件表维护的供应商和物料,自动带出来对应的折扣条件类型;
3、增加一个增强校验
当采购订单类型ZNB7没有找到折扣条件类型Z001时,报错;(防止用户漏维护MEK1的折扣数据)
至此,整个方案初步设计完成,剩下的就是让用户使用测试,再根据实际情况进行迭代优化了。