Think in ERP 1:物料编码 - ERP产品与实践 - ITPUB论坛 - 皓辰...

来源:百度文库 编辑:神马文学网 时间:2024/04/28 22:44:01
Think in ERP 1:物料编码0.引言
本来想给这个系列起名叫ERP宝典或ERP精髓,但觉得太俗气。还是借用 Thank in Java的说法,来个Think In ERP,一来洋气,二来切题!
太多的ERP伪专家出现,把个ERP弄得乌烟瘴气。趁现在有空,就想把这12年来从事ERP工作经历中对ERP的理解和思考写出来,希望能达到一种化繁去芜的效果。也由于我也不想再玩ERP了,改玩风险管理了!好多经验也就不再蔽帚自珍了! :)
其实我更想把ERP叫做MIS,而且觉得MIS的概念更广,但是由于大家现在都习惯叫ERP,而且为了有人能很方便的搜索到这些文章,我就违背心意的写ERP了。
我早在1994年陪一个师兄去的在武汉的一个毕业生供需会上第一次见到MIS这个词,那是一个丹麦的公司招MIS的职位,居然无人问津,不是大家不原意去,而是由于不懂。如是我回到学校后,我就开始在图书馆查相关的书籍。那时MIS相关的书籍基本上还没有,有的只是计算机情报检索相关的书。而且当时只有清华大学和大连理工两个有连接国外网络接口的这两所大学才有计算机信息管理专业的研究生。我报考了大连理工,但由于种种原因,最后没有去考,白白准备了1年多。到95年时,中国终于冒出来了打天下,安易以及王特MIS等可以称之为MIS的系统。Foxpro等数据库语言也开始流行,大型的数据库是infomix和sybase风头正旺。
从我1977年参加工作开始从事ERP开发,迄今已有12个年头了,开发的ERP系统也有10余套,涵盖了Novell网络下的foxpro的文件管理方式的最早的系统,小型机的CIIM系统,C/S方式的系统以及现在最流行B/S系统,包括现在开始发展的ASP也就是SaaS系统(我真的很讨厌一些厂商为了市场原因,把一些系统名称瞎改,甚至还冒出MRPIII,真是丢人)。
我觉得在ERP系统中,物料编码是一个成功ERP系统的基础。甚至我听到一个大企业的PMC经理说,搞好了物料编码,不用计算机系统也可以很好的做好MRP。我就从物料编码开始说起。
1.物料编码的作用
物料编码就象做房子的砖头,是一个信息系统最基本元素。物料编码(Material code)是唯一标识物料的代码,通常用字符串(或一些标志符号如-/_#~等)或数字表示。
a.编码比名称更加规范
物料的名称一般不规范,有时名称中间多了空格或标点符号,也不知道是不是同一个东西。而且同一名称的物料经常会有不同的规格,就不能当成一种物料,这样名称将更加混乱。即使同一个物料经过修改,应该变成另外一种物料,如果使用名称,就无法进行区分。而使用了代码后,物料的标识更清晰准确,不同的物料也很容易区分。也不会由于空格和标点符号产生问题。从而使物料的表示更加规范。
b.唯一标志物料
使用编码可以唯一标识物料,避免同一物料有多个名称的情况发生。而且即使同一物料,由于状态发生变化,也将产生新的编码。这样就很容易处理新旧物料同时使用过程中出现的混乱问题。
c.方便物料的管理
在编码的过程中,一般会包含物料的类别信息,这样将便于物料的分类管理,提高物料管理的效率。
d.便于信息化处理
规范的编码比名称更容易被计算机处理。而且编码的输入比名称的输入更加方便,准确。
2.物料编码的要求
a.唯一性
同一种物料只能对应一个编码,同一编码只能代表一个物料。而且原则上即使是同一个物料在发生了相关的改变后也应该产生一个新的编码与之相对应。唯一性是物料编码存在的最重要的基础,失去了唯一性,编码就失去了存在的意义。
b.可持续性
编码的长度应该留有一定的冗余,Y2K问题给信息系统带来的损失大家应该还记忆犹新。我在ERP系统中遇到的最恶心的编码长度是海关物料编码,在短短的1年里,该编码长度从8位变到10位,12位,让我重新把海关系统模块的前台程序到后台的数据表,存储过程的参数等改了一遍,累死我了。(不过在这个过程中我也对sysobjects这个系统表也运用得得心应手,以致若干年后汉化一个软件时就凭着对sysobjects这个系统表的熟悉,将charactset改为中文,减少了大量的工作量。) 根据企业物料数量的不同,一般物料编码的长度是12-24位,但是为了系统的稳定,在开始设计编码时应该考虑企业5年的发展,基于安全考虑,物料编码的存储长度一般设为30位。
c.可识别性
编码的可识别性主要体现在编码中包含物料的实际参数,如类别,版本,颜色,加工特点等。这样的编码更容易被识别、管理和校验,从而大大提高工作效率。注意校验这个特点,很少人会考虑到这个要求。正是由于编码各个位数的实际意义所形成的规范,使得我们可以用简单的规则就可以在输入时对输入的数据进行校验,在一定程度上保证编码输入的正确性。
d.易输入性
编码一般可以采用字母,数字以及少量的符号(-/_#~) 。大部分系统的物料编码都会采用字母和数字结合的方式,而且中间会出现一些符号。如果设计人员没有在第一线的体验和工作,根本不可能体会到单据输入人员和盘点时数据输入的辛苦。也只有我这种深入生产第一线的人才能充分了解用户的需求。考虑到物料编码在系统中使用的频繁性,我在系统中设计的物料编码一般只含有数字,偶尔也会使用小键盘上有的"-"号。这样数据输入人员就可以单手输入物料编码,解放了一只手,大大提高了数据输入的效率。而且采用数字编码,在数据库中进行索引的速度也要比包含字符的编码快好几倍。
e.稳定性
编码一旦确定,就不应该改变,否则对系统造成很大的冲击。尤其是一些统计程序。
3.物料编码几种方法
a.顺序编码
是一种最懒最简单的编码方法,它完全可以满足以上物料编码的四种属性。但是这种编码仅仅处理了唯一性的问题,没有解决物料管理的问题。
b.层次编码
这是一种较常用的编码方法,在编码的头部包含物料的层次信息,如BOM关系,包装,模具,设备等信息,后面则是流水号。
c.分类编码
这是一种最常用的编码方法,编码的头部包含物料的分类信息,如塑胶材料,包装材料,金属材料,电子材料等,后面是流水号。
d.综合编码
这是一种最科学的编码方法,该种编码的头部包含分类信息,中间包含物料的属性信息,后面是物料编码。当然,属性信息的位置可以和流水号互换也可以。其实手机号就是采用的这种编码方法,前3位是运营商分类的信息,中间4位是地区属性信息,后面4位是流水号。如果将来要扩号,就会只改变流水号的长度,就会在第8位的地方增加0。由于这种编码方法具有一定的难度,很少系统会使用这种方法,它需要专业的编码人员对其进行管理。但是由于其包含的信息比较全面,用户从编码上就可以得到很多物料信息,大大提高物料的管理效率。我所设计的系统中一般倾向于这种编码方式。
但是要注意的是编码中的属性应该是该物料本身所具有的本质属性,基本很少会出现变化的属性,否则这种编码的稳定性就很差,会出现同一种物料需要变更物料编码的情况,而这种情况则对系统来说是毁灭性的打击。即使采用新编号来解决,也会对后面的数据统计等处理,造成很大的麻烦。如模具编号中的拥有人就不是模具的本质属性,一旦模具转让的情况发生,模具的编号就要改变,而该模具生产的产品的编号是不会变的。这样就会给系统的很多的统计模块造成很大的麻烦。
5.物料编码设计应该注意的几种特殊物料编码
a.Phantom Part(虚拟件)的编码
这是MRP系统在处理在制半成品WIP的时候经常会用到的一种方法。(虚拟件具体的应用我会在后面有专门的章节进行介绍。)由于它是一种半成品,为了易识别和后续的处理,这种编码应该采用层次编码的方法。
b.外来编码
外来编码包括供应商编码,客户编码,以及国家或国际标准编码。这些编码原则上应该不做改变直接引用,从而达到与外部沟通顺畅的目的。但是这些外来编码必须有一个内部的规范编码与其一一对应。这样在系统内部使用内部编码,与外部沟通的环节则自动转化为外部编码。
供应商编码一般是供应商提供的原材料,设备等物料的编码。一般会出现在采购合同,采购单,收货单,退货单等环节中。
客户编码一般是客户采购的商品,产品图纸等物料的编码。一般会出现在销售合同,销售单,出货单,退货单等环节中。
标准编码一般是国家或国际规定的物料的编码。如一些标准件,进出口产品等。一般会出现在采购合同,进出口相关业务的单据,税务相关的单据等环节中。
c.商品编码(UPC)
就是通用产品编码,超市中常见的商品条码。可以视同外部编码来处理。
d.包装材料编码
包装材料的编码在港台企业俗称箱唛,这种编码一般采用层次编码的方法为主,也可以采用综合编码的方式,在层次信息的后面还有材料信息和国别信息。包装的层次信息(外,中,里,内包装)+ 材料信息(塑料,纸,泡沫等)+国别(中文,英文,法文等)+档次(精装,简装)+ (...........)+流水号。
6.在ERP系统中其他相关编码的问题
a.财务编码
财务科目的编码,国际和国际上都有一些推荐的标准,尽量采用这些标准编码会减少对外财务报表的工作量。
b 员工编号 一般由表示公司(分公司/地区/部门)的字母+流水号组成。员工出现换分公司/地区/部门的情况一般都会重新分配新的编号。
c.交易编码  如超市购物票的编号以及散装物品的条码,一般都采用包含种类+日期信息+流水号的编码方法。
d.部门编码 一般是部门简称字母的组合,由于组别的存在,可能还会有数字出现。
e.文件编码 文件编码一般包含部门信息,不应该包含版本信息,由文件编号+版本号来确定文件的唯一性。
g.单据编码 文件编码的一种特殊形式,一般都包含类别信息。
7.进一步的思考
如何识别物料的本质属性以保证物料编码的稳定性?