1. 描述编辑
设计器版本 | JAR 包版本 | 新SAP BW数据集插件版本 |
---|---|---|
10.0 | 2019-1-29 | v1.5.5 |
注:1. SAP BW 插件需要授权。
注:2. 新 SAP BW 多维数据集用于连接 BW Cube 和 BW Query,从以前的多维数据集中分离出来单独做成了插件。
2. 连接前准备编辑
2.1 开启服务
1)首先确认 SAP BW 服务器已经开启了 XMLA 服务,才能在外部软件中使用 XMLA 连接。
客户端进入 SAP 系统,按照如下路径进入:TCODE:SICF >default_host> sap>bw,如下图所示:
2)右击「bw」,选择 Deactivate service,点击确认,再次右击「bw」选择Activate service,点击确认,确保所有的服务都已经开启。
注:详情请参见 SAP BW 服务器相关 。
2.2 安装插件
设计器插件安装方法请参照 设计器插件管理
服务器安装插件方法请参照 服务器插件管理
3. SAPBW Cube编辑
3.1 定义数据连接
1)点击服务器数据集>定义数据连接,点击+,选择 SAPBW Cube,根据实际环境填写 URL 、用户名、密码和数据库,点击测试连接,若连接成功,则会出现弹出框提示,如下图所示:
2)XMLA 的 URL 的获取方法:IP 请询问 SAP 管理员,端口号有两种获取方法。
方法一:
客户端进入 SAP 系统,按照如下路径进入:
TCODE:SE37>FUNCTION MODULE>RSBB_URL_PREFIX_GET>Execute single test>Remove the default>Message Sever parameter selection>Execute
从而获取到端口号1,然后返回上一层页面 ,不删除默认,按照如下路径进入:
Message Sever [X] >Execute
从而获取到端口号2,尝试获取到的两个端口号,一般是端口 1 。
方法二:
客户端进入 SAP 系统,按照如下路径进入: TCODE:SICF, default_host>sap>bw>xml>soap>xmla, 在开启「bw」服务界面,找到 XMLA 服务并右键点击测试服务,会自动调用浏览器,这时输入「bw」登录的用户名密码,然后复制 URL 。如下图所示:
3.2 添加数据集
点击+,添加SAPBW Cube 数据集,如下图所示:
3.2.1 添加简单通用查询数据集
1)数据库连接选择新建的 SAPBW Cube 连接,点击「下拉」按钮,选择「简单通用查询」,并选择「Cube」类型,设置列轴字段,如下图所示:
2)点击设置。设置行轴字段,如下图所示:
3)点击设置。设置过滤条件,如下图所示:
4)点击右上角预览按钮,可查看添加的数据集。假设原先有 N 个度量值,M 个维度,那么列数为 N+2M,如下图所示:
3.2.2 添加自定义 MDX 查询数据集
数据库连接选择新建的 SAPBW Cube 连接,点击「下拉」按钮,选择 自定义 MDX 查询 ,输入查询语句。点击确定即可,如下图所示:
4. SAP BW Query编辑
4.1 连接方式一:使用 Web Service 连接
4.1.1 手动搭建 Web Service
注:这里是版本 6 的操作步骤。
1)输入soamanager进入配置界面,如下图所示:
2)选择 Web 服务配置,如下图所示:
3)搜索并选择 query_view_data ,如下图所示:
4)点击创建服务,如下图所示:
5)输入服务信息和绑定信息,如下图所示:
6)选择传输级别安全、消息级别安全信息,如下图所示:
7)soap 协议默认,点击完成 即可。
4.1.2 定义数据连接
选择服务器>定义数据连接,点击+,选择 SAPBW Query,选择连接方式为Web Service,填写 URL、用户名、密码以及编码类型,点击测试连接,若连接成功,则会出现弹出框提示,如下图所示:
4.2 连接方式二:使用 JCO 连接
4.2.1 创建 Query
创建不带参数的 Query
1)登录工具 Query Designer,如下图所示:
2)点击新建,选择信息提供者创建一个新的 Query ,如下图所示:
3)点击确定后,如下图所示:
4)切换成行/列的设置界面,分别拖动左侧目录中的关键指标进入列面板,维度进入行面板,点击保存查询,如下图所示:
注:维度只有展开后,图标为的才能拖动。
5)输入描述和技术名称,点击保存,如下图所示:
注:这里修改的技术名称才是 Query 的实际名字。
创建带参数的 Query
1)切换成过滤器的设置面板,将左侧维度中的需要过滤的维度某项拖入特征限制面板下,比如下图中的日历日,右击该项,点击限制,如下图所示:
2)在弹出的对话框下选择显示模式为变量,创建新变量,修改变量名称,如下图所示:
3)详细信息选项卡可设置参数表示(如:单值,多值,范围等)和参数的可选性,如下图所示:
4)点击OK,变量创建成功,选中创建成功的变量,将其添加到选择的选项。点击确定,如下图所示:
4.2.2 预览 Query
1)在 SAP 轻松访问中输入 rsrt2 ,进入报表预览,如下图所示:
2)输入 Query 技术名称,点击执行,如下图所示:
3)出现参数变量选择界面,如下图所示:
注:如果没有必选参数,则无此步骤。
3)点击执行,预览结果如下图所示:
4.2.3 定义数据连接
1)放置驱动,驱动的放置和 SAP 数据集相同。参见 SAP 数据连接 。
2)点击服务器>定义数据连接,点击+,选择 SAPBW Query ,选择连接方式为 JCO ,填写相应的主机名、系统编号、语言、客户端、用户名、密码、连接池属性等信息,如下图所示:
注:新 SAP BW 数据集插件需要 V1.2 及以上版本。
4.4 添加数据集
1)点击+,添加 SAPBW Query 数据集,如下图所示:
2)设置数据集参数
数据库连接选择新建的 SAPBW Query 数据集,根据实际情况填写参数的值。若创建的 Query 设置了参数,需要添加参数。也可以勾选使用缓存、获取单位,如下图所示:
注:这里信息提供者、Query 及参数,需要手动输入,请根据上述 Query 的创建方法,填写自己实际创建的值。
注:1. 使用缓存及在第二次读取数据时速度会变快,且目前缓存时间为 10 分钟,获取单位即勾选后显示字段的单位。
注:2. 参数名一定要写键值,且只能写键值。
3)点击预览,弹出参数框,选择确定,即可查看预览数据,如下图所示:
5. 注意事项编辑
5.1 连接不上 bw,显示连接错误
1)检查 bw 中的 XMLA 服务有没有打开。
2)使用浏览器访问 URL:http://[ip]:[port]/sap/bw/xml/soap/xmla?sap-client=***,看是否可以访问。
3)URL 是否正确,只需要点击获取默认 URL 之后,修改 IP 和 port,末尾加上客户号(客户号的获取请询问管理员,一般为 3 位数字如 000,100,800 ) 示例如下:
jdbc:xmla:Server=http://[ip]:[port]/sap/bw/xml/soap/xmla?sap-client=***
4)检查使用的域名不是 IP 导致连不上,域名 ping 不通。
5.2 获取数据出不来
XMLA 协议限制,数据量大就会导致服务报错,只能支持到万级别的行数。
5.3 Query 连接方式支持情况
1)FineReport 中使用 Cube 方式连接时,不支持展示在 Query designer 中所做的应用部分;使用 Query 方式连接则支持。
2)FineReport 中的 Query 不支持自由特性。
3)FineReport 中的 Query 参数类型目前只支持单值、多值、范围、层次节点、选择选项。