引文:

以前看到ATM网上发表了《SAP一句话入门》,但没有提到WM模块,所以自己想来写一写,本想把这篇文章取名《SAP一句话入门:Warehouse Management》的,但后来越写感觉越不够通俗,觉得这样会对不起大家,所以就不敢用了。

 

言归正题,一些朋友不太了解WM是怎么回事,觉得仓库管理不就是MM物料管理么,或者找不到它们之间功能上的区别。下面就让我随便聊聊WM吧,理不理解不要紧,你也随便看看,哈哈。

WM,即Warehouse Management(仓库管理)。从SAP对其定义的范畴来看,在早期的版本中,把它作为MM物料管理模块的一部分,从4.5版本开始,把它跟装运(Shipping)、运输(Transportation)等模块一起,作为LE后勤执行(Logistics Execution,也叫物流执行)模块的子模块。注意:这里提到的WMSAP R/3SAP ERP中的模块,另外,在SCM系统中,也有自己的WM模块,并取名为EWM,即Extended Warehouse Management。有关EWM我在这里就不多提了,因为我也没有机会接触SCM系统。

WM之所以叫仓库管理,或仓位管理,显然它是以仓库结构体为核心,来控制物料在仓库中,以及仓库与外界(在物理位置的仓库之外或WM之外的模块)之间的移动及方位(虽然没有显性到移动路径)。首先,我们从它的系统结构上来跟库存管理(Inventory Management,简称IM,下同)对比一下。

IM在是库存地点(Storage Location,也有人叫它仓库,为了跟WM的仓库区分,这里统一用库存地点来称呼)级别上进行物料数量级管理的,在IM系统中,我们只能最多精确知道某个物料在这个库存地点下总的数量(包括非限制库存、分包库存、供应商寄售库存等),而无从知道它在仓库中具体存放的位置,或放在哪个货架第几个格子上等等。库存地点在IM中的上层结构是工厂(Plant),而一般一个工厂作为一个评估范围(Valuation Area),如果是在有价值管理的工厂中,库存地点上物料的数量本身就是直接跟库存价值/金额挂钩的。

WM则是用所谓的仓库号(Warehouse Number)从地理位置上归集的几个或多个仓库结构体或仓库联合体(Warehouse Complex),然后用它来管理IM中的库存地点。从SAP系统功能的角度来讲,仓库号管理的库存地点并不止局限于某个工厂下的库存地点,它可以是跨工厂的,也可以是跨公司代码的。

一个仓库号下包含若干个存储类型(storage type),我们将具有相似存储结构、相同出入库方法的仓位归为同一种存储类型,或者叫库存区域(Storage area)会更贴切一些,也就是一个仓库结构体下划分成多块大范围的区域,比如皮带区、马达区,或堆放存储区、露天存储区等。存储类型包括两种形式,物理存在的和逻辑意义上的。比如我们可以在仓库里划分一个区域,专门用来收货,我们把它命名为“收货区”,那么它就是物理上存在的;或者我们在系统用一个编号来表示这样一个专门用于收货的区域,但实际物理上可能不存在,那么可以说它是逻辑意义上的。实际用途中,它和发货区一样,只是作为一个临时存储区,用于表示货物的中间状态,因为它最终都要放置到仓库里某个具体实际的仓位上。

我们可以对存储类型进行再细分,那么就成了存储分区(Storage Section)。比如由好几层隔板组成的高架货架,由于下面几层的货物比较容易拿到,我们可以把它定义成一个快移动区;而比较高的几层货物不太好拿,我们就用它来存放一些不常用的货物,由此把它定义为一个慢周转区。如果我们没有这样的需求,可以一个存储类型只至少定义一个存储分区,也就是一个存储分区=一个存储类型。

每个仓储类型和存储区都由几个存储面积或存储槽位组成.这在仓库管理应用中被称为存储仓位(Storage bin),在仓储类型中是最小可用的空间单位。我们可以根据用途,可以把它划分成大到露天堆场、集装箱,小至一个货架、一个格子。实际上在仓库里,我们用一个坐标来表示它,比如仓位01-03-05表示货架上的第1排、第3垛、第5层;明白地讲,就是给这个仓位按照一定的规则来编号。这样,我们在系统上查询物料的库存时,看到有库存在某个仓位,就知道这些物料是放在仓库中的哪个准确具体位置。这样就能够很方便地把货物找出来。

从一般意义上来讲,仓库中货物的移动无非是:入库、出库、转仓。但不管是什么类型的移动,每一次移动SAP都会产生一个转储申请(或转储请求,Transfer Requirement),继而系统要求对转储申请来创建一个转储订单(或转储单,Transfer Order)。

转储申请可以定义计划库存转移的几个重要问题:

·应该移动的货物?

·应该移动多少?

·因何人或何事要移动?

·多少库存已经被转移?

通常转储申请的产生是由SAP其它模块的事务处理激发的自动创建,如:

·参考采购订单的收货处理

·在生产计划中下达生产订单

·自动补充拣货区的固定存储仓位

然后我们根据转储申请来创建一张转储订单,系统根据你事先配置好的库存出入库策略帮助你确定好你所需要的信息:

·要移动的物料号是什么?

·要移动多少数量?

·从哪里移出来(源仓位是什么)?

·要移到哪里去(目标仓位是什么)?

然后仓管员就凭着这张打印出来的转储单,根据转储单的内容到仓库进行拣货,并把货物送到指定的位置。那么在实际的仓库作业中,这些货物是不是全部都到达了目的地?中途有没有损坏?或者领料人看到实物后觉得不是它真正想要的料。在这种情况下,我们需要对转储单进行一个确认或取消的动作,来体现转储单数量和实际作业数量之间的差异。

打一个很形象的比喻:几个人出差,要入住宾馆,但入住之前得先预定呀,也就相当于一张入住申请单,在入住申请单写好要入住哪些人、多少人等等。然后宾馆的工作人员根据入住申请单去安排房间,某A和某B入住207房,某C是领导一个人入住250房等等,这就相当于一张转储订单。在实际入住的时候,某C觉得这个250不好听,或对房间不太满意,要求换房或退房,这就相当于转储单确认或取消了。

最后谈一个盘点的问题。大型的仓库每年要花很大力气进行财政年来的年度库存盘点,往往花费大量的人力物力。WM使用实时的、连续的盘点技术,以达到精确率接近100%。由于库存是基于仓位不断地做检查,如果在一个财政年内每个仓位至少经过一次盘点,就认为已完成库存盘点。或者我们做年终盘点,对仓库中每个区域、每排货架、每个仓位,都要进行严格的盘查,我们可以把它叫做“遍历仓位盘点”了,这样盘点起来就比只有IM时容易多了。盘点不但可以盘出物料数量的盈亏,还可以帮助我们纠正物料的存放,比如物料放错仓位了。

总的来说,IM就是我管你东西放哪呢,你只要给我备足100个就行了;WM就是,我管我一定要管,这个东西你放在仓库什么地方了?哪里有几个,另外的地方哪又有几个?所以说IM最一个装垃圾的×××袋,什么东西都往里丢;而WM则是一个电工包,钳子、起子、保险丝、胶带都分别放在一个一个小袋子里。