SAP小技巧 控制移动平均价巨幅波动


点击蓝字 关注我们

前言

    

    移动平均价是SAP零售行业普遍采用的成本计算方式. 作为一个开发人员, 我就不去解释企业为什么要选择采用移动平均价及采用移动平均价的好处了. 这里只介绍一个移动平均价带来的问题及怎么解决这个问题

先说问题

   

    你见过一个商品的移动平均单价是几亿的么?我见过,它带来的业务问题是企业当期库存价值暴增.

一个曲折的故事

    故事的主角是一件商品,它的名字叫幸运儿.它的同伴们真名叫没人买,艺名 畅销品.

    某企业采购了1000个没人买,幸运儿混在其中,采购进价 100 元, 此时总库存价值100000,幸运儿和大家一样,都值100元.

    畅销品们从总仓调拨到9个门店,每个门店100个. 总仓还剩下100个,幸运儿留在了总仓,它偷偷溜到了一个舒适的角落睡大觉去了.

    畅销品们不喜欢自己的艺名,改回了本来的名字没人买,它们想回家了.

    幸运的是,供应商允许它们回家.但是不能用原价格回家,只能打八折回家. 

首轮增值

INTRODUCE

    仓库人员退货时,没找到睡大觉的幸运儿.退回了99个没人买.退完以后,总仓库价值=100*100-99*80 = 2080,总仓数量 1. 幸运儿完成了首轮增值. 它的身价变成了2080.

     总仓一声令下,门店开始逐步退仓.(门店退仓按总仓成本计算,这个合理吧.)

A

A轮增值

INTRODUCE

    A门店退回100个,总仓价值 2080*101. 总仓继续退供应商100个(幸运儿完成了A轮增值,身价 = 101*2080 - 100*80 = 202080).

B

B轮增值

INTRODUCE

    B门店退回100个,总仓价值202080*101.总仓继续退供应商100个(幸运儿完成了B轮增值,身价= 202080*101 - 100*80 = 20402080 )

C

C轮增值

INTRODUCE

    C门店退回100个,总仓价值20402080*101, 总仓继续退供应商100个(幸运儿完成了C轮增值,身价= 20402080*101 - 100*80 = 2060602080 )

D

D轮增值

INTRODUCE

    D门店退货100个, 总仓价值 2060602080 * 101,总仓继续退供应商100个(幸运儿完成了D轮增值,身价= 

2060602080 * 101 - 100*80 =  2.08121E+11   ) 

...

故事还在继续...

INTRODUCE

    ......

   此时幸运儿还在睡大觉, 他完全不知道自己已经变成世界首富了. 

真实的事件中, 艺名叫畅销品是一本书,书名:马XXX和XXXXX

     故事讲完了.大家也发现了移动平均价的问题了吧. 

    当然,实际情况会比这个复杂,但是时不时的总会有幸运儿冒出来.

那么怎么控制住这个问题呢?

扼杀幸运儿.在它首轮增值的时候就发现并揪住他. 让他对多出了的身价交税(调整成本价) 或者找到睡大觉的幸运儿,一脚踢回老家去,别在这捣乱.

SAP提供了一个异常成本价检查机制

配置路径:

注意类型需要选择VP

配置一下允许的差异上限

配置一下消息属性

可能有部分系统标准功能只是弹出 INFO message .不会报错.
找到 INFO  MESSAGE 的代码位置, 添加一个 ERROR MESSAGE
LMBGBFST   FORM pruefen_vpreis_popup  的最后的位置添加隐式增强


 data: wa_ZTMSGTY_306 type ZTMSGTY_306.
 DATA: L_MSGTY TYPE MSGTY.
  if msgno = 306.
 select single * from ZTMSGTY_306 into wa_ZTMSGTY_306
   where msgid = 'M7'
     AND MSGNO = '306'.
   IF SY-SUBRC <> 0.
      L_MSGTY = 'E'.
   ELSE.
     L_MSGTY = wa_ZTMSGTY_306-MSGTY.
   ENDIF.
     message ID 'M7' TYPE L_MSGTY NUMBER MSGNO
            WITH ausgabe monat gjahr mseg-matnr.
  endif.


后记

    

    移动平均价(成本价)是企业ERP中比较重要的一个环节. 很多项目初始化库存时,系统自动创建移动平均价.对于没有库存的,可能就会遗漏. 此时往往需要通过增强控制移动平均价(成本价)不能为空.否则一些业务操作没有记录成本,会导致利润偏高. 以后有机会就这个话题继续展开一下. 

如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.       

    (如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程. 越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.)

扫码进入公众号互动群

公众号 : syjf1976_abap

          ABAP开发技巧

微信号 : 392077

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值