首页> 中国专利> 用于集成ERP系统的方法和装置

用于集成ERP系统的方法和装置

摘要

本发明提供了一种用于集成ERP系统的方法,包括以下步骤:从当前打开的窗口中获取ERP系统的主界面窗口;从主界面窗口的子控件中获取特定子控件;通过操作特定子控件以对ERP系统进行操作。本发明还提供了一种用于集成ERP系统的装置,包括:主界面模块,用于从当前打开的窗口中获取ERP系统的主界面窗口;子控件模块,用于从主界面窗口的子控件中获取特定子控件;操作模块,用于通过操作特定子控件以对ERP系统进行操作。本发明解决了现有技术开发工作量和难度较大,系统集成时间长的问题,从而可以有效地节省ERP系统集成的时间。

著录项

  • 公开/公告号CN101446902A

    专利类型发明专利

  • 公开/公告日2009-06-03

    原文格式PDF

  • 申请/专利权人 北京数码大方科技有限公司;

    申请/专利号CN200810240438.1

  • 发明设计人 倪永全;杨星波;

    申请日2008-12-19

  • 分类号G06F9/44(20060101);

  • 代理机构11240 北京康信知识产权代理有限责任公司;

  • 代理人吴孟秋

  • 地址 100080 北京市海淀区知春路甲63号卫星大厦802室

  • 入库时间 2023-12-17 22:01:59

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-03-06

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F9/44 变更前: 变更后: 申请日:20081219

    专利权人的姓名或者名称、地址的变更

  • 2011-08-31

    授权

    授权

  • 2009-07-29

    实质审查的生效

    实质审查的生效

  • 2009-06-03

    公开

    公开

说明书

技术领域

本发明涉及数控领域,具体而言,涉及一种用于集成ERP系统的方法和装置。

背景技术

随着企业信息化的不断深化,许多企业已将产品数据管理(PDM,Product Data Management)系统作为产品工程信息管理与集成的平台,统一存储与管理产品的设计、工艺等资源信息。同时这些信息也是企业资源规划(ERP,Enterprise Resource Planning)系统工作运行的重要输入信息。PDM与ERP系统间有大量信息都存在共享现象。因此,在PDM与ERP系统之间实现信息集成,不仅能使产品的设计制造过程更加顺畅,而且能避免由于信息重复输入而带来的错误,从而准确地传递信息,促进整个企业设计制造部门之间的协同工作。PDM与ERP系统间的集成是企业信息化应用的需求。

目前,对于PDM与ERP系统间的集成主要有以下几种方案:

(1)内部函数调用

这种集成方法是利用PDM与ERP系统各自提供的API函数访问数据库,以实现两系统之间的信息交换。这种方法需要PDM与ERP系统都要提供访问底层数据库的函数和API接口,并且往往需要原系统开发人员的支持。开发工作量大、集成成本高,但可以获得较高的效率。

(2)直接数据库访问

这种集成方法是通过对PDM与ERP系统数据库的分析,直接对数据库及其属性进行访问来实现两系统之间的信息交换。运用此集成方法是以对PDM与ERP系统的数据库结构分析为前提,但大多数PDM与ERP系统的数据库系统都非常庞大,理清系统数据表之间的关系,并保证数据的正确性,是一件非常困难的工作。当然,如果系统模块少,数据不多,本方法是一个比较好的选择。

(3)中间文件交换

这种集成方法是使PDM与ERP两系统按照统一的文件格式和接口要求,利用系统提供的API函数,编制各自的导入/导出程序,实现两系统的信息交换。这种方式容易实现,但需要双方的开发人员共同协商,确定中间文件格式,且效率、安全性不高。

(4)中间件技术

较典型的中间件技术,如MS公司的BizTalk软件,SAP公司的XI软件,理论上可以有效地降低集成时间和成本,但对系统和实施人员都有很高要求,成功先例并不多。

在实现本发明过程中,发明人发现以上几种技术方案,都要求同时对PDM和ERP两个系统做开发,且由于ERP系统的种类繁多,与不同的ERP系统做集成,开发工作量和难度较大,系统集成时间长。

发明内容

本发明旨在提供一种用于集成ERP系统的方法和装置,能够解决现有技术开发工作量和难度较大,系统集成时间长的问题。

在本发明的实施例中,提供了一种用于集成ERP系统的方法,包括以下步骤:从当前打开的窗口中获取ERP系统的主界面窗口;从主界面窗口的子控件中获取特定子控件;通过操作特定子控件以对ERP系统进行操作。

优选的,在上述的方法中,从当前打开的窗口中获取ERP系统的主界面窗口具体包括:获取所有当前打开的窗口的句柄及其类名;通过主界面窗口的句柄和类名从所有当前打开的窗口的句柄及其类名中过滤得到主界面窗口。

优选的,在上述的方法中,ERP系统在WIN32平台上运行,获取所有当前打开的窗口的句柄及其类名具体包括:通过调用WIN32 API EnumWindows,从WIN32平台中获取所有当前打开的窗口的句柄;通过调用API GetClassName,获取每个句柄的类名。

优选的,在上述的方法中,从主界面窗口的子控件中获取特定子控件具体包括:获取主界面窗口中所有子控件的句柄及其类名;通过特定子控件的句柄和类名从所有子控件的句柄及其类名中过滤得到特定子控件。

优选的,在上述的方法中,ERP系统在WIN32平台上运行,获取主界面窗口中所有子控件的句柄及其类名具体包括:通过调用WIN32 API EnumChildWindows,从WIN32平台中获取主界面窗口中的所有子控件的句柄;通过调用API GetClassName,获取每个句柄的类名。

优选的,在上述的方法中,还包括:预先通过句柄和类名获取工具获取ERP系统的所有控件的句柄及其类名,所有控件包括主界面窗口及其子控件。

优选的,在上述的方法中,ERP系统在WIN32平台上运行,句柄和类名获取工具是spylite软件。

优选的,在上述的方法中,通过操作特定子控件以对ERP系统进行操作具体包括:对获取的特定子控件赋值;触发特定子控件的事件,以利用事件和赋值对ERP系统进行操作。

优选的,在上述的方法中,ERP系统在WIN32平台上运行,对获取的特定子控件赋值具体包括:通过调用WIN32 APISendMessage(IntPtr hWnd,int wMsg,int wParam,StringBuilder1Param)向特定子控件赋值,其中,hWnd是特定子控件的窗口的句柄,wMsg是赋给特定子控件的消息,wParam和1Param是消息的参数。

优选的,在上述的方法中,ERP系统在WIN32平台上运行,触发特定子控件的事件具体包括:通过调用WIN32 APISendMessage(IntPtr hWnd,int wMsg,int wParam,int 1Param)向特定子控件发送鼠标左键按下消息;调用WIN32 API PostMessage(IntPtrhWnd,int wMsg,int wParam,int 1Param)向特定子控件发送鼠标左键释放消息,其中,hWnd是特定子控件的窗口的句柄,wMsg是赋给特定子控件的消息,wParam和1Param是消息的参数。

优选的,在上述的方法中,其特征在于,通过操作特定子控件以对ERP系统进行操作具体包括:在PDM系统中操作特定子控件,以调取ERP系统的数据到PDM系统中或者调取PDM系统的数据以更新ERP系统。

优选的,在上述的方法中,通过操作特定子控件以对ERP系统进行操作具体包括:通过工具软件操作特定子控件,以调取ERP系统的数据到PDM系统中或者调取PDM系统的数据以更新ERP系统。

在本发明的实施例中,还提供了一种用于集成ERP系统的装置,包括:主界面模块,用于从当前打开的窗口中获取ERP系统的主界面窗口;子控件模块,用于从主界面窗口的子控件中获取特定子控件;操作模块,用于通过操作特定子控件以对ERP系统进行操作。

由于通过从当前打开的窗口中获取ERP系统的主界面窗口及其特定子控件,来实现ERP系统的集成,解决了现有技术开发工作量和难度较大,系统集成时间长的问题,从而可以有效地节省ERP系统集成的时间。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1示出了根据本发明实施例的用于集成ERP系统的方法的流程图;

图2示出了根据本发明实施例的用于集成ERP系统的装置的示意图;

图3示出了根据本发明优选实施例的用于集成ERP系统的方法的流程图;

图4示出了根据本发明优选实施例的利用工具spylite获取到的句柄和类名的截屏图;

图5示出了根据本发明优选实施例的向ERP写入物料数据的登录系统的流程图;

图6示出了根据本发明优选实施例的向ERP写入物料数据的登录系统的截屏图;

图7示出了根据本发明优选实施例的向ERP写入物料数据的保存数据的流程图;

图8示出了根据本发明优选实施例的向ERP写入物料数据的保存数据的截屏图。

具体实施方式

下面将参考附图并结合实施例,来详细说明本发明。

图1示出了根据本发明实施例的用于集成ERP系统的方法的流程图,包括以下步骤:

步骤S10,从当前打开的窗口中获取ERP系统的主界面窗口;

步骤S20,从主界面窗口的子控件中获取特定子控件;

步骤S30,通过操作特定子控件以对ERP系统进行操作。

该方法由于通过从当前打开的窗口中获取ERP系统的主界面窗口及其特定子控件,来实现ERP系统的集成,解决了现有技术开发工作量和难度较大,系统集成时间长的问题。使用本发明中的方法可以有效地节省ERP系统集成的时间。

优选的,步骤S10具体包括:获取所有当前打开的窗口的句柄及其类名;通过主界面窗口的句柄和类名从所有当前打开的窗口的句柄及其类名中过滤得到主界面窗口。

该优选实施例提供了从当前打开的窗口中获取ERP系统的主界面窗口的具体实施方案。

优选的,ERP系统在WIN32平台上运行,获取所有当前打开的窗口的句柄及其类名具体包括:通过调用WIN32 APIEnumWindows,从WIN32平台中获取所有当前打开的窗口的句柄;通过调用API GetClassName,获取每个句柄的类名。

该优选实施例提供了利用WIN32的相关函数获取所有当前打开的窗口的句柄及其类名的具体实施方案。

凡是在WIN32平台上运行的程序,都遵循WIN32共同的规范,都有控件句柄(包括窗口句柄以及窗口中的子控件句柄),通过控件句柄可以得到控件本身,从而获取控件属性并对控件进行操控。基于以上的理论基础,可以通过获取所有当前打开的窗口的句柄及其类名,从中过滤得到ERP系统的主界面窗口。

优选的,步骤S20具体包括:获取主界面窗口中所有子控件的句柄及其类名;通过特定子控件的句柄和类名从所有子控件的句柄及其类名中过滤得到特定子控件。

该优选实施例提供了从ERP系统的主界面窗口的子控件中获取特定子控件的具体实施方案。

优选的,ERP系统在WIN32平台上运行,获取主界面窗口中所有子控件的句柄及其类名具体包括:通过调用WIN32 APIEnumChildWindows,从WIN32平台中获取主界面窗口中的所有子控件的句柄;通过调用API GetClassName,获取每个句柄的类名。

该优选实施例提供了利用WIN32的相关函数获取ERP系统的主界面窗口中所有子控件的句柄及其类名的具体实施方案。

凡是在WIN32平台上运行的程序,都遵循WIN32共同的规范,都有控件句柄(包括窗口句柄以及窗口中的子控件句柄),通过控件句柄可以得到控件本身,从而获取控件属性并对控件进行操控。基于以上的理论基础,可以通过获取ERP系统的主界面的子控件,对ERP界面进行操控,完成ERP系统的登录、物料和BOM等数据的保存和读取,从而实现ERP系统的集成。

优选的,在上述的方法中,还包括:预先通过句柄和类名获取工具获取ERP系统的所有控件的句柄及其类名,所有控件包括主界面窗口及其子控件。这样,可以利用预先获取的所有控件的句柄及其类名,从所有当前打开的窗口的句柄及其类名中过滤得到主界面窗口,以及从主界面窗口的所有子控件的句柄及其类名中过滤得到特定子控件。

优选的,ERP系统在WIN32平台上运行,句柄和类名获取工具是spylite软件。这样,可以通过spylite软件直接获取相关系统的控件的句柄和类名。

该优选实施例提供了获取句柄和类名的一种方式。

优选的,步骤S30具体包括:对获取的特定子控件赋值;触发特定子控件的事件,以利用事件和赋值对ERP系统进行操作。

该优选实施例提供了通过操作特定子控件以对ERP系统进行操作的具体实施方案。

优选的,ERP系统在WIN32平台上运行,对获取的特定子控件赋值具体包括:通过调用WIN32 API SendMessage(IntPtr hWnd,int wMsg,int wParam,StringBuilder 1Param)向特定子控件赋值,其中,hWnd是特定子控件的窗口的句柄,wMsg是赋给特定子控件的消息,wParam和1Param是所述消息的参数。

该优选实施例提供了对获取的特定子控件赋值的具体实施方案。

优选的,ERP系统在WIN32平台上运行,触发特定子控件的事件具体包括:通过调用WIN32 API SendMessage(IntPtr hWnd,intwMsg,int wParam,int 1Param)向特定子控件发送鼠标左键按下消息;调用WIN32 API PostMessage(IntPtr hWnd,int wMsg,int wParam,int 1Param)向特定子控件发送鼠标左键释放消息,其中,hWnd是特定子控件的窗口的句柄,wMsg是赋给特定子控件的消息,wParam和1Param是所述消息的参数。

该优选实施例提供了触发特定子控件的事件的具体实施方案。其中,hWnd是特定子控件的窗口的句柄,其窗口程序将接收消息,如果此参数为HWND_BROADCAST,则消息将被发送到系统中所有顶层窗口,包括无效或不可见的非自身拥有的窗口、被覆盖的窗口和弹出式窗口,但消息不会被发送到子窗口。

函数WIN32 API SendMessage(IntPtr hWnd,int wMsg,intwParam,StringBuilder lParam)具体如下:

例如:发送回车按键给指定窗口:

SendMessage(handle,WM_KEYDOWN,VK_RETURN,0);或者

Sendmessage(parent_hwnd,WM_CHAR,13,0);

函数中的参数wParam的详细说明如表1所示:

表1

 

十进制十六进制WINUSER.H标识符必需?IBM兼容键盘808VK_BACKBackspace909VK_TABTab120CVK_CLEARNum Lock关闭时的数字键盘5130DVK_RETURNEnter(或者另一个)1610VK_SHIFTShift(或者另一个)1711VK_CONTROLCtrl(或者另一个)1812VK_MENUAlt(或者另一个)1913VK_PAUSEPause2014VK_CAPITALCaps Lock271BVK_ESCAPEEsc3220VK_SPACESpacebar3321VK_PRIORPage Up3422VK_NEXTPage Down3523VK_ENDEnd3624VK_HOMEHome3725VK_LEFT左箭头3826VK_UP上箭头3927VK_RIGHT右箭头

 

十进制十六进制WINUSER.H标识符必需?IBM兼容键盘4028VK_DOWN下箭头4129VK_SELECT422AVK_PRINT432BVK_EXECUTE442CVK_SNAPSHOTPrint Screen452DVK_INSERTInsert462EVK_DELETEDelete472FVK_HELP

上述优选实施例提供了利用WIN32的相关函数操作特定子控件以操作ERP系统的具体实施方案。通过向特定子控件赋值,并触发相应的事件,完成ERP系统的登录、物料和BOM等数据的保存和读取,从而实现ERP系统的集成。

优选的,步骤S30具体包括:在PDM系统中操作特定子控件,以调取ERP系统的数据到PDM系统中或者调取PDM系统的数据以更新ERP系统。

该优选实施例提供了ERP系统与PDM系统集成的一种实施方案。

优选的,步骤S30具体包括:通过工具软件操作特定子控件,以调取ERP系统的数据到PDM系统中或者调取PDM系统的数据以更新ERP系统。

该优选实施例提供了ERP系统与PDM系统集成的另一种实施方案。

上述优选实施例提供了ERP系统与PDM系统集成的具体实施方案。一般情况下,可以通过PDM提供的API直接获取或写入数据,ERP则需要界面操控的方法。

图2示出了根据本发明实施例的用于集成ERP系统的装置的示意图,该装置包括:主界面模块10,用于从当前打开的窗口中获取ERP系统的主界面窗口;子控件模块20,用于从主界面窗口的子控件中获取特定子控件;操作模块30,用于通过操作特定子控件以对ERP系统进行操作。

该装置由于通过主界面模块和子控件模块从当前打开的窗口中获取ERP系统的主界面窗口及其特定子控件,来实现ERP系统的集成,解决了现有技术开发工作量和难度较大,系统集成时间长的问题。使用本发明中的装置可以有效地节省ERP系统集成的时间。

图3示出了根据本发明优选实施例的用于集成ERP系统的方法的流程图,包括以下步骤:

步骤S102,获取ERP系统的所有控件(包括主界面窗口及其子控件)的句柄和类名,通过工具spylite可以得到任意控件的句柄和类名(如图4所示);

步骤S104,获取ERP系统的主界面窗口,调用WIN32 APIEnumWindows,可以获取到当前打开的所有主界面窗口的句柄,调用API GetClassName可得到每个句柄的类名,利用步骤S102中获知的ERP系统的所有控件的句柄和类名过滤出ERP系统的主界面窗口;

步骤S106,获取ERP系统的主界面窗口下的子控件,调用WIN32 API EnumChildWindows传入主界面窗口的句柄,可以获得主界面窗口下的所有子控件,根据子控件的句柄和类名可以过滤出需要的特定子控件;

步骤S108,调用WIN32 API SendMessage(IntPtr hWnd,intwMsg,int wParam,StringBuilder 1Param)给特定子控件赋值,并触发相关子控件的事件。

其中,触发相关子控件的事件包括:

a)向特定子控件发送鼠标左键按下消息,调用WIN32 APISendMessage(IntPtr hWnd,int wMsg,int wParam,int 1Param),第一个参数是子控件句柄。

b)向特定子控件发送鼠标左键释放消息,调用WIN32 APIPostMessage(IntPtr h Wnd,int wMsg,int wParam,int 1Param),第一个参数是子控件句柄。

该优选实施例由于通过从当前打开的窗口中获取ERP系统的主界面窗口及其特定子控件,来实现ERP系统的集成,解决了现有技术开发工作量和难度较大,系统集成时间长的问题。使用本发明中的方法可以有效地节省ERP系统集成的时间,并规避了ERP系统方面的技术风险。

图5、图6、图7和图8示出了根据本发明优选实施例的用于集成ERP系统的方法的向ERP写入物料数据的流程图和截屏图。

首先,如图5和图6所示登陆ERP系统,包括以下步骤:

步骤S202,启动ERP系统的软件;

步骤S204,获取ERP系统的主界面窗口;

步骤S206,获取用户名和密码子控件,给子控件赋值;

步骤S208,向主界面窗口发送回车消息,完成登录。

然后,如图7和图8所示保存物料数据到ERP,包括以下步骤:

步骤S302,获取ERP命令录入控件,向控件写入命令mm02,然后发送回车消息,进入物料编辑窗口;

步骤S304,在打开的物料编辑窗口,获取任意需要修改的控件,并修改其属性;

步骤S306,获取保存控件,向保存控件发送回车消息,完成物料的保存。

该优选实施例提供了向ERP系统写入物料数据的具体实施方案。

从以上的描述中,可以看出,本发明上述的实施例实现了如下技术效果:由于通过从当前打开的窗口中获取ERP系统的主界面窗口及其特定子控件,来实现ERP系统的集成,解决了现有技术开发工作量和难度较大,系统集成时间长的问题。使用本发明中的方法可以有效地节省ERP系统集成的时间,并规避了ERP系统方面的技术风险。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号