前言
在大长江集团的质量管理系统QMS项目实施过程中,希望与SAP/R3系统集成,具体要求是在SAP/R3系统进行收货处理时,相关的物料凭证号、物料号等信息要实时传入QMS系统中触发检验任务。为此,须对SAP/R3系统进行特别开发,下面简要介绍了开发过程中采用的方法,对实现SAP/R3系统的其他增强应用有一定参考作用。
一、系统设置
由于我们SAP/R3系统与QMS系统都是采用ORACLE数据库,因此,需进行以下设置:
1:设置ORACLE的TNS文件
在SAP/R3的应用服务器上设置TNSNAMES.ORA文件,增加对外部数据库的连接:
2:设置数据库连接
在SAP/R3系统中,采用事务码DBCO,对系统进行数据库连接配置,见下图:
二、功能实现
为实现由SAP/R3系统访问外部数据库,我们必须利用Native Sql。通常,我们在SAP/R3系统环境下编程都是利用Open Sql,它允许我们访问在ABAP Dictionary声明的数据库表,而不用理会SAP/R3系统采用的是何种数据库系统。而Native Sql允许我们在ABAP程序中用与特定数据库相关的语句来访问特定的数据库, 这也意味着要访问的数据表并不是由ABAP Dictionary管理的,而是存在于外部数据库中。
1:自定义功能函数YRFC_QM05_001编写
在定义功能函数的编写中,采用Native Sql ,实现信息写入外部数据库
(1)连接外部数据库
(2)信息写入外部数据库
(3)切断外部连接
以上为自定义功能函数代码中写入外部数据库的三个步骤。
三、自定义功能函数调用
自定义功能函数YRFC_QM05_001只能完成由SAP/R3系统向QMS系统写入相关信息的功能,但如何保证SAP/R3系统在进行配件收货处理时,系统能调用到这个函数呢?是否需要修改SAP/R3系统的标准程序呢?为此,我们可以采用SAP系统提供Badi增强功能。Badi( Business Add-Ins)是SAP提供的基于ABAP对象的一种新的系统增强技术,每个Business Add-In包含:Business Add-In定义、Business Add-In 接口和实现这个接口的Business Add-In类。
在SAP系统中用事务码SE19,我们来实现 MB_DOCUMENT_BADI(创建物料凭证时的 BADI)的方法MB_DOCUMENT_BEFORE_UPDATE,见下图:
双击方法MB_DOCUMENT_BEFORE_UPDATE后,可输入我们自己的代码:
这个方法确保只有在移动类型为101(对订单的收货)且要求为质检状态时,系统才会调用我们编写的函数,实现既定的功能。
四、结束语
通过以上Native Sql和Badi技术的应用,我们在QMS系统与SAP/R3系统的集成过程中,顺利地实现了将SAP系统中配件收货处理后的产生的物料凭证相关信息写入QMS系统,满足了QMS系统的特定功能要求,达到了SAP/R3与QMS两系统集成的目的。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:NATIVESQL和BADI技术在QMS系统与SAPERP系统集成中的应用
本文网址:http://www.toberp.com/html/consultation/1082028522.html