企业中的质量检验是对不同物料、不同批次做大量的检验,如果仅依靠手工将检验数据输入SAP QM系统中,是一件费时费力且容易出错的工作。
QM-IDI(Inspection Data Interface in Quality Management)接口,即“质量管理中的检验数据接口”,是SAP专为质量管理系统和外部系统之间交换检验处理数据设计的开放式的接口。QM-IDI接口可以支持将SAP QM系统外部的检验数据导入系统,从而提高效率与准确性。
外部系统在SAP QM中称为子系统(Subsystem),如企业中常见的实验室信息管理系统(Laboratory Information Management System,LIMS),也可以是企业自行开发的信息系统,或者是MS Excel表格或Access数据库。
SAP QM系统先通过接口将质量规范传递到外部系统,然后外部系统根据质量规范将检验结果和检验指标进行匹配,最后将检验结果传入SAP QM系统。
子系统与SAP QM系统间的数据交互式是采用同步机制(Synchronous)完成的,SAP提供一组功能模块(Function Modules),供外部系统查询SAP质量规范,然后根据质量规范上传检验结果。
这些功能模块可以通过SAP远程函数调用(Remote function Call,RFC)接口,将参数传递给SAP,在SAP外部调用这些功能模块。功能模块在SAP内部执行后,再通过接口将功能模块的调用结果传递到外部系统。
下面采用一个实例来说明QM-IDI接口开发的过程。
1.业务需求
工厂MF01有外部系统管理检验数据,需要将检验数据自动上传到SAP QM系统。
2.业务分析
采用QM-IDI接口,外部系统需要进行开发,在外部调用SAP功能模块将SAP QM的检验批传至外部系统,匹配检验指标后将检验结果传入SAP QM系统中。
3.后端配置
SPRO→“质量管理”→“质量检验”→“子系统”→“使用QM-IDI接口处理质量检验”(Quality Management>Quality Inspection>Subsystems>Process Quality Inspections Using QM-IDI Interface)。
如图12-12所示,工厂MF01创建QM-IDI接口,为在避免传递错误数据的同时提高效率,针对不同工厂的数据采集系统,要创建独立的系统接口,并将这些接口用在SAP的功能模块中,以区分不同工厂的外部系统。
图12-12 创建QM-IDI接口(SPRO)
如图12-13所示,为工厂MF01创建工作中心MF01_WH1,设定工作中心的QDR系统为QM-IDI实例“QM0001”。
图12-13 修改工作中心(CR02)
如图12-14所示,为检验计划G5,计数器1的工序0010设定工作中心MF01_WH1。
图12-14 修改检验计划(QP02)
如图12-15所示,创建检验批。该检验批采用检验计划G5,组计数器1,且会有系统状态“MSUB”,用以标记子系统,表明该检验批可以采用QM-IDI接口输入数据。
图12-15 查看检验批(QA03)
如图12-16所示,运行SE16N,查询系统表QIWL,该数据表存储了可以和外部系统交互的检验批记录。
图12-16 查看子系统传输表(SE16N)
4.开发与前端操作
SAP提供一组功能模块,供外部系统查询SAP质量规范,然后根据质量规范上传检验结果。这些功能模块通过SAP远程函数调用接口,可以在SAP外部进行调用(但功能模块的实际执行还是在SAP内部),然后再由SAP通过接口将功能模块的调用结果传至外部系统。子系统与SAP QM系统间的数据交互式是采用同步机制完成的,即外部系统调用功能模块后要等待SAP应答,再执行下一步操作。
如外部系统支持C/C++或.NET或VBA开发,可以在外部系统中逐次调用以下功能模块,以实现外部系统和SAP QM的质量数据交互。
这里采用事务码SE37来展示如何调用这些功能模块,包括展示传入和传出值,关于如何在外部程序中调用,读者可参考SAP标准文档和SAP SCN网站。SAP QM和外部系统的数据交互过程如下:
1)SAP QM系统设定质量管理主数据,激活质量管理类型,触发检验批的生成。
2)启动外部系统。外部系统调用SAP FM QIRF_SEND_INSP_REQUIRMENTS(Selection of Operations,Transfer of the Work list),用于查询当前需要进行检验值传递的QM检验批和工序。(www.xing528.com)
3)根据第2步得到的检验批数据,外部系统调用SAP FM QIRF_SEND_INSP_DATA_FOR_ WL2(Transfer of Charac.Specifications and Catalog Entries to the Work list),用于查询检验批的检验的检验指标。
4)如果检验批有检验点或样本,可以根据第3步得到的检验批数据,外部系统调用SAP FM QIRF_INSPPOINT_GETLIST(Read the Inspection Points of an Inspection Operation),用于查询检验批的样本信息。
5)外部系统取得对应检验批次的检验数据,并将其计入对应的检验批、检验工序、样品和检验指标中。
6)根据第5步得到的检验批数据,外部系统调用SAP FM QIRF_GET_ALL_DATA_VALUES2(Results Confirmation for all Record Types),将外部系统记录的检验数据传入SAP QM系统。
7)如果有使用决策的需求,外部系统可以调用SAP FM QIRF_GET_USAGE_DECISION2(Confirmation of the Usage Decision for the Inspection Lot),触发检验批的自动使用决定。
如图12-17所示,运行SE37,运行功能模块QIRF_SEND_INSP_REQUIRMENTS。该功
图12-17 试运行功能模块(SE37)(一)
能模块是由外部系统调用,通过QM-IDI接口查询SAP QM当前的检验批,输入QM-IDI实例QM0001、物料号等信息,执行功能模块,即可返回对应的检验批号码。
如图12-18所示,功能模块返回的检验批号码可以传入外部子系统。
图12-18 试运行功能模块(SE37)(二)
如图12-19所示,运行SE16N,查询系统表QAMV,该数据表存储了检验批所有检验特性的记录,其中“确认编号”为唯一确定该检验批检验特性的编码,SAP QM采用此编码传递给外部系统,外部系统再根据此编码将检验值传回SAP QM。该“确认编号”可以通过调用功能模块QIRF_SEND_INSP_DATA_FOR_WL2得到。
图12-19 试运行功能模块(SE37)(三)
如图12-20所示,运行SE37,运行功能模块QIRF_SEND_INSP_DATA_FOR_WL2。该功能模块可以由外部系统调用,通过QM-IDI接口查询SAP QM指定检验批的工序与检验指标,输入QM-IDI实例QM0001、检验批号、工序号等信息,执行功能模块,即可返回对应的检验指标列表。
图12-20 试运行功能模块(SE37)(四)
如图12-21所示,执行功能模块,即可返回对应的检验指标列表。
图12-21 试运行功能模块(SE37)(五)
如图12-22所示,执行功能模块,即可返回对应的检验指标列表,其中的“RUECK-MEL”即为“确认编号”。
图12-22 试运行功能模块(SE37)(六)
如图12-23所示,运行SE37,运行功能模块QIRF_GET_ALL_DATA_VALUES2,该功能模块是由外部系统调用,通过QM-IDI接口将检验值传回SAP QM指定检验批的指定检验指标,输入QM-IDI实例QM0001、检验指标的确认编号及检验值,执行功能模块,即可将检验值“7.7”存入检验批的检验指标。
如图12-24所示,运行SE37,运行功能模块QIRF_GET_ALL_DATA_VALUES2。
图12-23 试运行功能模块(SE37)(七)
图12-24 试运行功能模块(SE37)(八)
如图12-25所示,执行功能模块后,可以看到该检验值被存入SAP检验批的检验指标。
图12-25 查看检验批结果(QA03)
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。