谈应强 TAN Ying-qiang;和肃洮 HE Su-tao
(宁夏共享集团有限责任公司,银川 750021)
(Ningxia Kocel Group Co.,Ltd.,Yinchuan 750021,China)
摘要: 基于金蝶erp系统开放的SDK(Software Development Kit)和VB(Visual Basic)语言开发集成接口程序。实现将共享集团某公司正在使用自主研发系统进行车间现场生产领料、工序汇报等业务产生的数据、或者独立的第三方系统产生的与ERP核算相关的业务数据,定期或实时同步至金蝶ERP系统,同时能够实现将集成结果反写至自主研发系统中,避免反写数据重复操作或者遗漏,从而实现两个系统的双向集成。
Abstract: This paper develops the integrated interface program based on Kingdee ERP system´s open SDK (Software Development Kit) and VB (Visual Basic) language, to synchronize the business data generated in the workshop on-site production material requisition, operation report and other business by the independent research and development system or the business data related to the ERP accounting generated by the independent third-party system to the Kingdee ERP system, anti-write the integration results to the independent research and development system, avoid the repeat operation or missing of anti-writing data, so as to achieve the bidirectional integration of the two systems.
教育期刊网 http://www.jyqkw.com
关键词 : 金蝶ERP;系统集成;SDK
Key words: Kingdee ERP system;system Integration;SDK
中图分类号:TP311.5 文献标识码:A 文章编号:1006-4311(2014)34-0222-02
作者简介:谈应强(1986-),男,甘肃兰州人,中级工程师,学士,研究方向为ERP项目实施和服务。
1 现状简介及开发背景
随着集团公司企业信息化实施工作的深入,金蝶ERP系统实施和上线的模块越来越多,涉及集团各分子公司的业务覆盖面越来越广,金蝶ERP系统的业务与集团正在实施或者已经上线的自主研发信息系统业务出现了重叠,各信息系统之间独立运行,业务数据口径不一致并且不能实现共享,形成典型的数据孤岛。集团和各分子公司亟需一套能够实现金蝶ERP系统与自主研发系统集成的技术解决方案,破除信息系统之间的壁垒,实现数据源头唯一,各信息系统之间数据共享,避免数据重复录入工作,大幅提高工作效率。
金蝶ERP系统与自主研发系统双向集成技术方案就是利用金蝶ERP系统提供的客户化开发工具包中的登录ERP组件、客户端组件、数据包处理组件等作为集成接口程序的核心,开发符合三层架构设计的集成接口程序实现对金蝶ERP系统数据库的安全通信,通过与自主研发系统、金蝶ERP系统之间定义标准的接口数据格式,最终实现金蝶ERP系统与自主研发系统的数据反写和双向集成。
2 方案设计
金蝶ERP系统与自主研发系统双向集成涉及的信息系统:自主研发系统、集成接口程序、金蝶ERP系统。
系统集成的主要功能:获取数据源、登录金蝶ERP系统、调用金蝶ERP系统业务单据并写入数据、保存单据、反写结果至自主研发系统、异常处理。
系统集成实现的三种技术:
①工业单据:定义中间数据库表,作为数据源的存储位置;自主研发系统先将数据写入中间表,开发集成接口程序(EXE执行程序)先调用出金蝶ERP系统的业务单据,触发客户端插件(DLL组件)根据调用的进程,识别和读取中间表数据并写入到金蝶ERP系统业务单据体上,单据数据保存后,将成功的记录信息反写到中间表或者自主研发系统中;
②BOS单据:自主研发系统数据库直接作为数据源的存储位置;开发集成接口程序(EXE执行程序)在调用金蝶ERP系统业务单据之前,先查询获取数据源符合条件的记录,通过封装到数据字典形成数据集,业务单据被调用时,自动加载数据集到业务单据体上,单据数据保存后,将成功的记录信息反写到自主研发系统中;
③批处理单据:自主研发系统数据库直接作为数据源的存储位置;开发金蝶ERP系统客户端插件(DLL组件),并绑定到批处理单据上,在金蝶ERP系统的对应单据加载时自动触发并生成单据的自定义功能菜单,通过菜单对应的查询、反写功能,直接实现自主研发系统数据集成反写至金蝶ERP系统的批处理单据体上,单据数据保存后,将成功的记录信息反写到自主研发系统中。
3 技术实施过程
3.1 登录金蝶ERP系统 在二次开发过程中,用户需要登录到金蝶ERP系统,去访问系统的账套。以往的技术需要开发构造数据库连接串信息,并输入数据库名、数据库登录用户和密码、账套名、用户名等信息,比较复杂并且没有安全机制,不便于与金蝶ERP系统的集成开发。
金蝶ERP系统为此专门提供了一个登录ERP系统的组件处理在二次开发过程中的系统登录,它将所有的账套信息、用户信息和安全机制集成在一起,很方便的实现系统对金蝶ERP账套的访问,并且用户登录界面与登录金蝶ERP系统界面一模一样,增强了用户体验。
3.2 获取连接串信息 通过登录ERP系统组件的属性,可以方便的获取到数据库的连接串信息,以及方便在接口程序中执行SQL语句等。
3.3 金蝶ERP系统业务单据调用 利用单据操作组件,实现单据类型为工业单据的业务单据调用,调用成功后所显示的操作界面,与用户直接登录金蝶ERP系统打开对应的业务单据一样,用户操作无缝对接。
业务单据调用代码示例:
3.4 金蝶ERP系统客户端插件 金蝶ERP系统利用客户端插件组件,绑定在业务单据的加载触发事件中,从而实现外部数据源到金蝶ERP系统的数据通信。
Private Sub m_BillTransfer_LoadBillEnd()
单据加载事件:实现单据加载时组件触发的条件、数据源读取并生成数据集、数据集写入业务单据体等功能。
Private Sub m_BillTransfer_EndSave()
单据保存事件:当单据成功保存时触发此事件,实现将已成功写入金蝶ERP系统的记录信息反写至中间数据库表和自主研发系统对应的数据库表中。
Private Sub Class_Terminate()
单据关闭事件:实现单据未保存就关闭业务单据时,对中间表对应的记录进行清除操作,减少数据冗余。
3.5 封装数据集 对于BOS单据的调用,就要利用金蝶ERP系统的数据集组件,对数据源的数据进行封装,形成标准接口的数据集,在调用BOS单据加载的时候,即可直接将数据集的内容全部写入到业务单据上,整个过程不需要借助开发客户端插件辅助实现。
4 效果评估及总结
4.1 通过对金蝶ERP系统与自主研发系统集成的研究,取得了多项创新:利用金蝶ERP系统标准的SDK进行开发,符合三层架构设计,登录账套和访问数据库操作更加安全;自主研发系统将不需要存储业务数据信息,金蝶ERP系统可以存储业务数据并共享给自主研发系统使用;数据保存过程完全由金蝶ERP系统自己的功能实现合法性判断,不会破坏金蝶ERP系统本身的体系。
4.2 集成研究取得的效果:数据保存校验由金蝶ERP系统自身完成,极大降低了系统紊乱的风险;集成接口需要的开发时间缩短40%~50%,实施上线周期实现提前平均7~10工作日;已支持金蝶ERP系统80%业务单据的集成;提高数据输入工作效率160%以上。
金蝶ERP系统与自主研发系统集成的接口完全自主开发,经过测算,为集团节省了至少8W元接口开发费用,不含后续推广和服务费用等。
教育期刊网 http://www.jyqkw.com
参考文献:
[1]陈启申.ERP——从内部集成起步[M].电子工业出版社,2004.
[2]夏安邦.制造业信息化原理和案例[M].东南大学出版社,2002.
[3]金蝶软件(中国)有限公司.K3客户化开发工具包.