1,业务背景及方案
首先介绍一下业务背景:
17年11月份集团下某公司SAP ERP上线,SAP系统和医疗门诊HIS系统做接口,采购、销售等数据通过接口传输。随后发现因为HIS系统与SAP系统内部逻辑差异,同时接口存在问题,导致两个系统内数量、成本差异过大。
经讨论决定,HIS系统修改内部逻辑。
于18年1月31日盘点门诊实际库存,所有未清单据全部处理。
HIS及SAP同时对账面库存进行处理,使之等于实际库存。
同时调整SAP库存成本,以HIS成本为主。
方案实行前半部分非常顺利:
1、制作老师摸我(LSMW)批导工具。
2、实盘数与SAP账面数做差异对比。
3、差异部分做盘盈、盘亏处理。
4、再次检查账面库存数量与实盘数量是否相同。
2,问题排查
数量调整完毕,后半部分是调整库存成本,事物代码MR21调整移动平均价。
在测试机测试结果如下:
上图凭证生成后,MB52库存金额发生改变,同时后台表MBEW物料移动平均价修改为新价。
然而生产机的实际操作遭遇了神秘事件:
上图凭证生成后,MB52库存金额无变化,后台表MBEW物料移动平均价无变化!惊了!这不科学!
赌上青涩顾问的尊严,立刻开启问题排查模式:
1、是不是一次导入上百条,系统正在后台处理,需要一个缓冲时间才能显示出效果?
检查SM12是否有锁定条目,结果就是【我的胃空空如也】——出自LOL深渊巨口,如下图
划水半个小时之后,库存金额仍然没有变化,第一种可能基本排除。
2、仔细对比测试机数据和生产机行项目数据,并没有发现本质上的不同,最大的区别在于测试机只有三个行项目,生产机有上百条……是不是因为条目数过多导致系统处理错误?
本着勇于尝试的心理,在800中做了一条只有一个行项目的价格修改凭证,库存金额及移动平均价仍不变。第二种可能基本排除。
3、众人拾柴火焰高,财务小伙伴提出了新思路,会不会和价格修改凭证过账日期有关?
300测试机凭证过账日期为12月30日,物料帐开到12月。
800生产机凭证过账日期为1月31日,物料帐开到2月。
MR21保存之后会生成一张价格修改凭证(性质类似物料凭证),价格修改凭证关联会计凭证。
仔细对比测试机和生产机凭证数据,发现端倪。
检查800两张会计凭证,如下图
会计凭证4800000001刚好将4800000000抵消掉。所以MB52实时库存金额无变化。
那么新的问题来了——
3.1、为什么系统会自动生成4800000001将价格调整抵消掉?
经过大量测试及查阅资料发现,SAP对价格调整有一套标准逻辑:
假定修改前单价20CNY,共10PC,库存价值200CNY。1月份把单价修改为15CNY。此时在1月份产生凭证借:差异 50,贷:库存50。由于当前的MM期间是2月,为了保持2月初的库存不变,系统自动产生了冲销的会计凭证。也就是说在以前的物料期间价格修改的结果不会自动更新到当前期间。
3,干货总结
总结干货如下:
MR21调整价格时,
如果过账日期选在上一期间,系统会生成两张会计凭证,以保证结果不会影响当前期间。
如果过账日期选在当前期间,系统会生成一张会计凭证,MB52库存成本会根据新价格产生变化,记到营业成本-价格调整差异科目,后台表MBEW移动平均价会变为新价。
如果非要过账期间选在上一期间,同时影响当前期间价格,有一良策可破之,T-CODE:OMRN。如下图:
以上。
感谢分享!
2019-06-21 1:54 上午网站很好很纯真啊,就是没人投稿啊
2019-06-21 2:31 上午网站服务器的系统时间应该有问题
2019-06-21 2:32 上午
2019-06-21 3:29 下午现在应该好了