历史版本8 :SAP 数据集插件 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 描述编辑

在客户SAP系统集成时,在7.0.4版本之前只能通过程序数据集或者是ETL工具进行取数,实现起来非常麻烦,希望有类似JDBC数据连接的设置方式来设置SAP数据连接。
FineReport在8.0版本中,将SAP数据连接功能做成一个插件的功能,启用插件后,可在服务器数据连接处新增数据连接类型SAP数据连接,在数据集中添加SAP数据集类型。

2. 环境准备编辑

与SAP系统进行连接,需要导入SAP接口包和本地库,并确保运行的JVM能够找到接口包和本地库,下载地址为SAPjar包和本地库,服务器和本地设计器导入的接口包和本地库有所区别,下面一一介绍。
2.1 windows系统服务器
报表工程部署在windows系统的服务器下,以tomcat为例:
  • 32位jdk
windows系统安装的32位的jdk,根据jdk版本的不同下载不同的接口包和本地库。
jdk1.4下载接口包sapjco.jar和本地库librfc32.dll、sapjcorfc.dll,下载地址为:进入SAP下载,选择sapjco2_window_32bit,将上述3文件下载下来,sapjco.jar接口包放在%tomcat%\lib文件夹下,librfc32.dll和sapjcorfc.dll本地库放在C:\Windows\System32文件夹下。
jdk1.5及以上下载接口包sapjco3.jar和本地库sapjco3.dll,下载地址为:进入SAP下载,选择sapjco3_windows_32bit,将两个文件下载下来,sapjco3.jar接口包放在%tomcat%\lib文件夹下,sapjco3.dll本地库放在C:\Windows\System32文件夹下。
注:如果数据连接失败,可以尝试将dll文件放置在系统jre的bin目录下,比如说,C:\Program Files\Java\jre7\bin
  • 64位jdk
windows系统安装的64位的jdk,根据jdk版本的不同下载不同的接口包和本地库。文件的放置路径与32位jdk的放置路径一致,只是下载地址有所不同。
jdk1.4下载地址为:进入SAP官方下载页面SAP下载,在官网中找到sapjco.jar和本地库librfc32.dll、sapjcorfc.dll,按照windows32位jdk的放置路径存放sapjco.jar和本地库librfc32.dll、sapjcorfc.dll。
jdk1.5及以上下载地址为:进入SAP下载,选择sapjco3_windows_64bit,将两个文件下载下来,按照windows32位jdk的放置路径存放sapjco3.jar和sapjco3.dll。
注:win2003和windows xp的系统在连接SAP时,需要下载安装Microsoft Visual C++ 2005 SP1,32位系统请点击Microsoft Visual C++ 2005 SP1 x86下载安装,64位系统请点击microsoft visual c++ 2005sp1_x64.rar
2.2 linux系统服务器
报表工程部署在linux系统的服务器下,与windows系统服务器类似,也分32位和64位的jdk,以tomcat为例:
  • 32位jdk
根据jdk的版本不同,下载不同的接口包和本地库。
jdk1.4下载接口包sapjco.jar和本地库libsapjcorfc.so、librfccm.so,下载地址为:进入SAP下载,选择sapjco2_linux,将两个文件下载下来,sapjco2.jar接口包放在%tomcat%\lib文件夹下,本地库so文件通过Linux终端用export命令将2个本地库所在文件夹的路径加入到PATH变量里面去,命令如下:
export PATH=$PATH:<dir>
比如说libsapjcorfc.so和librfccm.so文件在桌面的文件夹sapjco下面,那么命令为:export PATH=$PATH:/home/mint/Desktop/sapjco2 .
jdk1.5及以上下载接口包sapjco3.jar和本地库libsapjco3.so,下载地址为:进入SAP下载,选择sapjco3_linux_32bit,将两个文件下载下来,sapjco3.jar接口包放在%tomcat%\lib文件夹下,libsapjco3.so本地库加入到PATH变量中的方法与jdk1.4版本里面的一致。
  • 64位jdk
jdk1.4下载地址为:进入SAP官方下载页面SAP下载,在官网上找到64位jdk1.4的接口包sapjco.jar和本地库libsapjcorfc.so、librfccm.so,按照linux32位jdk的放置路径存放sapjco.jar和libsapjcorfc.so、librfccm.so。
jdk1.5及以上下载地址为:进入SAP官方下载页面SAP下载,在官网上找到64位的接口包sapjco3.jar和本地库libsapjco3.so,按照linux32位jdk的放置路径存放sapjco3.jar和libsapjco3.so。
2.3 本地设计器
如果是在本地设计器上设计报表使用到SAP数据连接,由于FineReport设计器启动时是启动在32位jdk1.6版本上的,所以,不论系统安装jdk的32位的还是64位的,我们只需要下载windows系统下的32位的jdk1.6版本的sapjco3.jar和sapjco3.dll,进入SAP下载页面,选择sapjco3_windows_32bit,下载sapjco3.dll和sapjco3.jar,将sapjco3.jar放置在D:\FineReport_8.0\lib下面,dll本地库文件放置在D:\FineReport_8.0\jre\bin文件夹下即可。

3. SAP数据连接编辑

3.1 建立连接
选择服务器>定义数据连接,点击按钮,选择SAP,如下图:
主机名:局域网中已配置的SAP的主机名称,也可以写该机器的IP地址。
System Number:SAP系统中设置的属性,用于交互的端口号,一般来说是00,具体根据SAP系统来定。
客户端:SAP 系统管理的业务和数据的最大有效集合,也是SAP系统的一个属性,具体根据SAP系统决定。
连接池属性:SAP系统中的容量和最大连接数。
注:如这里没有SAP连接,如下图,则需要启用一下插件,设置方法往下看。
点击服务器>插件管理,如下图所示。
弹出插件管理菜单,点击已安装,选择SAP数据集,点击左下角的启用按钮,如下图所示。
点击重启设计器,稍后设计器会自动重启,重启后插件即被启用成功,数据连接里就会出现SAP数据连接,如下图所示。
3.2 连接测试
点击测试连接,如果提示连接成功则表示数据连接新建好了,点击确定退出数据连接设置面板。

连接成功之后就可以在服务器数据集、模板数据集等地方使用该数据连接,通过该数据连接从SAP系统中取数,详细请查看SAP数据集.