标题 | SAP接口技术的研究与实现 |
范文 | 徐晓琴 摘要:SAP接口技术可以消除SAP系统与其他系统间的信息孤岛,提升各系统间的集成度和数据共享性能,整体提高企业的信息资源整合。随着公司SAP系统与外围系统的集成越来越多,根据不同的业务需求及系统特点使用了不同SAP的接口技术。本文详细介绍了SAP系统提供的主要接口技术:RFC、BAPI、BDC、PI、Webservice接口技术,从实例上重点介绍了RFC、BAPI、PI、BDC接口技术原理和使用方法,为其他企业接口需求分析提供了指导作用。 关键词:SAP系统 ;接口技术 ; BAPI 中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)09-0267-02 1 背景 中信戴卡公司SAP(System Application and Products in Data Processing)系統上线五年来,经过不断地深化应用,通过实施SAP系统为核心的业务管控体系,全面提升企业现代化管理水平,全面提升企业的运行效率和效益。SAP系统进行全面实施,主要模块为:MM、SD、PP、FI、CO,建立既满足企业当前业务形式,又满足未来拓展需求的系统模式;梳理业务流程,以SAP系统为基础核心,建立高效、清晰的标准流程;集成CAQ\MES\OA\EDI,采购平台等系统,以SAP为核心,建立销售、采购、生产、质量、财务、成本等一体化管理平台;支持生产的精益管理:利用信息技术和系统集成,实现生产精益管理,使得SAP系统能获取实时、准确的生产执行数据,进行及时详细的核算并对高阶的生产计划和决策提供有效支持,实现产品线生产效益的最大化;为经营决策提供及时准确的财务分析以及产品经营数据的分析。通过利用先进的信息技术手段实现集成,从根本上提高企业获取信息能力,不断提升企业管理能力和核心竞争力,才能在激烈的竞争条件下占领市场优势,不断扩大经营规模。 2 SAP接口技术介绍 2.1 RFC技术 中信戴卡公司SAP系统上线以来,同步开发了许多外围系统,与SAP系统数据交换均采用的是RFC接口技术。RFC大并发,短时间内加速ECC资源占用;所有集成场景外围系统发起,系统负载高;每个工厂开发一个新RFC提供类似数据,如物料主数据;同步接口等待时间长,如北美报产页面等待5分钟以上,接口可重用性低;缺少监控机制;网络问题,需要由发起系统核对数据重发。 2.2 BAPI接口技术 BAPI就是模拟一些SAP常规业务操作而封装好的函数,并能返回业务处理消息。程序开发时候可直接调用BAPI,一般不能修改,只需要收集输入参数,中间过程交给BAPI处理,成功失败消息始终通过RERURN表返回。 2.3 BDC批输入技术 BDC(Batch Data Conversion)是针对一些没有BAPI的业务操作,通过事务代码SHDB把用户的业务操作记录下来,然后用程序代码固化下来,重复使用。中信戴卡公司使用BDC技术挺多,但是缺点之一,对于增加新字段等修改需要重新录屏,操作麻烦;缺点二,对于复杂屏幕的,录屏编写的程序执行错误,达不到预想状态。 2.4 SAP PI技术 最近,中信戴卡公司实施了PI系统。通过集成式的信息管理平台,统合庞杂的业务系统信息流,并藉由平台提供的系统监管能力,实现单一窗口的运维管理。PI提供的功能:提供同步式的沟通渠道(如,RFC, Webservice),达成实时的数据传输;良好的信息管理能力,提供多种讯息管理及查询机制,方便查询信息的收送方、传送时间及资料内容等;确保信息送达,若遭遇问题时,有自动重送的机制;手动发送机制,不需要前端系统再次发送。提供常用的接口(Adapter)类型(A2A/B2B),减少系统间讯息传送的接口考虑及开发考量;保障数据传输及数据内容的安全。 2.5 Webservice接口技术 WebService是构建互联网分布式系统的基本部件,成为企业集成应用的主要平台。Webservice通过标准通信协议,目前主要使用SOAP协议。大致流程:在TCODE:SE80下配置代理者或消费者,得到供外部系统调用的WSDL网址或配置外部系统提供的URL,最后通过事务代码SOAMANAGER进行端口配置即可。 3 接口技术应用 中信戴卡主要产品是轮毂,主要业务系统是SAP系统,与外围接口系统有OA、EDI、MES、采购管理平台等进行数据交换,这些外围系统是SAP系统业务功能的延伸和细化。 3.1 BAPI技术 以EDI平台调用SAP系统创建销售退货订单为例。 接口程序主要步骤有以下: 1)将采购平台创建物料的数据作为函数的输入参数传过来; 2)将输入结构数据分别赋值传给BAPI的输入参数; 3)CALL FUNCTION调用BAPI,返回信息存放在RETURN结构中。如果RETURN中有E类型行,说明有错误,从报错信息查找问题并更正;如果没错误,则用COMMIT提交完成。 注意:代码编辑过程中,输入参数的填充有特殊值或一些技巧需要日常经验的积累。 CALL FUNCTION 'BAPI_CUSTOMERRETURN_CREATE' EXPORTING RETURN_HEADER_IN = ORDER_HEADER_IN RETURN_HEADER_INX = ORDER_HEADER_INX IMPORTING SALESDOCUMENT = LV_VBELN TABLES RETURN = RETURN RETURN_ITEMS_IN = ORDER_ITEMS_IN RETURN_ITEMS_INX = ORDER_ITEMS_INX RETURN_PARTNERS = ORDER_PARTNERS RETURN_SCHEDULES_IN = ORDER_SCHEDULES_IN RETURN_SCHEDULES_INX = ORDER_SCHEDULES_INX RETURN_CONDITIONS_IN = RETURN_CONDITIONS_IN RETURN_TEXT = RETURN_TEXT. LOOP AT RETURN WHERE TYPE = 'E' OR TYPE = 'A'.. EXIT. ENDLOOP. IF SY-SUBRC = 0. LOOP AT LT_CHKLOG ASSIGNING CONCATENATE '退货订单创建失败:' RETURN-MESSAGE INTO CONDENSE ENDLOOP. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. ELSE. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING WAIT = 'X'. WAIT UP TO 3 SECONDS. LOOP AT LT_CHKLOG ASSIGNING CONCATENATE '退货订单创建成功:' LV_VBELN INTO CONDENSE ENDLOOP. ENDIF. 3.2 BDC批处理技术 BDC工作原理:将需要输入的数据依次存放在定义好的BDC的结构内表中,执行CALL TRANSACTION命令调用SAP事物代码TCODE。BDC内表中的数据会按照先后顺序放入对应的屏幕字段,成功提交事务,失败则回滚。下面以创建供应商主数据作为案例来说明BDC工具的导入方法。 TCODE:SHDB下进行录屏操作。输入要录制的事务代码,按照常规业务操作步骤录制一笔有效的业务数据。录制完成后,保存所有记录。 在SE37中编辑函数代码 CALL TRANSACTION 'XK01' USING GT_BDC MODE P_MODE UPDATE 'S' MESSAGES INTO GT_MESSTAB. 输出GT_MESSTSAB中没有E类型消息,说明创建成功,commit提交完成事务;如果有错误,则根据错误消息进行修正。 3.3 PI技术 在SAP端输入TCODE:SXI_MONITOR查看数据下发情况如下图1所示:其中花格旗代表下发成功,其他颜色旗代表有问题。灰旗是没有在ABP程序中COMMIT WORK AND WAIT.红旗是错误。绿旗是scheduled.果有错误的,可以点击进去,下载XML格式进行程序调试查找原因。 PI端數据接收及下发监控。进入Configuration and Monitoring,见图2,如有错误,点击进去查找具体原因。此外还有其他高级查询方式,在此不再赘述。 4 结论 本文通过SAP系统接口技术的应用实现了SAP系统与其他外围系统的集成,保证了数据的一致性和有效性。本文对接口技术分析和业务实现对正在实施SAP的企业具有良好的示范作用和参考价值。随着SAP系统与外围系统的接口需求不断增加,如何根据企业自身的特点定制符合企业发展的接口技术十分重要。 参考文献: [1] 黄佳.SAP高级应用开发[M].北京:人民邮电出版社,2008. [2] 黄佳.SAP业务数据传输指南[M].北京:人民邮电出版社,2007 [3] 曾春年,刘洋,董爱强.SAP批量导入数据研究[EB/OL].北京:中国科技论文在线 [2008-10-16].http://www.paper.edu.cn.
|
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。