SAP R/3系统是业界最先进、最稳定的ERP系统,国际和国内大型企业采用该系统的比例遥遥领先于其它ERP系统的总和。SAP R/3内建了二次开发平台,使用的开发语言叫做ABAP,是一种类似于COBOL的编程语言。ABAP在报表输出方面功能相对较弱(只能按行打印在屏幕上或者导出到Excel中处理),所以日常工作中经常需要在外部开发程序。通过程序接口自动读取SAP R/3的数据表(视图),在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。
SAP R/3的接口方式主要有RFC、IDOC、BAPI三种,本文要介绍的是相对比较简单的RFC(Romote Function Call,远程函数调用)。SAP系统RFC调用的原理其实很简单,有一些类似于三层构架的C/S系统,第三方的客户程序通过接口调用SAP内部的标准或自定义函数,获得函数返回的数据进行处理后显示或打印。下面是RFC调用的模型:
本文主要不是讨论SAP R/3函数的开发,因为使用SAP的公司一般都有专门的ABAP开发人员。大家如果有机会接触ABAP平台,可以通过事务代码SE37进入ABAP开发平台的"函数编制器"进行函数开发测试。
下面主要以VB为例介绍一下SAP接口RFC的开发思路。在SAP客户端SAP Gui Client安装的时候,