企业的ERP系统必定是管理系统,管理系统并不能仅仅通过IT的力量就可以成功的,ERP的二次开发也是为了服务于此管理系统而为企业的管理目标而服务,如果离开这个目标是一味受制于业务部门的需求,只会使ERP这个管理系统越来越难以管理,最终造成管理的混乱而不是提升。
一、向企业实际情况靠拢还是向通用化靠拢
“现在的会计信息化软件,像国内的用友等,它们大多只为满足国家会计核算要求。但从企业的管理角度看,除了满足公开的信息之外,还需要ERP系统提供企业内部管理的信息。”ERP系统更多地按行业、分模块开发,尽管在系统初始化时提供各种参数供企业根据实际状况设定。但即便是同一行业中的不同企业在发展规模、发展周期、细分市场等方面对信息的关注重点也会有所差异,导致对信息的要求或总或分、或粗或细,企业在财务核算通用化之外还会有自己的诉求,因此会通过适度的二次开发来更好地满足自身的需求。“我们的二次开发是基于现有ERP系统及其他管理软件的数据库,结合企业自身财务管理的需求展开。
二、不要过多地强调企业自身特点
“二次开发的时候,不要过多地强调企业自身的特点,ERP软件中的管理流程是从许多企业中提炼出来的,具有先进性。”因为ERP具有自身一套体系,如果系统不能满足企业的需要,也会把“不要修改核心代码”作为基本原则。应该把数据从ERP中导出,利用二次开发的程序进行处理后,再导入系统。这样可以以最小的变动获得最大的收获。但如果直接修改了核心代码,往后再升级就很困难。二次开发中,修改不宜过多。因为ERP软件是一个很复杂的大型软件,从软件工程的角度来说,开发者应该保持对项目的可追溯性。如果修改过多的话,这种可跟踪的追溯性将变得模糊不清,最终导致项目不可控。
三、需要有专业的系统技术人员
“从事二次开发的人员既要熟悉软件的功能和相应数据库中表的结构,又要充分理解用户的特殊业务流程,这需要一定的时间和工作的,甚至可能会使项目延期;再者,改动软件后还可能出现系统的不稳定,影响版本升级。”如果必须进行二次开发,则应尽量使得二次开发做出的功能模块独立于原来的ERP系统。这样,当ERP系统版本更新时,二次开发出来的模块无需修改或者只需较少的修改就可以应用于高版本的ERP系统。
CIO之家 www.ciozj.com 公众号:imciow