历史版本3 :带参数的SAP RFC取数 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

FineDataLink 版本
4.0.10

1.2 应用场景

用户数据存储在 SAP 中,因此需要对接SAP取数,但是由于数据安全问题或对SAP底层表并不了解,无法直接连接 SAP 的底层数据库取数。

因此希望通过RFC接口调用的方式,调用SAP系统内已经开发好的函数,获取SAP系统内的数据,并进行后续的数据开发处理。

1.3 功能说明

FineDataLink 支持通过 RFC 接口调用 SAP 系统内已经开发好的函数,并将数据取出。

SAP RFC不使用参数取数 给出了不使用参数直接取数的方式。

本文为用户介绍如何从 SAP 函数中取出带有指定参数值的数据。

2. 前提条件编辑

在使用 SAP RFC 进行取数和数据开发前,需要先建立 FineDataLink 与 SAP 系统的连接,详情参见:配置 SAP 数据连接

3. 操作步骤编辑

存放在 SAP 系统中的 country 全量数据如下图所示,希望取出 country 数据表中的满足指定条件的部分数据:

3.1 参数赋值

由于想要取出带有满足指定参数值的数据,因此需要首先添加一个参数赋值节点,设置满足条件的参数,如下图所示:

点击数据预览即可看到数据,如下图所示:

点击「输出参数」,设置参数为「country」并指定参数列为第一列的所有行数据,并设置默认值,如下图所示:

注:默认值仅在数据预览是生效,实际执行任务时是按照任务设置执行的。

3.2  SAP 取数

由于参数赋值默认生成的是一条数据,也就是「安道尔,阿富汗,阿尔巴尼亚,澳大利亚」作为一条参数,而我们希望的是将参数值一条条传入取出的,取出满足参数的数据,因此需要使用循环容器功能。

新增循环容器功能,将参数赋值节点和循环容器相连,设置循环配置,如下图所示:

新增数据转换节点,拖入「循环容器」中,如下图所示:

进入数据转换编辑界面,添加「SAP RFC 输入」节点,选择数据连接名称和函数,并将 3.1 节设置的参数填入指定的位置,如下图所示:

设置项

说明

函数

可手动编辑或者在设置选择已有的函数

不支持引用参数。

输入

参数名称:所选SAP函数的输入参数名。

SAP数据类型:所选SAP函数的输入参数数据类型。

数据类型:该参数在 FDL 中对应的参数数据类型。

参数值:可手动填写固定值,支持引用参数。

输出数据选择

下拉框列出所有可选的输出结果集。

目前对于一个SAP RFC输入,仅支持输出一组结果集中的数据。

输出

SAP列名:SAP-ABAP函数输出结果集中的数据列名称,不可编辑。

SAP数据类型:SAP-ABAP函数输出结果及中数据列对应的SAP数据类型,不可编辑。

数据类型:FDL对应输出的数据类型,不可编辑。

此时点击「数据预览」即可看到在参数赋值中设置的默认值「安道尔」对应的数据,如下图所示:

3.3 进行数据开发

SAP RFC -不使用参数中3.2 节相同,使用 DB表输入将 GDP 数据引入,并新增数据关联算子,设置关联方式,如下图所示:

使用 DB 表输出制作好的数据表,如下图所示: