笔者在做某个项目的进销存报表优化的的时候,发现了一个奇怪现象:MB5B查某个日期或某个期间的库存的时候,发现有负的库存余额!
以物料为号1400005012为例,MB5B,
期初金额与期末金额都是负数?尼玛,这不科学啊!某一天的物料库存余额怎么能为负数呢?笔者很是好奇与不解。于是去上网查资料,发现有不少同行都有发现这个现象!笔者还发现了某外国同行写的一篇BLOG, 看了这个BLOG,笔者茅塞大开。
如下文字来自互联网该同行的BLOG, 与诸多同行朋友共勉。
https://blogs.sap.com/2008/06/08/mb5b-offers-negative-results-when-executed-per-posting-date/
Manyusers see negative results when they execute the transaction MB5B for aspecific posting date, even when the negative stocks have not been allowed inthe customizing.
Weneed to consider that, at the time of the goods issue, the system onlyvalidates whether sufficient stock is available in the complete posting period,and not on a specific posting date.
Thestock and value information is kept in the tables on a period basis.
Thetable entries relate to the complete posting period, and not to a specificposting date.
Ifthere is stock enough in a posting period, the system will indeed allow theposting, even if it does not make sense according to the specific date withinthe period.
Ifwe were posting the goods issue in a different period in which we do not havestock, the system would indeed send an error message, but if the postings occurin the same period with different dates, the system will not issue anyerror.
Forexample, we can have the following situation:
Stock in the period 04/2008 | 0 PC |
---|
Goodsmovements in the period 05/2008:
Movement | Posting date | Date of entry | Quantity |
---|---|---|---|
Goods Receipt | 20.05.2008 | 20.05.2008 | 10 PC |
Goods Issue | 10.05.2008 | 21.05.2008 | 10 PC |
Thesystem allows this goods issue to be posted with a posting date before than theposting date in the goods receipt because on the period 05/2008 we have stockenough to save this goods movement. The system checks for stock in the wholeperiod, and not to specific dates within the period.
Ifnegative stocks are not allowed in the system, this goods issue could not havebeen executed with posting date in the previous month (04/2008), because inthis period we do not have stock. In this case the system sends the errormessage M7021 reporting a deficit of stock at Storage Location level in theprevious period (M7 021 “Deficit of SL Unrestr. prev. + Quantity: Material,Plant, Storage Location”).
Inthe stocks tables (MARC, MARD, MBEW) the system will never allow negativestocks if you make the settings for negative stocks NOT allowed in Customizingfor Inventory Management by using transaction “OMJ1”.
Reportslike MB5B (Stock on posting date) can offer negative results when executed fordates previous to the goods receipt, but this is only a reporting issue: if theprogram is correctly executed for the complete period (month/year), it shouldnever show negative values.
Forthe example we were discussing before:
MB5Bexecuted with a selection date within the month like 10.05.2008:
Willindeed offer negative stocks:
However,when executed for the complete posting period with selection date from the01.05.2008 to the 31.05.2008, the negative stocks are no longer listed:
Soyou will need to consider if it makes sense to post a material movement with aposting date lower than acquisition date.
If you do the goods issue postingcorresponding to the real goods issue date in your stock, this incidence willbe avoided.
2018-08-24 晚上整理于杭州市.