文章

ERP系统与自动化仓库系统的接口设计与实现

2021-06-10温江敏 白小平

135阅
本文主要以榆神能源公司ERP系统与该公司物资总库自动化仓库系统的对接为例,通过业务分析研究了基于Web Service技术的ERP系统与自动化仓库系统接口设计。
1 引言

       物资管理工作质量的高低成为决定企业管理工作质量高低的重要标准。榆神能源公司在集团统建的ERP系统过程中实施了具有公司特点的仓库手持终端作业系统,实现了所有入库、出库、调拨等作业任务的现场处理,提高了现场物流作业效率。

       自动化仓库作为最先进的物流装备已经被广泛使用,其具有的WMS系统也同样具备管理仓库入库、出库、调拨等作业任务功能,并且实现对堆垛机、输送机等设备运行的自动控制。榆神能源公司的自动化仓库在ERP系统上线初也一并投入运行。

       由于ERP系统都暂不具备对堆垛机、输送机等设备运行的自动控制功能,因此在自动化仓库投用以后,仓库现场作业任务将不能在现场进行处理,两套先进系统的结合反造成了作业效率的下降。在集团内暂未形成ERP系统与自动化仓库WMS系统的标准接口方案,如果能实现两套系统之间的接口,将会对实现物资管理信息共享,进一步减少仓库作业中间作业流程,避免重复的信息输入,确保两套系统的数据一致,提高仓库管理工作效率有着重要的意义。同时,对在全集团内的类似项目的各单位具有示范作用。本文就以榆神能源公司为例,实现基于Web Service技术的ERP系统与自动化仓库WMS系统的接口设计,使物资管理T作越来越高效。

2 Web Service技术与榆神能源公司物资管理系统

       2.1 Web Service技术

       Web Service是一种通过Web部署提供对业务功能访问的技术。它成为不同平台的系统之间相互交流数据的接口。Web Service可以跨越防火墙、服务器及网络宽带的限制,较快的实现不同平台之间的数据交互。XML(可扩展的标记语言)是Web Service平台中表示数据的基本格式。除了易于建立和易于分析外,XML主要的优点在于它既与平台无关,又与厂商无关。WSDL(web service描述语言)是一个基于XML的语言,用于描述web service及其函数、参数和返回值。

       Web Service是构筑在XML与Soap技术之上的一种典型的异构分布技术。自出现以来,其开放性的标准让各个不同系统间能够互相交换资料。这种良好的安全开放性使得它成为构建ERP系统WM模块与自动化仓库WMS系统接口的首选。

       2.2 ERP系统

       ERP系统是企业资源计划管理系统,它将企业产、供、销、人、财、物等生产经营要素与环节集成为一个有机整体,从而实现企业业务功能的横向集成,企业实现物流、资金流、信息流、工作流的高度集成和统一,使企业的运营规范、透明、快捷、协同。本文中的

       ERP系统物资模块在榆神能源公司启用了4个模块,分别为MM物资管理、WM仓储管理、SRM寻源供应商管理、MDM主数据管理,构成了物资业务的核心系统管理体系,将物资需求一采购一验收一入库一出库全部业务系统化管理,实现物资管理业务流程化、标准化、系统化操作。

       2.3 自动化仓库系统

       自动化仓库系统由立体货架、堆垛机、输送机系统、条码检测系统、通讯系统、自动控制系统、计算机监控系统以及管理系统组成,采用先进的自动控制、总线、通讯和信息技术进行作业。依据ERP系统出入库单对物资进行拣配,实现物资存储自动化作业。

3 物资管理的需求分析

       目前,神华集团有5家子分公司拥有自动化立体仓库,其中某一单位实现了与ERP系统的同步操作,但其实现方式相对复杂,应用效率不高。因此,要实现ERP系统WM模块与自动化仓库系统对接。

       榆神能源公司所有的业务操作均由ERP系统发起,只有入库上架、出库下架业务在自动货仓库系统操作,必须先在ERP系统操作出入库任务,再到现场操作自动化仓库设备,由于无法实时同步和重复数据录入等问题,造成两套系统的账务差异,这就造成了系统间相互独立,成为一个信息孤岛,引起的问题越来越突出,严重影响了仓储的服务效率,阻碍了服务水平的提升。而跨应用系统的数据的更新只能通过人工传递手工录入方式完成,不仅速度慢,而且也容易出错。这就使数据的利用率降低,不能进行跨部门跨应用系统的查询统计,浪费了可贵的信息资源。

4 ERP系统WM模块与自动化仓库系统接口设计

       4.1 接口设计原则

       其原则是在能够保持自动化仓库系统和ERP各子系统完整性和一致性的基础上,必须以实际业务流程和业务运行的可行性作为出发点。双方需要先根据已经约定好的接口协议,开发属于自己的Web服务,再公布Web Service服务的服务描述信息以及地址。服务调用方需要按照已经约定好的调用规则调用Web服务,从而能够完成具体的接口业务逻辑。

       4.2 接口体系结构

       接口访问采用协议SOAP,数据传输载体XML,Web服务描述WSDL,业务数据始业由ERP端开始触发传送PI系统,PI系统接到“业务数据”后立即根据SOAP+HTTP+WSDL协议方式调用WMS系统的Web Service将数据发送到WMS系统,通过Web Service从WMS系统校验返回信息到PI系统,PI接到数据后及时回传到ERP系统,此时ERP端认为业务完成并生成相关业务单据,如下图所示。

接口体系结构图

图1 接口体系结构图

       4.3 接口关键节点设计分析

       (1)服务端开发。把WMS系统内部的业务方法发布成WebService服务,供远程的ERP系统调用。借助一些WebService框架可以把自己的业务对象发布成WebService服务,NET方面的典型WebService框架即VISUAL STUDI0 2012,IIS服务器支持发布Web Service服务。

       (2)客户端开发。ERP系统远程访问WMS系统的服务器,调用WMS系统发布的WebService服务。

       (3)WebService的工作调用原理。WebService客户端API传递wscll文件的url地址,API创建出底层代理类,通过调用这些代理访问到web service服务。代理类把客户端的方法调用变成soap格式的请求数据,通过HTTP协议发出去,并把接收到的soap数据变成返回值返回。利用Web Service框架的sevlce方法,远程调用客户端给它通过http协议发送过来soap格式的请求数据,它分析数据,判断调用方法属于那类,查找或创建调用对象,并调用其方法,再把方法返回的结果包装成soap格式的数据,通过http响应消息回给客户端。

5 ERP系统物资模块与WMS系统接口设计细节实现

       5.1 接口设计

       5.1.1 接口传输信息

       (1)接口方式:同步。

       接口传输频率:全程实时传输,并设立传输过程等待机制,数据从ERP端发起主动推送数据到堆垛机系统,在发送过程中,ERP程序会等待堆垛机系统是否成功接收数据的状态标示,如果10s(可根据实际情况调整此参数)后依然没有回馈数据传输成功与否标示,则认定数据传输失败。ERP端提醒用户可再次发送或执行手动模式,如果回馈数据传输成功,则立即执行后续功能,并在ERP端生成业务单据。

       堆垛机系统响应要求:接到PI系统发送数据后立即将数据存储到本地数据库,并立即回传数据存储成功与否的信息到PI系统。然后堆垛机系统对数据进行分析并控制堆垛机执行操作。10s内堆垛机系统未通过PI系统发送接收成功与否的信息到ERP系统,则认定数据传输失败。

       (2)发送方式:多条。

       传输数据量预估(文件大小):IM(峰值)。

       传输数量限制:每笔数据传输内容条目上限为1000条,超过1000条的数据以1000条为一笔数据进行多次传输。

       发送方:ERP系统端。

       系统接收方:堆垛机系统端。

       发送方与堆垛机的连接方式:Web Service。

       ERP系统端业务数据发送程序名IZ_WM_SAP_STOCKER_READ_LOC。

       ERP系统端数据传送是否成功程序名.Z_WM_SAP_STOCKER_RETURN。

       5.1.2 传输内容

       5.1.2.1 输入参数,见表1
表1 输入参数

输入参数


       5.1.2.2 发送表参数T—TAB的结构,见表2
表2 发送参数T_TAB的结构

发送参数T_TAB的结构

续表

发送参数T_TAB的结构


       第三方字段名称,应该等堆垛机提供wsdl文件后,根据他实际内容填写。发送时,根据LGNUM仓库号、LGTYP仓储类型、LGBER存储区确定发送地址。

       5.1.2.3返回参数,见表3
表3 返回参数

返回参数


       5.1.2.4供应商提供接口相关情况

       (1)服务地址,例如:http://192.168.57.100:8000/WMSService。

       (2)ERP调用接口函数名称:

       Z_WM_SAP_STOCKER_READ (System.Data.DataTable dt)。

       返回值是一个DataTable。

       (3)监控系统返回至ERP参数。

       E_OK(成功标志)Y读取成功,N读取失败。

       E_TEXT(返回消息)包括:仓位格式不正确、操作类型未定义、其他错误信息。

       5.1.3 接口函数及输入、输出参数,见表4、表5
表4 接口函数及输入、输出参数
接口函数及输入、输出参数

表5 参数T_TAB的结构
参数T_TAB的结构

续表

续表


       5.2 错误处理机制

       ERP系统接口数据传输可能产生以下错误:

       (1)传输数据错误(格式错误、信息不全等):程序运行错误。

       (2)业务不同步导致的错误,由于系统间未能同步,存在差异的部分数据可能导致此类错误。

       (3)接口数据传输错误,因网络错误未传输成功。

       (4)数据解析问题,传输错误时SAP系统会自动重传,达到一定次数后停止重传。业务人员在SAP系统中直接查看处理日志,并联系相关人员进行错误处理,待问题排查处理后,手工在SAP系统中对错误数据重新发送。

       (5)堆垛机系统与ERP系统的数据传输过程中需要设立数据传输日志、网络异常数据重传、数据传输异常手工处理机制。

       日志机制:ERP端发送数据后,无论成功与否都将业务数据存储到日志表中,通过多个状态及处理时间标示表示此条业务是否传输成功及时间、重传是否成功及时间、是否异步手工处理及时间。堆垛机需要对从网络接收到的业务数据或手工操作堆垛机的业务数据存储到日志表中,并用标示表示属于常规传输还是手工处理。

       发送失败立即重传:业务员在手持功能界面执行业务数据发送时,由于网络临时拥堵或不通等临时原因到数据发送失败,可在当前界面选择数据重传。无论成功与否都将更新程序日志表对应状态。

       发送失败后批量重传:当网络持续不通,导致多笔业务单据无法发送到堆垛机时,可先使用手持功能执行异步业务处理,待网络恢复后在ERP端使用批量重传功能将未发送成功的业务数据批量发送到堆垛机进行业务处理。

       发送失败手工处理:当网络无法短时间内恢复时,可以手工在堆垛机端手动操作,并在ERP端手动更新业务数据状态为“手动处理完成”。

       数据查询比对功能:堆垛机系统及ERP系统需具备日志数据查询及导出功能,用于比对两系统之间业务数据是否全部完成或是否有业务数据丢失。

6 结论与建议

       本设计基于Web Service技术解决了WMS系统与ERP系统之间的数据交互问题,并且根据榆林神华能源有限责任公司的实际情况设计的WMS系统与ERP系统之间接口的实现方法。这个设计方法可以有效地避免防火墙和网络通信等问题,不仅使数据传输安全稳定可靠,同时也降低了成本,避免了重复开发。实现了ERP系统直接调用自动化仓库WMS系统的上下架功能,仓库管理数据的实时传递,物资存储一次性、自动化、高效化的作业。

       随着企业业务量的不断加大以及对数据安全的要求越来越高,后续还需要对两个系统传递数据过程的不稳定性以及突发性故障恢复后的自动数据传输、数据加密等问题进行持续的分析和研究。
 
责任编辑:程玥
本文来源于互联网,e-works本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供,并以尽力标明作者与出处,如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
读者评论 (0)
请您登录/注册后再评论