防止随意商品编码让ERP“神经错乱”
【 信息化】ERP系统的实施,有一个形象的说法是:三分软件、七分实施,十二分数据。还有另一个说法是:垃圾进,垃圾出。这两种说法,都对数据提出了要求,ERP系统主要是管理企业的资源,所有这些资源在系统中都是以数据形式体现的,所以在ERP项目中,数据的重要性怎么说都不为过。对于数据的要求,大概可以理解为准确性、及时性、完整性这三方面的要求。而对于数据大概可以分为静态数据(如编码规则、期初库存、期初科目、员工、客户、供应商等不常变化的数据),还有就是动态数据(出库单、入库单、采购单、销售单等业务单据)。在一个项目的实施中,由于静态数据不常修改,而且会被动态数据大量引用,因此对于静态数据的准确性要求往往就会大于动态数据。
在我最近的一个项目实施中,就碰到了一个让企业非常犯难的事情:他们的静态数据出问题了,在我接到企业的IT经理给我的第一句话就是“童大哥,我们的ERP系统神经错乱了,你有空过来帮我看看吗?”,这一句话,倒是吓了我一跳,ERP系统也能“神经错乱”,岂不是怪哉?那具体的情况是怎么样的呢?
问题描述
B公司是一家男装企业,由于服装企业的信息化是一个非常有行业特色的,光从企业的商品编码来说,就有二维或三维编码的问题:如B公司的商品编码就定义为:品牌(1位) +款式(5位)+颜色(3位) +规格(2位)。总共为11位的编码,其中以品牌、款式(包括面料)为基础,再加上颜色、规格这两个维度,组成一个二维表,如下图所示:
如果B公司按照上述的编码规则,向ERP系统做进基础资料,然后再去做各类单据(如订单、采购单、入库单、销售单等)是不会有任何问题的。可是由于B公司的资料管理员对系统的不熟悉,在做商品基础资料时,将颜色(3位)给拉下了,将颜色的编码直接做到了款式中,使的商品的编码规则实际上就是:品牌(1位) +款式(8位,包括颜色3位) +颜色(3位)+规格(2位),使的编码成为了14位,而且颜色位上有了多余。
从基础资料管理的角度来说,这样的应用方式问题不大,所有编码规则要求的属性都已经包括在这个编码中了,但是多了两位,基本资料的属性“颜色”重复了。其实这个问题在录入基础资料的时候,应该就能够发现问题的:因为这个时候就不能定义颜色的多维度信息了,只能一条一条地进行录入。也就是说,在输入颜色信息的时候,必须保持与之前的款式中颜色一致(如015,米杏/咖啡色),而且不得多选,否则的话在款式中已经定义的颜色信息将无法一一对应。颜色与尺码的二维对应表关系如下图所示:
但更大的问题在后面,因为颜色信息没有办法按“二维表”的方式做到系统中,使得在做业务单据的时候,业务人员也就不能在单据中快速录入颜色、尺码的二维信息了。商品资料的二维输入方式如下:
如果不能够方便快捷地使用上述的订单信息录入,在对于服装的ERP系统来说,那服装行业的最基本的行业特色不复存在了,服装ERP系统的特色可以说就被废了一半。而对于这个问题,也就是B公司业务人员描述的系统“神经错乱”了,但从实际情况上来说,这个说法也是夸张了一些,因为编码导致了系统整个应用不畅,但还不至于到了不治的地步。B公司也认识到了这是一个必须解决的问题,因为这涉及到了他们所有流程操作中的效率问题,还有就是后续的统计与分析问题,因为后续的统计与分析也是以颜色、尺码作为二维表显示的。
问题的原因
这个问题的产生的原因,最根本的是在于:资料管理员的粗心与大意,在接受培训时,已经反复强调过基础资料,特别是商品资料必须按照编码规则录入,而且在模拟训练时也经过几次的演练,但在项目组一撤离时,就发生了这样的状况,不得不对资料管理员的责任心打问号。根据B公司的《ERP系统运营管理制度》,这个资料管理员肯定是会受到制度的惩罚,这个已经是另外的话题,按下不说了。
在检讨资料管理员的责任心的时候,也同时在检讨B公司的流程执行力度,类似于商品基础资料这样的重要数据,B公司在项目实施时,已经制定了开发部、销售部编制基础资料->资料管理员录入系统->开发部确认审核 这样的流程。但在实际的执行过程中,这个流程没有被严格执行,在资料管理员将资料录入到系统中就被认为是OK了,使的大量的业务单据被做到系统中。
而在销售部做业务单据的时候,一开始即便是觉的这样录入方式不方便,但也没有及时向IT部提出,导致业务单据已经根据流程走了一圈了,才被其它部门的同事提出异议,这个异常的业务动作才被IT部所知道,但此时再要去修改基础资料已经不太可能了,因为业务单据已经流转了一圈了。而这个时候销售部门也发现了,根据之前的订单数据去做统计与分析时是有问题的。这样反应的问题是:销售部门有问题或异议没有及时向系统管理员提出,导致错误被放大了,小错不改就成大错了,大错要改,代价就大了。
问题解决方案
对于这个问题,B公司首先想到的是:能不能在ERP系统中做出修改,将款式中的后两位(颜色)拉出来进行显示,然后再放到“颜色”的这个维度中显示及分析?
但根据我的分析,这却不是一个最好的解决方法,理由如下:
1、 原本系统中的逻辑上并没有错误,也不存在BUG,主要原因还是在于B公司本身的应用上,所以软件商未必能够答应这样的系统开发需求;2、 将一个没有问题的系统修改成错误的应用方式,且不说软件商答不答应,就算是答应了,也是付费的开发。而且由于编码涉及到了系统中的每一个环节,这个修改工作量将是惊人的,开发费用也将是一笔不小的数目。3、 同时,由于系统要开发,将有一个不短的开发周期,B公司是否能够在这个开发周期内继续使系统存在这个问题呢?
当然,如果否定了对ERP系统开发的想法,应该还要提出一个更合理的解决方案,使B公司能够接受这个处理方案。由于B公司在系统中已经完成了大约10000多条的商品编码资料的录入,也在这些编码中做了大约做了1000多张单据,所有单据涉及到约8万多条记录。所有的这些数据都涉及到了编码问题。
所以我与B公司IT经理,以及ERP软件系统的供应商一起讨论了如下方案的可行性:
1、 整理出所有“颜色”重复的商品编码资料,确认了所有这些“颜色”重复的都是有规律的,即编码长度都多出了“颜色”三位;2、 整理出涉及到“颜色”重复商品编码的单据,确认涉及到这些商品编码资料都有哪些业务单据受影响;3、 向软件供应商确认:所有的商品资料中,商品编码是否可修改的?商品编码的修改是否会影响到已经生成单据(包括已经确认、审核)中的商品资料显示?经向软件供应商确认后得知:软件商在系统数据库的存储中,所有业务单据只是存储了该商品资料的ID,而不是直接硬编码的,这就意味着,在系统中调整编码,将直接修改原有的单据。4、 确认了上述三点之后,我们决定,选一个“风高夜黑”的夜晚,我们将系统停机,以保证不影响B公司的业务运营。利用SQL脚本,对所有的商品编码进行调整:先是将原有款式中重复的颜色编码去掉;然后将品牌、款式为基础将颜色、规格归类,这样就生成了新的商品资料ID;将新的商品资料ID与原有单据中的商品资料ID进行替换,保证系统商品资料的一致性。
上述方案,经过我们与软件供应商的共同测试,发现该方案是可行的,同时也解决了由于随意商品编码导致ERP系统“神经错乱”的问题。
最后,还是提醒大家,服装ERP之所以特殊,很大程度在于其二维或三维的编码方式,如果在商品编码上太随意而没有控制的话,那么,轻则需要对ERP系统进行数据库级别的调整,重则要进行ERP系统的二次实施都有可能,商品编码的问题,轻视不得。