1. 概述
1.1 应用场景
用户数据存储在 SAP 中,因此需要对接SAP取数,但是由于数据安全问题或对SAP底层表并不了解,无法直接连接 SAP 的底层数据库取数。
因此希望通过RFC接口调用的方式,调用SAP系统内已经开发好的函数,获取SAP系统内的数据,并进行后续的数据开发处理。
1.2 功能说明
FineDataLink 支持通过 RFC 接口调用 SAP 系统内已经开发好的函数,并将数据取出。
不带参数的SAP函数调用取数 给出了不使用参数直接取数的方式。
本文为用户介绍如何从 SAP 函数中取出带有指定参数值的数据。
2. 前提条件
在使用 SAP ERP 进行取数和数据开发前,需要先建立 FineDataLink 与 SAP 系统的连接,详情参见:配置 SAP 数据连接
3. 操作步骤
存放在 SAP 系统中的 country 全量数据如下图所示:
当 LANDX 为下图值时,取出数据:
将 LANDX 满足条件的值赋值为参数,以便后续取出满足条件的数据。
由于参数有多个值,需要使用「循环容器」节点,遍历循环参数,取出所有满足条件的数据。
3.1 参数赋值
由于要取出 LANDX 为特定值的数据,需要添加「参数赋值」节点,设置满足条件的参数。
本文示例中,参数的调试值设置为 Andorra ,便于后续步骤中查看效果,该调试值不影响后续实际效果。如下图所示:
3.2 设置循环容器节点
由于参数有多个值,需要使用「循环容器」节点,遍历循环参数,取出所有满足条件的数据。
拖入「循环容器」节点,勾选参数 country ,循环方式为「遍历循环」。如下图所示:
3.3 SAP 取数
1)「循环容器」节点中拖入「数据转换」节点,进入「数据转换」节点。
2)拖入「SAP ERP 输入」算子,选择本文第二章创建好的数据连接,选择「函数调用」,输入函数。如下图所示:
2)将本文 3.1 节设置的参数填入指定的位置,如下图所示:
注:各设置项介绍请参见:SAP ERP取数概述
点击「数据预览」,可看到在参数赋值中设置的调试值「Andorra」对应的数据,如下图所示:
3.4 数据输出
1)拖入「DB表输出」算子,将处理后的数据输出到数据库表中。如下图所示:
2)写入方式选择「直接将数据写入目标表」。
3)点击右上角「保存」按钮。
4)运行任务即可。