新 SAP BW 数据集插件

  • 文档创建者:文档助手1
  • 编辑次数:53次
  • 最近更新:若言 于 2020-06-29
  • 1. 描述

      设计器版本JAR 包版本新SAP BW数据集插件版本  
     10.02019-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,如下图所示:

    image.png

    2)右击「bw」,选择 Deactivate service,点击确认,再次右击「bw」选择Activate service,点击确认,确保所有的服务都已经开启。

    image.png

    注:详情请参见: SAP BW 服务器相关 

    2.2 安装插件

    安装 新 SAP BW 数据集插件 

    设计器插件安装方法请参照 设计器插件管理

    服务器安装插件方法请参照 服务器插件管理

    3. SAP BW Cube

    3.1 定义数据连接

    1)点击服务器数据集>定义数据连接,点击+,选择 SAPBW Cube,根据实际环境填写 URL 、用户名、密码和数据库,点击测试连接,若连接成功,则会出现弹出框提示,如下图所示:
    1576142612235330.png

    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 。如下图所示:

    image.png

    3.2 添加数据集

    点击+,添加SAPBW Cube 数据集,如下图所示:
    1576143209957621.png

    3.2.1 添加简单通用查询数据集

    1)数据库连接选择新建的 SAPBW Cube 连接,点击「下拉」按钮,选择「简单通用查询」,并选择「Cube」类型,设置列轴字段,如下图所示:
    1576201368352086.png

    2)点击设置。设置行轴字段,如下图所示:

    1576201544846585.png

    3)点击设置。设置过滤条件,如下图所示:

    1576201661230092.png

    4)点击右上角预览按钮,可查看添加的数据集。假设原先有 N 个度量值,M 个维度,那么列数为 N+2M,如下图所示:

    1576202356435454.png

    3.2.2 添加自定义 MDX 查询数据集

    数据库连接选择新建的 SAPBW Cube 连接,点击「下拉」按钮,选择 自定义 MDX 查询 ,输入查询语句。点击确定即可,如下图所示:

    1576203660450964.png

    4. SAP BW Query

    4.1 连接方式一:使用 Web Service 连接

    4.1.1 手动搭建 Web Service

    注:这里是版本 6 的操作步骤。

    1)输入soamanager进入配置界面,如下图所示:

    image.png

    2)选择 Web 服务配置,如下图所示:

    image.png

    3)搜索并选择 query_view_data ,如下图所示:

    image.png

    4)点击创建服务,如下图所示:

    image.png

    5)输入服务信息和绑定信息,如下图所示:

    image.png

    6)选择传输级别安全、消息级别安全信息,如下图所示:

    image.png

    7)soap 协议默认,点击完成 即可。

    4.1.2 定义数据连接

    选择服务器>定义数据连接,点击+,选择 SAPBW Query选择连接方式为Web Service,填写 URL、用户名、密码以及编码类型,点击测试连接,若连接成功,则会出现弹出框提示,如下图所示:
    1576208259424120.png

    URL格式:http://ip地址:端口号加上下图中  Berechnete Zugriffs-URL 对应的这串字符。

    screenshot-1.png

    4.2 连接方式二:使用 JCO 连接

    4.2.1 创建 Query 

    创建不带参数的 Query

    1)登录工具 Query Designer,如下图所示:
    222

    2)点击新建,选择信息提供者创建一个新的 Query ,如下图所示:

    1576216869376044.png

    3)点击确定后,如下图所示:

    1576217689488527.png

    4)切换成行/列的设置界面,分别拖动左侧目录中的关键指标进入列面板,维度进入行面板,点击保存查询,如下图所示:

    1576217752127234.png

    注:维度只有展开后,图标为222的才能拖动。

    5)输入描述和技术名称,点击保存,如下图所示:

    1576217983877203.png

    注:这里修改的技术名称才是 Query 的实际名字。

    创建带参数的 Query

    1)切换成过滤器的设置面板,将左侧维度中的需要过滤的维度某项拖入特征限制面板下,比如下图中的日历日,右击该项,点击限制,如下图所示:

    1576218509301218.png

    2)在弹出的对话框下选择显示模式为变量,创建新变量,修改变量名称,如下图所示:

    1576218772757063.png

    3)详细信息选项卡可设置参数表示(如:单值,多值,范围等)和参数的可选性,如下图所示:

    1576218933970540.png

    4)点击OK,变量创建成功,选中创建成功的变量,将其添加到选择的选项。点击确定,如下图所示:
    1576219181170146.png

    4.2.2  预览 Query 

    1)在 SAP 轻松访问中输入 rsrt2 ,进入报表预览,如下图所示:
    1576220135970583.png

    2)输入 Query 技术名称,点击执行,如下图所示:
    1576220223514816.png

    3)出现参数变量选择界面,如下图所示:

    1576220533747045.png

    注:如果没有必选参数,则无此步骤。

    3)点击执行,预览结果如下图所示:

    1576220326757723.png

    4.2.3 定义数据连接

    1)放置驱动,驱动的放置和 SAP 数据集相同。参见 SAP 数据连接 。

    2)点击服务器>定义数据连接,点击+,选择 SAPBW Query ,选择连接方式为 JCO ,填写相应的主机名、系统编号、语言、客户端、用户名、密码、连接池属性等信息,如下图所示:

    1576221484689755.png

    注:新 SAP BW 数据集插件需要 V1.2 及以上版本。

    4.4 添加数据集

    1)点击+,添加 SAPBW Query 数据集,如下图所示:

    1576221614125827.png

    2)设置数据集参数

    数据库连接选择新建的 SAPBW Query 数据集,根据实际情况填写参数的值。若创建的 Query 设置了参数,需要添加参数。也可以勾选使用缓存、获取单位,如下图所示:

    注:这里信息提供者、Query 及参数,需要手动输入,请根据上述 Query 的创建方法,填写自己实际创建的值。

    1576224252126182.png

    注:1. 使用缓存及在第二次读取数据时速度会变快,且目前缓存时间为 10 分钟,获取单位即勾选后显示字段的单位。

    注:2. 参数名一定要写键值,且只能写键值。

    3)点击预览,弹出参数框,选择确定,即可查看预览数据,如下图所示:

    1576224545592574.png

    1576224693833006.png

    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 参数类型目前只支持单值、多值、范围、层次节点、选择选项。

    5.4 SAP 参数联动模板参数无效

    1)问题描述

    新建数据集时,SAP 参数通过公式引用模板参数,联动无效。

    2)解决方案

    目前不支持 SAP 参数跟模板参数进行联动,新建 SAP 参数替换掉模板参数,SAP 参数之间是支持联动的。

    5.5 SAP BW Query 取数显示为空

    1)问题描述

    连接 SAP BW Query 可以成功,但无法访问到具体数据,且提示报错:

    SwingWorker-pool-4-thread-10 ERROR [standard] Cannot find Body Info!

    AWT-EventQueue-0 ERROR [standard] node has no children‘

    2)解决方案

    数据连接时不要使用自己拼接的 URL ,需要使用 Web Service 的 URL 。如下图所示:

    Snag_4cd4f2.png

    获取 Web Service 默认 URL 格式的方法如下:

    数据连接方式选择Web Service,点击获取默认 URL 按钮Snag_55f956.png,URL 编辑框中会自动显示默认的 Web Service URL 格式,将其中的某些参数修改成自己环境下的即可。


    附件列表


    主题: 数据准备